uploadFile methode
Inhoudsopgave
Doel
U kunt deze methode gebruiken om bestanden aan records toe te voegen.
URL van het verzoek
XML-indeling:
https://crm.zoho.com/crm/private/xml/Leads/uploadFile?authtoken=Auth Token&scope=crmapi&id=Record Id&content=File Input Stream
JSON-indeling:
https://crm.zoho.com/crm/private/json/Leads/uploadFile?authtoken=Auth Token&scope=crmapi&id=Record Id&content=File Input Stream
Parameters van het verzoek
Parameter | Gegevenstype | Beschrijving |
authtoken* | String | Versleutelde alfanumerieke tekenreeks ter verificatie van uw Zoho inloggegevens. |
scope* | String | Voer als waarde crmapi in |
id* | String | Voer de unieke ID van de ‘record' of 'note’ in waaraan het bestand moet worden toegevoegd. |
content | FileInputStream | Geef de File Input Stream van het bestand door |
attachmentUrl | String | Voeg een URL toe aan een record. |
* - Verplichte parameter
Belangrijke opmerking:
- Het bestand mag niet groter zijn dan 20 MB.
- Uw programma kan maximaal 60 uploadFile aanroepen per min. doen. Als de API-gebruiker meer dan 60 aanroepen doet, blokkeert het systeem de API toegang gedurende 5 min.
- Als het formaat groter is dan 20 MB, ontvangt u de volgende foutmelding: "File size should not exceed 20 MB". Deze limiet geldt niet voor URL's die zijn toegevoegd via attachmentUrl.
- Het toegevoegde bestand zal beschikbaar zijn in het gedeelte Attachments in de Records Details Page.
- Bestanden kunnen in alle modules aan records worden toegevoegd met uitzondering van Reports, Dashboards en Forecasts.
- In het geval van de parameter attachmentUrl, is content niet nodig omdat de bijlage afkomstig is uit een URL.
Voorbeeld voor attachmentUrl: crm/private/xml/Leads/uploadFile?authtoken=*****&scope=crmapi&id=<entity_id>&attachmentUrl=<insert_ URL>
Java-code voor het uploaden van een bestand naar een record
U kunt dit programma uitvoeren in uw Java-omgeving om een bestand naar een record te uploaden.
In het programma moet u de volgende waarden invoeren:
- Uw verificatietoken
- De ID van de record
- De URL van het uploadFile verzoek met de bovengenoemde indeling
- Het bestandspad, d.w.z. de locatie van het bestand
import java.io.*;
import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.methods.*;
import org.apache.commons.httpclient.methods.multipart.Part;
import org.apache.commons.httpclient.methods.multipart.FilePart;
import org.apache.commons.httpclient.methods.multipart.StringPart;
import org.apache.commons.httpclient.methods.multipart.MultipartRequestEntity;
import org.apache.commons.httpclient.methods.multipart.PartSource;
import org.apache.commons.httpclient.methods.multipart.ByteArrayPartSource;
{
public static void main(String a[])
{
try
{
String auth_token = "USER AUTH TOKEN";
String auth_scope = "crmapi";
String targetURL = "https://crm.zoho.com/crm/private/xml/Leads/uploadFile";
String recordId = "RECORD ID";
String file = "FILE NAME";
File f = new File(file);
FileInputStream fis = new FileInputStream(f);
ByteArrayOutputStream bos = new ByteArrayOutputStream();
int c;
while ((c = fis.read()) != -1)
{
bos.write(c);
}
byte[] fbArray = bos.toByteArray();
targetURL = targetURL + "?authtoken="+ auth_token +"&scope="+ auth_scope;
PartSource ps = new ByteArrayPartSource(file,fbArray);
PostMethod post =new PostMethod(targetURL);
Part[] fields = { new FilePart("content",ps), new StringPart("id", recordId), };
post.setRequestEntity(new MultipartRequestEntity(fields,post.getParams()));
HttpClient httpclient = new HttpClient();
httpclient.executeMethod(post);
String postResp = post.getResponseBodyAsString();
System.out.println("postResp===========> : "+postResp);
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
Voorbeeld response
<?xml version="1.0" encoding="UTF-8" ?>
<response uri="/crm/private/xml/Leads/uploadFile">
<result>
<message>File has been attached successfully</message>
<recorddetail>
<FL val="Id">335751000000578001</FL>
<FL val="Created Time">2012-06-20 14:57:34</FL>
<FL val="Modified Time">2012-06-20 14:57:34</FL>
<FL val="Created By"><![CDATA[krrish]]></FL>
<FL val="Modified By"><![CDATA[krrish]]></FL>
</recorddetail>
</result>
</response>
Limieten gegevensopslag
De gratis opslagruimte die standaard beschikbaar is in de Free Edition is 1 GB per bedrijfsaccount. Naast deze gratis 1 GB zijn dit de limieten voor gegevensopslag in iedere betaalde versie, per gebruiker.
- Professional Edition - 512 MB per gebruikerslicentie
- Standard Edition - 512 MB per gebruikerslicentie
- Enterprise Edition - 1 GB per gebruikerslicentie
- CRM Plus - 1 GB per gebruikerslicentie
- Extra bestandsopslag: USD 4/maand/ 5 GB
Voor de bestaande gebruikers zullen de herziene prijzen vanaf de volgende factuurperiode worden toegepast.