{ "info": { "author": "Tim Richardson", "author_email": "tim@growthpath.com.au", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3.7", "Topic :: Text Processing :: Linguistic" ], "description": "Zoho CRM Connector\n==================\n\nZoho provides a Python SDK, but I found it a bit hard to use and it seems a bit complicated.\nFor instance, there is a dependency on mysql.\nThis module is a little more pragmatic (it uses retries) and it returns pages of results with yield.\n\nThis is basically what I consider a pragmatic library for my own purposes, so it has specific functions for doing things like creating quotes.\nThis code is based on code I have in production, where it is used to synchronise accounts, contacts and quotes with an ERP.\n\n\nInstall\n=======\n\npip install zoho_crm_connector\n\n\nAuthenticating with Zoho CRM\n============================\n\nYou need three things:\n\n1. refresh token\n2. client ID\n3. client secret\n\nThese instructions are from the documentation from Zoho for the Python SDK\n\nStep 1: Registering a Zoho Client\n---------------------------------\n\nSince Zoho CRM APIs are authenticated with OAuth2 standards, you should register your client app with Zoho. To register your app:\n\nVisit this page https://accounts.zoho.com/developerconsole.\nClick on \u201cAdd Client ID\u201d.\nEnter Client Name, Client Domain and Redirect URI.\nSelect the Client Type as \"Web based\".\nClick \u201cCreate\u201d\nYour Client app would have been created and displayed by now.\nThe newly registered app's Client ID and Client Secret can be found by clicking Options \u2192 Edit.\n(Options is the three dot icon at the right corner).\n\nNote for Sandbox:\n^^^^^^^^^^^^^^^^^\n\nYou can pass the sandbox url as the base url::\n\n zoho_crm = Zoho_crm(refresh_token=zoho_keys['refresh_token'],\n client_id=zoho_keys['client_id'],\n client_secret=zoho_keys['client_secret'],\n base_url='https://crmsandbox.zoho.com/crm/v2/',\n token_file_dir=tmp_path_factory.mktemp('zohocrm'))\n\nPlease note: Make a separate client ID for your sandbox testing.\nEven though the process of getting a grant token and then a refresh token is exactly the same,\nit seems to need a distinct client ID via the developer console.\n\nStep 2: Generating self-authorized grant and refresh token\n----------------------------------------------------------\n\nFor self client apps, the self authorized grant token should be generated from the Zoho Developer Console (https://accounts.zoho.com/developerconsole)\n\nVisit https://accounts.zoho.com/developerconsole\nClick Options \u2192 Self Client of the client for which you wish to authorize.\nEnter one or more (comma separated) valid Zoho CRM scopes that you wish to authorize in the \u201cScope\u201d field and choose the time of expiry. Provide \u201caaaserver.profile.READ\u201d scope along with Zoho CRM scopes.\nscope can be::\n\n ZohoCRM.modules.all,ZohoCRM.users.all,ZohoCRM.org.all,ZohoCRM.settings.all,aaaserver.profile.READ\n\nCopy the grant token for backup. It expires soon, so use it to make a refresh_token\n\nGenerate refresh_token from grant token by making a POST request with the URL below\nYou can't do POST requests by entering in the browser:\n\nhttps://accounts.zoho.com/oauth/v2/token?code={grant_token}&redirect_uri={redirect_uri}&client_id={client_id}&client_secret={client_secret}&grant_type=authorization_code\n\nthis works with curl:\n\n``curl -d \"code=1000.2f...68&redirect_uri=https://www.growthpath.com.au/callback&client_id=1000.ZZZZ...99&client_secret=bzz...123&grant_type=authorization_code\" -X POST https://accounts.zoho.com/oauth/v2/token``\n\nCopy the refresh token ... this doesn't expire, and it's how access is granted\n\nUsage\n=====\nSee test_zoho_crm_connector.py in tests for some examples.\n\n\nTesting\n=======\npytest needs to be installed.\n\nWarning: testing writes an access token to a temporary directory provided by pytest, on linux this is a subdirectory of /tmp.\ntesting needs a connection to zoho. Set three environment variables::\n\n refresh_token': os.getenv('ZOHOCRM_REFRESH_TOKEN'),\n client_id': os.getenv('ZOHOCRM_CLIENT_ID'),\n client_secret': os.getenv('ZOHOCRM_CLIENT_SECRET')\n\n\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/timrichardson/zoho_crm_package", "keywords": "zoho crm", "license": "GPL v3", "maintainer": "", "maintainer_email": "", "name": "zoho-crm-connector", "package_url": "https://pypi.org/project/zoho-crm-connector/", "platform": "", "project_url": "https://pypi.org/project/zoho-crm-connector/", "project_urls": { "Homepage": "https://github.com/timrichardson/zoho_crm_package" }, "release_url": "https://pypi.org/project/zoho-crm-connector/0.2.0/", "requires_dist": [ "requests" ], "requires_python": ">=3.6", "summary": "Zoho CRM connector", "version": "0.2.0" }, "last_serial": 4747655, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "3184c96ef9472fbc4fec29a61d754878", "sha256": "0d76971eccff23a757fc3703ee8824e3574705e1802bd57f753e8a33ef7acd5f" }, "downloads": -1, "filename": "zoho_crm_connector-0.1.1-py3-none-any.whl", "has_sig": false, "md5_digest": "3184c96ef9472fbc4fec29a61d754878", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 7147, "upload_time": "2019-01-24T11:44:09", "url": "https://files.pythonhosted.org/packages/80/4d/ed8ce0173719d81331f8f102ba900ccaec033da82a0436e3a5312b1c1a45/zoho_crm_connector-0.1.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "38100b9231b51c819ac62ddfda88646b", "sha256": "cc0eba650f753cd1cf4a9431ce3f8f32b08f12a465f3ec7365681c3d2d723360" }, "downloads": -1, "filename": "zoho_crm_connector-0.1.1.tar.gz", "has_sig": false, "md5_digest": "38100b9231b51c819ac62ddfda88646b", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 6023, "upload_time": "2019-01-24T11:44:12", "url": "https://files.pythonhosted.org/packages/89/eb/6601df24d7eb8564a477df9c89183c3927fc9f62c5b209ddb3288d5150d4/zoho_crm_connector-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "ffbd0dde9bdec3cdf8c977d472a885cc", "sha256": "7be54c1801fd4936d39657bb705581ccdb213cd5eb478784da1647692baf509c" }, "downloads": -1, "filename": "zoho_crm_connector-0.1.2-py3-none-any.whl", "has_sig": false, "md5_digest": "ffbd0dde9bdec3cdf8c977d472a885cc", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 7230, "upload_time": "2019-01-24T22:34:37", "url": "https://files.pythonhosted.org/packages/c0/bd/83a1cc4bfa7dfde1d28094b9356231d29590a1c2cb337b263028dcbc5e63/zoho_crm_connector-0.1.2-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "201fe33aac41966e9823d448a89763cb", "sha256": "ebea6c08a1c23058a1389fea64b5b6962f3b735b428432737d556b279afa9a0e" }, "downloads": -1, "filename": "zoho_crm_connector-0.1.2.tar.gz", "has_sig": false, "md5_digest": "201fe33aac41966e9823d448a89763cb", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 6102, "upload_time": "2019-01-24T22:34:40", "url": "https://files.pythonhosted.org/packages/60/b6/eeb5992742ecfbfb3e592aaf390a53c16b6dcd174d913a97fc8046c77837/zoho_crm_connector-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "d7de000ddbe35252026f483f461d5869", "sha256": "51b0b237247f9881a4ac882872797ef114de0c18c2cae6af060c73c7929f3f4c" }, "downloads": -1, "filename": "zoho_crm_connector-0.1.3-py3-none-any.whl", "has_sig": false, "md5_digest": "d7de000ddbe35252026f483f461d5869", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 8210, "upload_time": "2019-01-26T05:57:25", "url": "https://files.pythonhosted.org/packages/58/77/129a56be1e706917f9a0d0d3a0d437586771f8664aa48742a6411a24f1dd/zoho_crm_connector-0.1.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "21592033944061b3aa623237f57d8ac0", "sha256": "0c3318efb4c1bd7d80c3182012292d4600ac1bb9f4a65ec679cd4b360281e3af" }, "downloads": -1, "filename": "zoho_crm_connector-0.1.3.tar.gz", "has_sig": false, "md5_digest": "21592033944061b3aa623237f57d8ac0", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 7068, "upload_time": "2019-01-26T05:57:29", "url": "https://files.pythonhosted.org/packages/6f/f6/a6f11b01c76b1145804f458efee0eb79e537b9140f8b13c8d1e6fd4810be/zoho_crm_connector-0.1.3.tar.gz" } ], "0.2.0": [ { "comment_text": "", "digests": { "md5": "48ea4023f1de94e6131bfa64ff1f2bfa", "sha256": "b2f2b7b3199fd4efc3c774e454090e460553df5da3d107cc72490ce9e595b629" }, "downloads": -1, "filename": "zoho_crm_connector-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "48ea4023f1de94e6131bfa64ff1f2bfa", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 8717, "upload_time": "2019-01-28T00:58:52", "url": "https://files.pythonhosted.org/packages/c4/2e/e9dce5c38e654e7002b41ebe6253d0ee7c11e58f1fe71b928fd53930e18a/zoho_crm_connector-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0511035a901962ed71e6a6451692fafa", "sha256": "e024312d7ea77b7d328ec1d9855d66e48dc91c2d8d6622e36f21c47521e93c78" }, "downloads": -1, "filename": "zoho_crm_connector-0.2.0.tar.gz", "has_sig": false, "md5_digest": "0511035a901962ed71e6a6451692fafa", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 7748, "upload_time": "2019-01-28T00:58:54", "url": "https://files.pythonhosted.org/packages/97/21/bf638204cc610b04b08992c12adb779ea4847fbf22abd6c36490ceb5ae5e/zoho_crm_connector-0.2.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "48ea4023f1de94e6131bfa64ff1f2bfa", "sha256": "b2f2b7b3199fd4efc3c774e454090e460553df5da3d107cc72490ce9e595b629" }, "downloads": -1, "filename": "zoho_crm_connector-0.2.0-py3-none-any.whl", "has_sig": false, "md5_digest": "48ea4023f1de94e6131bfa64ff1f2bfa", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 8717, "upload_time": "2019-01-28T00:58:52", "url": "https://files.pythonhosted.org/packages/c4/2e/e9dce5c38e654e7002b41ebe6253d0ee7c11e58f1fe71b928fd53930e18a/zoho_crm_connector-0.2.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0511035a901962ed71e6a6451692fafa", "sha256": "e024312d7ea77b7d328ec1d9855d66e48dc91c2d8d6622e36f21c47521e93c78" }, "downloads": -1, "filename": "zoho_crm_connector-0.2.0.tar.gz", "has_sig": false, "md5_digest": "0511035a901962ed71e6a6451692fafa", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 7748, "upload_time": "2019-01-28T00:58:54", "url": "https://files.pythonhosted.org/packages/97/21/bf638204cc610b04b08992c12adb779ea4847fbf22abd6c36490ceb5ae5e/zoho_crm_connector-0.2.0.tar.gz" } ] }