Endpoint Read [Dynamic Endpoint]
Name
get_[dynamic_endpoint_name]
Description
This endpoint reads records using bulk approach. Default API Version is V2 (set connection level) and its almost 2 times faster than higher API version (e.g. V3+) but V2 may return less number of columns compared to new API versions (e.g. v3...v7+). API V2 makes less number of requests and returns more records per call (200 rows), on the other side V3+ has limits of max 50 fields in each Get Records API calls. To avoid this limitation in V3+ API we used /{module}?ids={150 ids} workaround but this is still slower compred to older API (v2) approach. Choose new API if you have a valid reason (e.g. you need additional new columns exposed in v3+) else stick with older version V2 (its default setting) [API reference]
Related Tables
Parameters
| Parameter | Required | Options | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Name:
Label: Module |
||||||||||||
|
Name:
Label: Fetch records modified after (local time format: yyyy-MM-ddTHH:mm:ss) Supply this DateTime (Local Time in ISO 8601 format) - To get the list of recently modified records after this datetime. |
||||||||||||
|
Name:
Label: Custom View ID To get the list of records based on custom views. |
||||||||||||
|
Name:
Label: Fields (Only for V2 API) To retrieve specific field values. Kepp blank to get all fields. |
||||||||||||
|
Name:
Label: sort_by Specify the field name based on which the records must be sorted. |
||||||||||||
|
Name:
Label: sort_order To sort the list of records in either ascending or descending order. |
|
|||||||||||
|
Name:
Label: territory_id To get the list of records in a territory. Use get_territories endpoint to list Id and names. |
||||||||||||
|
Name:
Label: include_child To include records from the child territories. Default is false. |
|
|||||||||||
|
Name:
Label: converted converted |
|
|||||||||||
|
Name:
Label: Return Approved Records To get the list of approved records. Default value is true. |
|
|||||||||||
|
Name:
Label: PageSize |
|
Output Columns
| Label | Data Type (SSIS) | Data Type (SQL) | Length | Description |
|---|---|---|---|---|
| Id |
DT_WSTR
|
nvarchar(25)
|
25 | |
| -Dynamic- |
DT_WSTR
|
nvarchar(4000)
|
4000 | |
| [$parent.api_name$] |
DT_WSTR
|
nvarchar(4000)
|
4000 | |
| [$parent.api_name$]_Id |
DT_WSTR
|
nvarchar(4000)
|
4000 | |
| Created_By_Id |
DT_WSTR
|
nvarchar(25)
|
25 | |
| Created_By_Email |
DT_WSTR
|
nvarchar(255)
|
255 | |
| Created_By_Name |
DT_WSTR
|
nvarchar(255)
|
255 | |
| Modified_By_Id |
DT_WSTR
|
nvarchar(25)
|
25 | |
| Modified_By_Email |
DT_WSTR
|
nvarchar(255)
|
255 | |
| Modified_By_Name |
DT_WSTR
|
nvarchar(255)
|
255 | |
| Owner_Id |
DT_WSTR
|
nvarchar(25)
|
25 | |
| Owner_Email |
DT_WSTR
|
nvarchar(255)
|
255 | |
| Owner_Name |
DT_WSTR
|
nvarchar(255)
|
255 | |
| $approval_state |
DT_WSTR
|
nvarchar(20)
|
20 | |
| $approved |
DT_BOOL
|
bit
|
||
| $state |
DT_WSTR
|
nvarchar(50)
|
50 |
Input Columns
| Label | Data Type (SSIS) | Data Type (SQL) | Length | Description | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| There are no Static columns defined for this endpoint. This endpoint detects columns dynamically at runtime. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Examples
SSIS
Use Zoho CRM Connector in API Source or in API Destination SSIS Data Flow components to read or write data.
API Source
This Endpoint belongs to the [Dynamic Table] table, therefore it is better to use it, instead of accessing the endpoint directly:
| Optional Parameters | |
|---|---|
| Module | [$parent.api_name$] |
| Fetch records modified after (local time format: yyyy-MM-ddTHH:mm:ss) | 1900-12-31T00:00:00 |
| Custom View ID | |
| DisableChildEndPoint | True |
| FieldsValue | id |
| Fields (Only for V2 API) | |
| sort_by | |
| sort_order | |
| territory_id | |
| include_child | |
| converted | |
| PagingMode | ByUrlParameter |
| NextUrlAttributeOrExpr | $.info.next_page_token |
| NextUrlSuffix | page_token=<%nextlink%> |
API Destination
This Endpoint belongs to the [Dynamic Table] table, therefore it is better to use it, instead of accessing the endpoint directly. Use this table and table-operation pair to read [dynamic endpoint]:
| Optional Parameters | |
|---|---|
| Module | [$parent.api_name$] |
| Fetch records modified after (local time format: yyyy-MM-ddTHH:mm:ss) | 1900-12-31T00:00:00 |
| Custom View ID | |
| DisableChildEndPoint | True |
| FieldsValue | id |
| Fields (Only for V2 API) | |
| sort_by | |
| sort_order | |
| territory_id | |
| include_child | |
| converted | |
| PagingMode | ByUrlParameter |
| NextUrlAttributeOrExpr | $.info.next_page_token |
| NextUrlSuffix | page_token=<%nextlink%> |
ODBC application
Use these SQL queries in your ODBC application data source:
Read all rows
SELECT * from Accounts
Read reacord(s) modified after certain date
SELECT * from Accounts WITH(ModifiedSince = '2020-01-07T00:00:00')
Search accounts by specific field (server side filter)
You can use criteria listed here https://www.zoho.com/crm/developer/docs/api/v2/search-records.html
SELECT * FROM search_Accounts WITH(criteria='Account_Name:starts_with:test')
get_[dynamic_endpoint_name] endpoint belongs to
[Dynamic Table]
table(s), and can therefore be used via those table(s).
SQL Server
Use these SQL queries in SQL Server after you create a data source in Data Gateway:
Read all rows
DECLARE @MyQuery NVARCHAR(MAX) = 'SELECT * from Accounts';
EXEC (@MyQuery) AT [LS_TO_ZOHO_CRM_IN_GATEWAY];
Read reacord(s) modified after certain date
DECLARE @MyQuery NVARCHAR(MAX) = 'SELECT * from Accounts WITH(ModifiedSince = ''2020-01-07T00:00:00'')';
EXEC (@MyQuery) AT [LS_TO_ZOHO_CRM_IN_GATEWAY];
Search accounts by specific field (server side filter)
You can use criteria listed here https://www.zoho.com/crm/developer/docs/api/v2/search-records.html
DECLARE @MyQuery NVARCHAR(MAX) = 'SELECT * FROM search_Accounts WITH(criteria=''Account_Name:starts_with:test'')';
EXEC (@MyQuery) AT [LS_TO_ZOHO_CRM_IN_GATEWAY];
get_[dynamic_endpoint_name] endpoint belongs to
[Dynamic Table]
table(s), and can therefore be used via those table(s).