Zendesk Sell
  • 15 Aug 2024
  • 3 Minutes to read
  • Dark
    Light
  • PDF

Zendesk Sell

  • Dark
    Light
  • PDF

Article summary

Zendesk Sell API

API Documentation Link


Configuration Parameters

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 to https://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 to 2021-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
Logging in

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 nameVariable value
client_id$client_id
client_secret$client_secret

Pagination

  • Enable: Checkbox.png
  • 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
Logging in

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 nameVariable value
client_id$client_id
client_secret$client_secret

Fetch list

  • Enable: Checkbox.png
  • 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: Checkbox.png
  • 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 nameColumn value
    updated_at$incremental_starting_value
Incremental value format

When entering a Column value to the incremental key feature, you will need to use the following format: yyyy-mm-DDT00:00:00Z


Was this article helpful?

What's Next