Examples

The Version 1.0 of Zoho CRM APIs are in the End-of-Life period and will be deprecated on Dec 31, 2018. We recommend you to check out the new and better API 2.0.

Examples

 1. Fetch Records from the "Leads" Module

 Programming Language

  • JAVA

 Prerequisite

 Code Snippet

import org.apache.commons.httpclient.*;
import org.apache.commons.httpclient.methods.*;

public class GetRecords
{
    public static void main(String a[])
    {   
        try   
        {      
           String authtoken = "AUTHTOKEN";
           String targetURL = "https://crm.zoho.com/crm/private/xml/Leads/getRecords";
           PostMethod post = new PostMethod(targetURL);
           post.setParameter("authtoken",authtoken);
           post.setParameter("scope","crmapi");
           HttpClient httpclient = new HttpClient();
           httpclient.executeMethod(post);
           String postResp = post.getResponseBodyAsString();
           System.out.println("The Response from the server : "+postResp);
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }   
    }
}

 2. Fetch Records from the "Leads" Module

 Programming Language

  • PHP

 Prerequisite

  • LAMP or WAMP

 Code Snippet

<?php

              header("Content-type: application/xml");
              $token="AUTHTOKEN";
              $url = "https://crm.zoho.com/crm/private/xml/Leads/getRecords";
              $param= "authtoken=".$token."&scope=crmapi";
              $ch = curl_init();
              curl_setopt($ch, CURLOPT_URL, $url);
              curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
              curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
              curl_setopt($ch, CURLOPT_TIMEOUT, 30);
              curl_setopt($ch, CURLOPT_POST, 1);
              curl_setopt($ch, CURLOPT_POSTFIELDS, $param);
              $result = curl_exec($ch);
              curl_close($ch);
              echo $result;
              return $result;

?>

 3. Fetch Records from the "Leads" Module

 Programming Language

  • Python

 Prerequisite

  • Python 2.7.3

 Code Snippet

import urllib
import urllib2
module_name = 'Leads'
authtoken = 'Your authtoken'
params = {'authtoken':authtoken,'scope':'crmapi'}
final_URL = "https://crm.zoho.com/crm/private/xml/"+module_name+"/getRecords"
data = urllib.urlencode(params)
request = urllib2.Request(final_URL,data)
response = urllib2.urlopen(request)
xml_response = response.read()
print xml_response

 4. API Example in C#

 Programming Language

  • C#

 Prerequisite

  • C#

 Code Snippet

using System;
using System.Net;
using System.IO;
using System.Web;
using System.Text;
using System.Net.Security;
public class ZohoCRMAPI
{
public static string zohocrmurl = "https://crm.zoho.com/crm/private/xml/";
public static void Main (string[] args)
{
string result = APIMethod("Leads","getRecords","508020000000332001");//Change the id,method name, and module name here
Console.Write(result);
}
public static String APIMethod(string modulename,string methodname,string recordId)
{
string uri = zohocrmurl + modulename + "/"+methodname+"?";
/* Append your parameters here */
string postContent = "scope=crmapi";
postContent = postContent + "&authtoken=0ac32dc177c4918eca902fd290a92f4a";//Give your authtoken
if (methodname.Equals("insertRecords") || methodname.Equals("updateRecords"))
{
postContent = postContent + "&xmlData="+ HttpUtility.UrlEncode("Your CompanyHannahSmithtesting@testing.com");
}
if (methodname.Equals("updateRecords") || methodname.Equals("deleteRecords") || methodname.Equals("getRecordById"))
{
postContent = postContent + "&id="+recordId;
}
string result = AccessCRM(uri, postContent);
return result;
}
public static string AccessCRM(string url, string postcontent)
{
WebRequest request = WebRequest.Create(url);
request.Method = "POST";
byte[] byteArray = Encoding.UTF8.GetBytes(postcontent);
request.ContentType = "application/x-www-form-urlencoded";
request.ContentLength = byteArray.Length;
Stream dataStream = request.GetRequestStream();
dataStream.Write(byteArray, 0, byteArray.Length);
dataStream.Close();
WebResponse response = request.GetResponse();
dataStream = response.GetResponseStream();
StreamReader reader = new StreamReader(dataStream);
string responseFromServer = reader.ReadToEnd();
reader.Close();
dataStream.Close();
response.Close();
return responseFromServer;
}
}

 5. Insert Products into Invoice

API Method: insertRecords

XML Format:
https://crm.zoho.com/crm/private/xml/Invoices/insertRecords?authtoken=Auth Token&scope=crmapi

