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
| Field | Type | Description |
|---|---|---|
telephonyToken | string | The token received during login. |
callID | string | A unique identifier for the call. |
destinationNumber | string | The 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
| Parameter | Type | Description |
|---|---|---|
telephonyTokens | string | The 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"
}
Updated about 2 hours ago