APItite LogobyRhyne Design Logo
  • Introduction

  • What is APItite

    APItite is a FREE Zoho Creator Application that makes using the Zoho CRM API really easy. APItite is a set of tools and functions that help eliminate all the mundane Zoho CRM API tasks that often cause confusion and lost project time.
    APItite takes the following variables and tasks OUT of rapidly building Zoho CRM applications.

    • Generating and saving Zoho API tickets
    • Passing tickets and apikey parameters to your Zoho CRM API requests
    • Setting up HTTP GET and POST requests
    • Passing lengthy URL parameter strings to your Zoho CRM API requests
    • PARSING JSON OR XML responses from the Zoho CRM API
    • Writing XML strings for POSTING to the Zoho CRM API
  • What's Zoho Creator?

    Zoho Creator is database software, loved by more than 400,000 users worldwide. Like Zoho CRM, Zoho Creator is hosted in the cloud. Zoho Creator is more than just a database. It's a platform on which you can build and deploy web applications in a few days to under and hour without being a web developer! Usually to build a hosted web application you would need a domain, a server to point that domain to, understanding of front-end web scripting (html, css, javascript), server-side scripting (php, ruby, .net, java, etc), AND a database. Zoho Creator with APItite let's you extend Zoho CRM to do whatever you want. Here are some possible apps you could build in just a few days using this combination...

    • Client Portals (Let clients sign in to view there orders, contact info, etc)
    • Middleware (a Zoho Creator app with no functionality but to sync another 3rd party app with Zoho CRM)
    • Mobile apps (including iphone)
    • Reporting solutions
    • Accounting systems
    • Other Zoho Creator applications
    • Web contact forms
    • Record Storage
    • Ticket/support systems
    • Email marketing
  • How do I get started?

    1. Create a Zoho Creator Account
    2. Install APItite into your Zoho Creator account through the Zoho Creator Marketplace
    3. Read the instructions below
  • What do I need to know to use APItite

    It's best if you are already familiar with Zoho Creator. You will also need some understanding of Deluge Script (Zoho Creator's proprietary, compact, unscary, scripting language resembling javascript). I will do my best to point you in the right direction when learning the needed Deluge Script skills.

  • Instructions

  • Update System Settings

    By now you should already have APItite installed in your Zoho Creator account. Now you need to setup a connection between your Zoho CRM and APItite.

    1. Open APItite and click on the "System Settings" tab
    2. Open another browser tab and login to your Zoho CRM account
    3. Once you are in your Zoho CRM account, at the top right of the browser window click on the "Setup" link
    4. From Setup click on "Admin Settings"->"Generate API Key"
    5. Generage the API key
    6. Copy the API key and paste it into the "API key" field in APItites "System Settings" form
    7. Enter your ZOHO CRM username into the "System Settings" form
    8. Enter your ZOHO CRM password into the "System Settings" form
    9. Click "update" on the "System Settings" form to save the settings
    10. Navigate to the "API Browser" tab and start playing with the API browser form to test your Zoho CRM API connection
  • Get acquainted with how APItite works

    The "raw" Zoho CRM API has set of methods for creating, reading, updating, and deleting Zoho CRM records. Normally to use these methods you have to setup an HTTP request, passing the base API URL, response format, method, and params to the HTTP POST or GET request. Then you have make the HTTP request then parse the XML or JSON response into an easy to use format or string. APItite has a Zoho Creator function for each Zoho CRM API method (the functions are named after each API method to be clear)! Each function takes care of all the above mess for you! There is no need to generate tickets, concatenate URL's, setup HTTP requests, or even parse the XML response (normally using XPath)! Take a look at image below to see the difference in formats

    Zoho CRM API methods Zoho Creator

    As you can see above APItite makes the whole request much simpler, and this image doesn't even show the script needed for sending a request and receiving a response using the raw API!

    Each APItite function has argument parameters that match the ones given in the Zoho API Methods documentation. You will quickly learn the anatomy of these functions just by using the API Browser in APItite. The API Browser let's you make "raw" calls to your Zoho CRM account to test your responses and connection. List of APItite functions and the argument parameters

    • getMyRecords(string module, int fromIndex, int toIndex, string sortColumnString, string sortOrderString)
    • getRecords(string module, int fromIndex, int toIndex, string sortColumnString, string sortOrderString)
    • getCVRecords(string module, string cvName, int fromIndex, int toIndex, string sortColumnString, string sortOrderString)
    • getSearchRecords(string module, string searchColumns, string searchCondition)
    • getSearchRecordsByPDC(string module, string selectColumns, string searchColumn, string searchValue)
    • insertRecords(string module, map value_pairs)
    • updateRecords(string module, mapvalue_pairs, int id)
  • Create & Edit Records the easy way!

    When using the "raw" insertRecords & updateRecords methods in the Zoho CRM API. You have to write out/generate an XML string to POST to the Zoho CRM API! This practice is difficult for newcomers and tedious for experienced developers. APItite takes care of all the XML generation! All you have to do is pass a simple Zoho Creator Map variable (see 'value_pairs' above). Here's a Deluge Script showing how easy it is to add a contact to your Zoho CRM

    //Deluge Script on submit of a Zoho Creator 'contact' form
    contact = map();
    contact.put("First Name",input.first_name);
    cotact.put("Last Name",input.last_name);
    contact.put("Email",input.email_address);
    contact.put("Mobile",input.mobile_phone);
    response = apitite.insertRecords("Contacts",contact);
    alert(response); //or you could log the response info(response);

    But wait, there's an even better easier way to add/edit Zoho CRM Records using Zoho Creator forms! Included in APItite is a function called utility.filterFormMap(). Using this function means never having to write the above Map()'s anymore! Instead, you prepend your Zoho Creator form fields (NOT the display labels but the actually form field names) with "zcrm_". The below script will create a map variable out of your whole form, run it through the filterFormMap() function and return a map that holds ONLY the fields prepended with "zcrm_". Now all you have to do is send the filtered values to Zoho CRM!

    Zoho Creator form fields

    //get all the fields in this form put into a list
    fields = getFieldNames();
    //create an empty map variable
    contact = map();
    //loop through that 'fields' list, put the field name, and field value into the "contact" map variable
    for each field in fields
    {
    value = getFieldValue(field);
    contact.put(field, value);
    }
    //We prepended some of our form fields with 'zcrm_' so let's filter out all the form fields that aren't prepended
    crmContact = thisapp.utility.filterFormMap(contact);
    //log a success message
    info apitite.updateRecords("Contacts", crmContact, input.contact_id);

  • Read your responses

    APItite takes care of all the parsing of Zoho CRM XML responses. The record is put into a map variable, then each map variable is put into a list. Zoho Creator doesn't support looping over a map but they do support looping over lists! Here's how to get started using your Zoho CRM responses

    //call the desired APItite function and stored the response in a variable

    myRecords = getMyRecords("Contacts",1,200,"","");
    //loop through the response we stored in 'myRecords'
    for each record in myRecords
    {
    //convert each record back to a map variable because the map is stored as a "string" right now
    recordMap = record.toMap();
    //let's insert each record into a Zoho Creator form/table
    insert into myZohoForm
    [
    Added_User = zoho.loginuser;
    first_name = recordMap.get("First Name");
    last_name = recordMap.get("Last Name");
    email = recordMap.get("Email");
    ]
    }

  • Need an app built or want help building your own app? Contact us through the Rhyne Design Website.