UploadFile API Method of Zoho CRM
Table of Contents
- Purpose
- Request URL
- Request Parameters
- Python Code to Upload a file to a record
- Sample Response
Purpose
You can use this method to attach files to records.
Request URL
XML Format:
https://crm.zoho.com/crm/private/xml/Leads/uploadFile?authtoken=Auth Token&scope=crmapi&id=Record Id&content=File Input Stream
JSON Format:
https://crm.zoho.com/crm/private/json/Leads/uploadFile?authtoken=Auth Token&scope=crmapi&id=Record Id&content=File Input Stream
Request Parameters
| Parameter | Data Type | Description |
| authtoken* | String | Encrypted alphanumeric string to authenticate your Zoho credentials. |
| scope* | String | Specify the value as crmapi |
| id* | String | Specify unique ID of the “record” or “note” to which the file has to be attached. |
| content | FileInputStream | Pass the File Input Stream of the file |
| attachmentUrl | String | Attach a URL to a record. |
* – Mandatory parameter
Important Note:
- The total file size should not exceed 20 MB.
- Your program can request only up to 60 uploadFile calls per min. If API User requests more than 60 calls, system will block the API access for 5 min.
- If the size exceeds 20 MB, you will receive the following error message: “File size should not exceed 20 MB“. This limit does not apply to URLs attached via attachmentUrl.
- The attached file will be available under the Attachments section in the Record Details Page.
- Files can be attached to records in all modules except Reports, Dashboards and Forecasts.
- In the case of the parameter attachmentUrl, content is not required as the attachment is from a URL.
Example for attachmentUrl: crm/private/xml/Leads/uploadFile?authtoken=*****&scope=crmapi&id=<entity_id>&attachmentUrl=<insert_ URL>
Python Code to Upload a file to a record
Here’s a simple script that you can use to upload a file in zoho using python.
Go to https://pypi.python.org/pypi/MultipartPostHandler2/0.1.5 and get the egg file and install it.
In the program, you need to specify values for the following:
- Your Auth Token
- The ID of the Record
- The uploadFile Request URL in the format mentioned above
- The File Path i.e the location of the File
import MultipartPostHandler, urllib2
ID ='put the accounts zoho id here '
authtoken = 'your zoho authtoken here'
fileName = "your file name here - i use the full path and filename"
opener = urllib2.build_opener(MultipartPostHandler.MultipartPostHandler)
params = {'authtoken':authtoken,'scope':'crmapi','newFormat':'1','id':ID, 'content':open(fileName,"rb")}
final_URL = "https://crm.zoho.com/crm/private/json/Accounts/uploadFile"
rslts = opener.open(final_URL, params)
print rslts.read()Sample Response
{
"response":{
"result":{
"recorddetail":{
"FL":[
{
"val":"Id",
"content":"2211247000000120001"
},
{
"val":"Created Time",
"content":"2016-11-19 14:54:07"
},
{
"val":"Modified Time",
"content":"2016-11-19 14:54:07"
},
{
"val":"Created By",
"content":"mayur"
},
{
"val":"Modified By",
"content":"mayur"
}
]
},
"message":"File has been attached successfully"
},
"uri":"/crm/private/json/Accounts/uploadFile"
}
}
The post How to upload a file in Zoho using python? appeared first on Lintel Technologies Blog.