CDR
#

  • REST
  • Java

CDR
#

CDR
#

Use the CDR (Call Detail Record) API to query Voiso interaction detail records from your account using various query parameters as filters. This is identical to the Call Detail Records page in the Voiso application.

Important: You may only query CDRs for which access has been granted to you by your account privileges. Refer to Security Access Groups.

To build a CDR request, use the following APIs to get IDs and other details for these contact center objects:

Query interaction details
#

The CDR API enables you to query your contact center interaction details and export them to any Business Intelligence (BI), CRM, or other services. Use the CDR GET request to create an application that regularly queries your data.

Request example
#

The following is an example of a request:

GET /api/v2/cdr HTTP/1.1
HOST: {cluster_id}.voiso.com
Content-Type:application/json
Accept:application/json

{
  "key":"{user_api_key}",
  "page":"1",
  "per_page":"1000",
  "start_date":"2022-12-01",
  "type":"outbound"
}

Querying more than 10,000 records
#

The CDR API returns up to 10,000 results per request. You must make multiple requests to obtain more than 10,000 results, adding the search_token parameter to subsequent requests.

If your first request returns 10,000 records, but additional records match the search criteria, the response includes the search_token parameter and value. For example:

Request
#

GET /api/v2/cdr HTTP/1.1
HOST: {cluster_id}.voiso.com
Content-Type:application/json
Accept:application/json

{
  "key": "{user_api_key}",
  "page":"1",
  "per_page":"1000",
  "start_date":"2022-12-01",
  "type":"outbound"
}

Response
#

{
    "records": [ …array of records… ],
    "total":176,
    "page":1,
    "search_token": "WzE2NjkwMTcyNDkwMTUsImNkcl9pdGVtI2MzNTY2ZTFiL"
}

To continue searching the records from where you left off, enter your request again, adding the search_token parameter. For example:

GET /api/v2/cdr HTTP/1.1
HOST: {cluster_id}.voiso.com
Content-Type:application/json
Accept:application/json

{
  "key": "{user_api_key}",
  "search_token": "WzE2NjkwMTcyNDkwMTUsImNkcl9pdGVtI2MzNTY2ZTFiL",
  "page": "1",
  "per_page": "1000",
  "start_date": "2022-12-01",
  "type": "outbound"
}

Repeat the search process, replacing the search_token value with the new value in the response until the response is "search_token": null. For example:

{
    "records":[],
    "total":310,
    "search_token":null
}