Asynchronous wrapper for Zoho's numerous APIs
Project description
A python wrapper library for Zoho API calls which aims to unify the API for the different Zoho Products (CRM, Support, Projects etc).
The library is written using asynchronous interface i.e.
from talkzoho import crm
async def main():
account = await crm.get_account(id='7030050000019540342', auth_token='xxx')
However, Talk Zoho also provides the helper function talkzoho.utils.wait for usage in synchronous code.
from talkzoho import crm
from talkzoho.utils import wait
account = wait(crm.get_account, id='7030050000019540342', auth_token='xxx')
Installation
pip install talkzoho
Example Usage
from talkzoho import crm
async def main():
# Get Account
account = await crm.get_account(id='7030050000019540342', auth_token='xxx')
# Insert Lead
bill = {
'First Name': 'Bill',
'Last Name': 'Billson'}
lead_id = await crm.insert_lead(bill, auth_token='xxx')
# Filter Leads
bills = await crm.filter_leads(term='Bill', limit=1, auth_token='xxx')
# Update Contact
jill = {
'CONTACTID': '7030050000019540536',
'First Name': 'Jill',
'Last Name': 'Jillson'}
contact_id = await crm.update_contact(jill, auth_token='xxx')
# Delete Contact
success = await crm.delete_contact(id='7030050000019540536', auth_token='xxx')
Error Handling
Zoho use a number of ways to inform the client of errors. For example, CRM always returns a 200 status code with a error message and code in the body, where as books will return more standard looking HTTP errors. Talk Zoho tries to unify these and raises a tornado.web.HTTPError. Talk Zoho will also map the Zoho specific codes to their HTTP status code equivalent.
NOTE: Deleting a CRM record (with a correct-looking id) will never return an error.This is the behavior of Zoho’s CRM API.
from talkzoho import crm
from tornado.web import HTTPError
async def main():
try:
account = await crm.get_account(id='1234', auth_token='xxx')
except HTTPError as http_error:
# HTTPError(404, reason='No record available with the specified record ID.')
print(http_error)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file talkzoho-0.9.7.tar.gz
.
File metadata
- Download URL: talkzoho-0.9.7.tar.gz
- Upload date:
- Size: 12.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5d986565e1377ad94004f0514541fde14655732e110266ba005e5eb33f3d3b26 |
|
MD5 | 3102bed3f53ac1e4a7ec268c75644265 |
|
BLAKE2b-256 | c3faec1105c6d95f9c3fa3f5b196ce0a565e5d7f4416603c1a5690012ff4b75a |