Quantcast
Channel: Planet Python
Viewing all articles
Browse latest Browse all 22462

Lintel Technologies: How to upload a file in Zoho using python?

$
0
0

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

ParameterData TypeDescription
authtoken*StringEncrypted alphanumeric string to authenticate your Zoho credentials.
scope*StringSpecify the value as crmapi
id*StringSpecify unique ID of the “record” or “note” to which the file has to be attached.
contentFileInputStreamPass the File Input Stream of the file
attachmentUrlStringAttach 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.


Viewing all articles
Browse latest Browse all 22462

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>