Telephony SDK API

The Telephony SDK API provides comprehensive telephony and CTI functionality, enabling applications to control phone systems, manage calls, and integrate with predictive dialers. This API supports inbound/outbound calling, call transfer, agent status management, and real-time event handling.


Authentication and Login

POST /Advanced Dialer/api/telephony/requestlogin

Initiates a telephony session by associating a user with a telephone extension.

Example Request

curl --request POST \
     --url 'https://api.talkdeskapp.com/Advanced Dialer/api/telephony/requestlogin' \
     --header 'Authorization: Bearer YOUR_OAUTH_TOKEN' \
     --header 'Content-Type: application/json' \
     --data '{
  "username": "john.smith",
  "extension": "1001",
  "telephonyPlatform": "Advanced DialerVoicePlatform",
  "proxyPath": "/webphone/",
  "webHookUri": "https://your-app.com/webhook",
  "webHookSecret": "your-webhook-secret"
}'

Response Example

{
  "statusCode": 0,
  "message": "Login successful",
  "payload": {
    "telephonyToken": "tel_abc123def456",
    "webPhone": true,
    "webPhoneUrl": "https://your-instance.com/webphone/agent.html?token=tel_abc123def456",
    "extensionNumber": "1001",
    "telephonyPlatform": "Advanced DialerVoicePlatform"
  }
}

Make Outbound Call

POST /Advanced Dialer/api/telephony/dial

Initiates an outbound call from the agent's extension.

Request Body

FieldTypeDescription
telephonyTokenstringThe token received during login.
callIDstringA unique identifier for the call.
destinationNumberstringThe E.164 formatted number to dial.
curl --request POST \
     --url 'https://api.talkdeskapp.com/Advanced Dialer/api/telephony/dial' \
     --header 'Content-Type: application/json' \
     --data '{
  "telephonyToken": "tel_abc123def456",
  "callID": "call_unique_12345",
  "destinationNumber": "+1-555-123-4567",
  "originatingNumber": "+1-555-999-0000",
  "customerEntity": "SALES",
  "customerID": "CUST_001",
  "listID": 101,
  "appInstanceID": "app_instance_789"
}'

Answer Inbound Call

POST /Advanced Dialer/api/telephony/answer

Answers an offered inbound call.

Request Body

{
  "telephonyToken": "tel_abc123def456",
  "callID": "call_inbound_67890"
}

Call Transfer

POST /Advanced Dialer/api/telephony/initiatecalltransfer

Initiates a call transfer (blind, consultation, or conference).

Request Body

{
  "telephonyToken": "tel_abc123def456",
  "callID": "call_unique_12345",
  "destinationNumber": "+1-555-777-8888",
  "type": "consultation"
}

Event Polling

GET /Advanced Dialer/api/events/pollevent

Polls for real-time telephony events including call status changes, system messages, and dialer updates.

Query Parameters

ParameterTypeDescription
telephonyTokensstringThe telephony token for the session.

Response Example

{
  "statusCode": 0,
  "events": [
    {
      "discriminator": "CallConnectedEvent",
      "telephonyToken": "tel_abc123def456",
      "callID": "call_unique_12345",
      "direction": "outbound",
      "customerNumber": "+1-555-123-4567",
      "customerFields": [
        { "name": "Company Name", "value": "Acme Corporation" }
      ]
    }
  ]
}

Agent Status Management

Set On Break

POST /Advanced Dialer/api/telephony/requestbreak

Places the agent on break with a specified reason.

{
  "telephonyToken": "tel_abc123def456",
  "breakReasonid": 3
}

Set Ready

POST /Advanced Dialer/api/telephony/setready

Makes the agent available to receive calls.

{
  "telephonyToken": "tel_abc123def456"
}