In this section of the documentation we’re going to describe how to work with our API by covering a few basic examples. The examples primarily relate to a push integration, but all integration methods available to you are detailed in the final section.
<aside> <img src="/icons/info-alternate_green.svg" alt="/icons/info-alternate_green.svg" width="40px" />
Note that the purpose of it is not to cover every single detail of the API and its methods. For that, the appropriate resource is the API reference.
</aside>
Our API uses REST with JSON-encoded content both in the requests and responses.
For that, we recommend setting the following headers in all your requests:
Content-Type: "application/json"
Accept: "application/json"
The base URL were we build all our documentation in top of is:
<https://api.edgetier.com>
All the requests to this API require to be authenticated. In order to do so, you’ll need to get a key pair from some EdgeTier staff.
Once you get your API client ID and secret, you can use a standard OAuth2 approach to get a token to authenticate your other requests. You just need to issue a POST request to /oauth2/token with the following data on it:
{
"client_id": "<your-client-ID",
"client_secret": "<your-client-secret",
"grant_type": "client_credentials",
}
And that will return a valid bearer token that you will just need to include in your requests as a header.
Authorization: "Bearer <your-token>"
Interactions are the central object of our system. They represent any instance of communication between a contact centre and a customer, including chats, emails, calls, etc. (Check Interaction Types for more information).
To create a new interaction we need to issue a POST to /interactions:
interaction_content = {
"interactionType": "chat",
"subject": "Customer Support Chat",
"externalReference": "{\"external_id\": \"external_system_1234\"}",
"url": "<https://external-source.com/conversations/12345>", # URL of the chat in the source system
"startDateTime": "2025-02-25T14:00:00Z", # Date in ISO 8601 format
"enterQueueDateTime": "2025-02-25T14:00:00Z", # Date in ISO 8601 format
"exitQueueDateTime": "2025-02-25T14:02:00Z", # Date in ISO 8601 format
"endDateTime": "2025-02-25T14:23:00Z", # Date in ISO 8601 format
"languageIsoCode": "en" # two letter ISO 639 format
"senderEmail": "[email protected]", # Customer email
"senderName": "John Doe", # Customer name
}
response = api_client.post("/interactions", interaction_content)