v2.1
CData ADO.NET Provider for Zoho CRM models Zoho CRM Modules as relational tables.
Zoho CRM APIs
The Zoho CRM provider supports the following APIs to query data from the source.
- Query API: Uses COQL to query data from Zoho CRM. To use this API, set UseCOQL to True.
- Bulk API: Uses the Bulk API to query data from Zoho CRM. To use this API, set UseCOQL to False and APIType to Bulk.
- REST API: Uses REST endpoints to query data from Zoho CRM. To use this API, set UseCOQL to False and APIType to REST.
API Limitations
V2.1 of Zoho CRM imposes limits on the maximum number of rows and columns that interfacing tools such as the CData ADO.NET Provider for Zoho CRM can retrieve from its APIs.
The limits vary based on whether you're using the Query API, Bulk API, or REST API. These limits are:
- Query API: Maximum of 100,000 rows and 50 columns.
- Bulk API: Over 100,000 rows and no more than 200 columns.
- REST API: Maximum of 10,000 rows (no column limit).
API Metadata
The columns and values retrieved from tables and views vary based on whether you're using the Query API, Bulk API, or REST API. These variations are:
- Query API
- For Lookup type columns, the *_Id is displayed and has a value, but *_Name doesn't appear.
- For *Owner and *ModifiedBy columns, *_Id, *_firstname, and *_lastname are displayed and have values, but *_Name doesn't appear.
- Bulk API
- For Lookup type columns, the *_Id and _Name are displayed, but only *Id has a value.
- For *Owner and *ModifiedBy columns, *_Id, *_Name, *_firstname, and *_lastname are displayed, but *_Name has no value.
- REST API
- For Lookup type columns, the *_Id and _Name are displayed and both have values.
- For *Owner and *ModifiedBy columns, *_Id, *_Name, *_firstname, and *_lastname are displayed, but *_firstname and *_lastname have no values.
Using Query Processing
The provider offloads as much of the SELECT statement processing as possible to the Zoho CRM APIs and then processes the rest of the query in the provider. The following sections document API limitations and requirements.
Tables
The provider connects to Zoho CRM and gets the list of Tables and the metadata for the tables by calling the appropriate Web services. Any changes you make to your Zoho CRM account, such as adding a custom module, adding a custom field, or changing the data type of a field, occur immediately when you connect using the provider. Tables shows an example, based on the Zoho CRM development environment, of what the entities in your account may look like.
Note: The Bulk API is not supported by the Notes table. Due to this, if you are using the Bulk API, the provider will instead use the REST API (with its associated limitations) when working with notes data.
Views
Most Views are defined in static configuration files. Custom Views are not. Instead, custom views are dynamically retrieved by connecting to Zoho CRM, calling the appropriate Web service and retrieving the list of custom views from the metadata returned. Any changes you make to your Zoho CRM account, such as adding a new custom view, occur immediately when you connect using the provider.
To use Custom Views, set the IncludeCustomViews property to true. Its default value is false since custom views introduce an overhead when retrieving the list of tables and views.
Criteria applied in the custom view (either when creating it or when editing it in the UI) are preserved in CData Zoho CRM provider. Nonetheless, further filtering on records is available at any time.
To use Relative Views, set the IncludeRelatedLists property to true. Its default value is false since related views introduce an overhead when retrieving the list of tables and views.
The EntityId field is required to fetch related module data. This field refers to the parent module Id.
Stored Procedures
Stored Procedures provides additional capabilities in the Zoho CRM API, including working with files.