XML Data:

<Invoices>
   <row no="1">
       ...all other invoice attributes...
        <FL val="Product Details">
            <product no="1">
                <FL val="Product Id">___your_zoho_productId___</FL>
                <FL val="Product Name">___your_zoho_product_name___</FL>
                <FL val="Quantity">1</FL>
                <FL val="List Price">1.00</FL>
                <FL val="Discount">0</FL>
                <FL val="Total">1.00</FL>
                <FL val="Total After Discount">1.00</FL>
                <FL val="Tax">0</FL>
                <FL val="Net Total">1.00</FL>
            </product>
       </FL>
      ...any other invoice attributes...
    </row>
</Invoices>

 6. Creating Potential with an existing Account

API Method: insertRecords

XML Format:
https://crm.zoho.com/crm/private/xml/Leads/insertRecords?authtoken=Auth Token&scope=crmapi

XML Data:

<Potentials>
<row no="1">
<FL val="Potential Name">First Potential</FL>
<FL val="Description">description of the potential</FL>
<FL val="Closing Date"> 01/04/2009 </FL>
<FL val=" ACCOUNTID" >Your__Account__ID</FL>
<FL val="Email">test@test.test</FL>
<FL val="Stage">"-data-"</FL>
<FL val="boolean flag">TRUE</FL>
<FL val="product">FREE</FL>
<FL val="Date of Birth"> 01/01/1970</FL>
<FL val="Mailing City">Germany</FL>
</row>
</Potentials>

 7. Insert Date Fields

API Method: insertRecords

XML Format:
https://crm.zoho.com/crm/private/xml/Accounts/insertRecords?authtoken=Auth Token&scope=crmapi

XML Data:

<Accounts>
<row no="1">
<FL val="Account Name">TestUser</FL>
<FL val="Email">test@test.test</FL>
<FL val="boolean flag">TRUE</FL>
<FL val="First contact">01/01/2009</FL>

<FL val="Last Login">05/10/2009</FL>
</row>
</Accounts>

Note:

Date must be in MM/dd/yyyy format. Whereas Date & Time must be in yyyy-MM-dd HH:mm:ss format.
 

 8. Insert Products into Invoice

API Method: insertRecords

XML Format:
https://crm.zoho.com/crm/private/xml/Leads/insertRecords?
authtoken=Auth Token&scope=crmapi

XML Data:

<Invoices>
<row no="1">
...all other invoice attributes...
<FL val="Product Details">
<product no="1">
<FL val="Product Id">___your_zoho_productId___</FL>
<FL val="Product Name">___your_zoho_product_name___</FL>
<FL val="Quantity">1</FL>
<FL val="List Price">1.00</FL>
<FL val="Discount">0</FL>
<FL val="Total">1.00</FL>
<FL val="Total After Discount">1.00</FL>
<FL val="Tax">0</FL>
<FL val="Net Total">1.00</FL>
</product>
</FL> ...any other invoice attributes...
</row>
</Invoices>

 9. Generate Authentication Token using PHP

<?php
$username = "testUsername";
$password = "testPassword";
$param = "SCOPE=ZohoCRM/crmapi&EMAIL_ID=".$username."&PASSWORD=".$password;
$ch = curl_init("https://accounts.zoho.com/apiauthtoken/nb/create");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $param);
$result = curl_exec($ch);
/*This part of the code below will separate the Authtoken from the result.
Remove this part if you just need only the result*/
$anArray = explode("\n",$result);
$authToken = explode("=",$anArray['2']);
$cmp = strcmp($authToken['0'],"AUTHTOKEN");
echo $anArray['2'].""; if ($cmp == 0)
{
echo "Created Authtoken is : ".$authToken['1'];
return $authToken['1'];
}
curl_close($ch);
?>

 10. To Update List Price of a Product using Python

import urllib
import urllib2
#You should have the price book id and product id, for using this API.
authtoken = 'Your authtoken'
pricebook_id = '508020142132343432'
product_id = '508020014316189251'
list_price = '900'
params = {'authtoken':authtoken,'scope':'crmapi','id':pricebook_id,'xmlData':''+product_id+''
+list_price+'','relatedModule':'Products'}
final_URL = "https://crm.zoho.com/crm/private/xml/PriceBooks/updateRelatedRecords"
data = urllib.urlencode(params)
request = urllib2.Request(final_URL,data)
response = urllib2.urlopen(request)
xml_response = response.read()
print xml_response

Share this post : FacebookTwitter

Still can't find what you're looking for?

Write to us: support@zohocrm.com