- 15 Aug 2024
- 3 Minutes to read
- Print
- DarkLight
- PDF
Zendesk Sell
- Updated on 15 Aug 2024
- 3 Minutes to read
- Print
- DarkLight
- PDF
Zendesk Sell API
Any instance where an entry in the below configuration has a leading $ represents a parameter that needs to be replaced with a static value.
Parameters in this document:
- $client_id and $client_secret - The Client ID and Client Secret will be used to authenticate calls to the Zendesk Sell API. After registering your application, you will be assigned a unique Client ID and Client Secret, which will be exchanged for an Access Token. Make sure that when registering your application, the
Redirect URL
value is set tohttps://platform.panoply.io/sources/callback.html
. - $version - The version of the API can be found in the Zendesk Sell documentation for a given endpoint, and will be given as
v#
(e.g. v2, v3, etc.).
Please note, when using the Deals, Leads, Contacts, Notes, or Tasks endpoint, the version on the Search API that is used in the Fetch List may be different than the version used in the Base URL of the primary configuration, so be sure to verify all uses of the Version parameter are accurate in their given usage.
- $endpoint - The Endpoint represents the data that you would like to ingest into Panoply from the Zendesk Sell API. The endpoints that should be used are those that collect all records, and will utilize a name such as "Retrieve all..." (e.g. Retrieve all leads). In the case of Retrieve all leads, the endpoint value is
leads
. - $per_page - The Per Page value represents the number of records returned by the API per page. The Per Page parameter will be 100 for all resources except the following:
- Lead Conversions - 200
- Orders - 500
- Products - 500
- Visit Outcomes - 200
- $incremental_starting_value - The Incremental Starting Value represents the earliest date that data should be collected for, given in
yyyy-mm-DDT00:00:00Z
format. For example, if you would like your historical data to go back to the start of 2021, this value would be set to2021-01-01T00:00:00Z
.
API Resources
For a list of Resources available for the Zendesk Sell API, the please refer to the list of endpoints found here.
All Endpoints Except Deals, Leads, Contacts, Notes, and Tasks
Connector configuration
- Base url: https://api.getbase.com/$version/$endpoint
- Method: GET
- URL Parameters: per_page=$per_page
- Headers: {"Accept":"application/json"}
Destination Table naming convention is ultimately up to you as the data owner. One common structure used for this API is zendesk_$endpoint (e.g. when collecting the Products resource, using the Destination of zendesk_products
).
Authorization
- Authorization: OAuth2
- Authorization URL: https://api.getbase.com/oauth2/authorize
- Access Token URL: https://api.getbase.com/oauth2/token
- Client Id: {client_id}
- Client Secret: {client_secret}
- Scope: read
- Access Token header key: Authorization
- Token prefix: Bearer
- Add to: Headers
Once the configuration above is complete, you will need to click on the Login button to initiate the authentication process. At the end of the authentication process, Panoply will retrieve the relevant access and refresh tokens that will be used in the different API calls.
Variables
Variable name | Variable value |
---|---|
client_id | $client_id |
client_secret | $client_secret |
Pagination
- Enable:
- Get next page value: Static (integer to be incremented)
- Start page: 1
- Page step: 1
- Use next page value: As a URL parameter value
- URL/body key: page
- Stop iterating when: Empty data
Advanced Settings
- Data key: items[*].data
- Errors waiting time: 429=60
Deals, Leads, Contacts, Notes, and Tasks
Connector configuration
- Base url: https://api.getbase.com/$version/$endpoint/{identifier}
- Method: GET
- Headers: {"Accept":"application/json"}
Destination Table naming convention is ultimately up to you as the data owner. One common structure used for this API is zendesk_$endpoint
Authorization
- Authorization: OAuth2
- Authorization URL: https://api.getbase.com/oauth2/authorize
- Access Token URL: https://api.getbase.com/oauth2/token
- Client Id: {client_id}
- Client Secret: {client_secret}
- Scope: read
- Access Token header key: Authorization
- Token prefix: Bearer
- Add to: Headers
Once the configuration above is complete, you will need to click on the Login button to initiate the authentication process. At the end of the authentication process, Panoply will retrieve the relevant access and refresh tokens that will be used in the different API calls.
Variables
Variable name | Variable value |
---|---|
client_id | $client_id |
client_secret | $client_secret |
Fetch list
- Enable:
- Fetch List From: API
- Fetch url: https://api.getbase.com/$version/$endpoint/search
- Method: POST
- POST data: Raw JSON
- JSON:
{
"items": [{
"data": {
"query": {
"filter": {
"filter": {
"attribute": {
"name": "updated_at"
},
"parameter": {
"range": {
"gte": "{incval}"
}
}
}
}
}
, "per_page": 50
}
}]
}
- Headers: {"Accept":"application/json","Content-Type":"application/json"}
- Data key: items[*].items[*].data
- Data identifier key: id
- Enable Pagination:
- Get next page value: Dynamic (next page value included in the response)
- Next page key in response: items[0].meta.links.next_page
- Use next page value: As a parameter in body
- URL/body key: items[0].data.cursor
- Stop iterating when: No next page in response
- Use identifiers: As single value
Advanced Settings
- Data key: data
- Errors waiting time: 429=60
- Incremental Key:
Column name Column value updated_at $incremental_starting_value
When entering a Column value to the incremental key feature, you will need to use the following format: yyyy-mm-DDT00:00:00Z