Zoho.com is a set of web applications - for communication, collaboration, and documents management (documents, sheets, presentations/slides). There are two APIs available for those apps - Data API used on documents and data stored on Zoho apps, that you use, and Remote API that is used on documents stored on your server. The Data API allows more collaboration, and getting precise sets of data (look at CloudSQL). Remote API allows you to use Zoho editors (Writer, Sheet, Show and others) to edit documents (doc, odt, ppt, odp, xls, ods and many more) on your site. More on api.wiki.zoho.com.
pyCurl and Zoho Remote API
In this article we will use the Zoho Remo API to implement document edition in a Django powered website. To use a remote API call you have to POST a multi-part request to the API url containing the file content, and required data. In Python the best library for this task is pycurl. Here is an example how to "open" a document in the Zoho editor: On success the API will return a JavaScript code that will open the Zoho Writer editor in the browser with the document. content is the document content, filename is the document filename, id is a unique ID used to identify the file (on saves for example), format - format to which the document will be saved, saveurl - URL of a page on you website that will handle saving new versions of files (of course it won't work for localhost). You will find full docs on the wiki: Show (slides), Writer i Sheet.Document editing in a Django App



Sheet and slides
Remote API for Zoho Sheet and Zoho Show is more simple. You can use the editor, but the API won't return the JS code. Instead you will get the editor URL in response headers (Location header). To handle that we have to use pycurl slightly different: Instead of getting the response body we now collect response headers, and if there is "Location" header - we extract the URL and use it to show the editor in an iframe:

Zoho Data API and CloudSQL
The Data API won't let us use the editors on our websites, but it allows us to manipulate files and data stored in the zoho apps we use. The most interesting for app-making is the data stored in Zoho Reports (and Sheets). Using CloudSQL we can query data saved in sheets and process it in out apps (make reports, whatever). You can check Get Started with Zoho CloudSQL in 4 easy steps.
Here is an example CloudSQL usage with the Python library from Zoho, that maps most of the SQL to objects: You can get the database and table name from the Reports app:

