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.