telnyx-voice-advanced-javascript

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese
<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->
<!-- 由Telnyx OpenAPI规范自动生成,请勿编辑。 -->

Telnyx Voice Advanced - JavaScript

Telnyx 高级语音功能 - JavaScript

Installation

安装

bash
npm install telnyx
bash
npm install telnyx

Setup

配置

javascript
import Telnyx from 'telnyx';

const client = new Telnyx({
  apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted
});
All examples below assume
client
is already initialized as shown above.
javascript
import Telnyx from 'telnyx';

const client = new Telnyx({
  apiKey: process.env['TELNYX_API_KEY'], // 这是默认配置,可省略
});
以下所有示例均假设
client
已按上述方式完成初始化。

Error Handling

错误处理

All API calls can fail with network errors, rate limits (429), validation errors (422), or authentication errors (401). Always handle errors in production code:
javascript
try {
  const result = await client.messages.send({ to: '+13125550001', from: '+13125550002', text: 'Hello' });
} catch (err) {
  if (err instanceof Telnyx.APIConnectionError) {
    console.error('Network error — check connectivity and retry');
  } else if (err instanceof Telnyx.RateLimitError) {
    // 429: rate limited — wait and retry with exponential backoff
    const retryAfter = err.headers?.['retry-after'] || 1;
    await new Promise(r => setTimeout(r, retryAfter * 1000));
  } else if (err instanceof Telnyx.APIError) {
    console.error(`API error ${err.status}: ${err.message}`);
    if (err.status === 422) {
      console.error('Validation error — check required fields and formats');
    }
  }
}
Common error codes:
401
invalid API key,
403
insufficient permissions,
404
resource not found,
422
validation error (check field formats),
429
rate limited (retry with exponential backoff).
所有API调用都可能因网络错误、速率限制(429)、验证错误(422)或身份验证错误(401)而失败。在生产代码中务必处理错误:
javascript
try {
  const result = await client.messages.send({ to: '+13125550001', from: '+13125550002', text: 'Hello' });
} catch (err) {
  if (err instanceof Telnyx.APIConnectionError) {
    console.error('Network error — check connectivity and retry');
  } else if (err instanceof Telnyx.RateLimitError) {
    // 429: rate limited — wait and retry with exponential backoff
    const retryAfter = err.headers?.['retry-after'] || 1;
    await new Promise(r => setTimeout(r, retryAfter * 1000));
  } else if (err instanceof Telnyx.APIError) {
    console.error(`API error ${err.status}: ${err.message}`);
    if (err.status === 422) {
      console.error('Validation error — check required fields and formats');
    }
  }
}
常见错误码:
401
API密钥无效,
403
权限不足,
404
资源未找到,
422
验证错误(检查字段格式),
429
速率受限(使用指数退避策略重试)。

Join AI Assistant Conversation

加入AI助手对话

Add a participant to an existing AI assistant conversation. Use this command to bring an additional call leg into a running AI conversation.
POST /calls/{call_control_id}/actions/ai_assistant_join
— Required:
conversation_id
,
participant
Optional:
client_state
(string),
command_id
(string)
javascript
const response = await client.calls.actions.joinAIAssistant('call_control_id', {
  conversation_id: 'v3:abc123',
  participant: { id: 'v3:abc123def456', role: 'user' },
});

console.log(response.data);
Returns:
conversation_id
(uuid),
result
(string)
将参与者添加到现有的AI助手对话中。使用此命令可将额外的呼叫分支加入正在进行的AI对话。
POST /calls/{call_control_id}/actions/ai_assistant_join
— 必填参数:
conversation_id
participant
可选参数:
client_state
(字符串)、
command_id
(字符串)
javascript
const response = await client.calls.actions.joinAIAssistant('call_control_id', {
  conversation_id: 'v3:abc123',
  participant: { id: 'v3:abc123def456', role: 'user' },
});

console.log(response.data);
返回结果:
conversation_id
(uuid)、
result
(字符串)

Update client state

更新客户端状态

Updates client state
PUT /calls/{call_control_id}/actions/client_state_update
— Required:
client_state
javascript
const response = await client.calls.actions.updateClientState('call_control_id', {
  client_state: 'aGF2ZSBhIG5pY2UgZGF5ID1d',
});

console.log(response.data);
Returns:
result
(string)
更新客户端状态
PUT /calls/{call_control_id}/actions/client_state_update
— 必填参数:
client_state
javascript
const response = await client.calls.actions.updateClientState('call_control_id', {
  client_state: 'aGF2ZSBhIG5pY2UgZGF5ID1d',
});

console.log(response.data);
返回结果:
result
(字符串)

Send DTMF

发送DTMF

Sends DTMF tones from this leg. DTMF tones will be heard by the other end of the call. Expected Webhooks:
There are no webhooks associated with this command.
POST /calls/{call_control_id}/actions/send_dtmf
— Required:
digits
Optional:
client_state
(string),
command_id
(string),
duration_millis
(int32)
javascript
const response = await client.calls.actions.sendDtmf('call_control_id', { digits: '1www2WABCDw9' });

console.log(response.data);
Returns:
result
(string)
从当前呼叫分支发送DTMF音,通话另一端会听到该音。预期Webhook:
此命令无关联Webhook。
POST /calls/{call_control_id}/actions/send_dtmf
— 必填参数:
digits
可选参数:
client_state
(字符串)、
command_id
(字符串)、
duration_millis
(int32)
javascript
const response = await client.calls.actions.sendDtmf('call_control_id', { digits: '1www2WABCDw9' });

console.log(response.data);
返回结果:
result
(字符串)

SIPREC start

启动SIPREC

Start siprec session to configured in SIPREC connector SRS.
Expected Webhooks:
  • siprec.started
  • siprec.stopped
  • siprec.failed
POST /calls/{call_control_id}/actions/siprec_start
Optional:
client_state
(string),
connector_name
(string),
include_metadata_custom_headers
(boolean),
secure
(boolean),
session_timeout_secs
(integer),
sip_transport
(enum: udp, tcp, tls),
siprec_track
(enum: inbound_track, outbound_track, both_tracks)
javascript
const response = await client.calls.actions.startSiprec('v3:550e8400-e29b-41d4-a716-446655440000_gRU1OGRkYQ');

console.log(response.data);
Returns:
result
(string)
启动SIPREC会话,需预先在SIPREC连接器SRS中配置。
预期Webhook:
  • siprec.started
  • siprec.stopped
  • siprec.failed
POST /calls/{call_control_id}/actions/siprec_start
可选参数:
client_state
(字符串)、
connector_name
(字符串)、
include_metadata_custom_headers
(布尔值)、
secure
(布尔值)、
session_timeout_secs
(整数)、
sip_transport
(枚举:udp, tcp, tls)、
siprec_track
(枚举:inbound_track, outbound_track, both_tracks)
javascript
const response = await client.calls.actions.startSiprec('v3:550e8400-e29b-41d4-a716-446655440000_gRU1OGRkYQ');

console.log(response.data);
返回结果:
result
(字符串)

SIPREC stop

停止SIPREC

Stop SIPREC session. Expected Webhooks:
  • siprec.stopped
POST /calls/{call_control_id}/actions/siprec_stop
Optional:
client_state
(string),
command_id
(string)
javascript
const response = await client.calls.actions.stopSiprec('v3:550e8400-e29b-41d4-a716-446655440000_gRU1OGRkYQ');

console.log(response.data);
Returns:
result
(string)
停止SIPREC会话。预期Webhook:
  • siprec.stopped
POST /calls/{call_control_id}/actions/siprec_stop
可选参数:
client_state
(字符串)、
command_id
(字符串)
javascript
const response = await client.calls.actions.stopSiprec('v3:550e8400-e29b-41d4-a716-446655440000_gRU1OGRkYQ');

console.log(response.data);
返回结果:
result
(字符串)

Noise Suppression Start (BETA)

启动噪声抑制(测试版)

POST /calls/{call_control_id}/actions/suppression_start
Optional:
client_state
(string),
command_id
(string),
direction
(enum: inbound, outbound, both),
noise_suppression_engine
(enum: Denoiser, DeepFilterNet, Krisp, AiCoustics),
noise_suppression_engine_config
(object)
javascript
const response = await client.calls.actions.startNoiseSuppression('v3:550e8400-e29b-41d4-a716-446655440000_gRU1OGRkYQ');

console.log(response.data);
Returns:
result
(string)
POST /calls/{call_control_id}/actions/suppression_start
可选参数:
client_state
(字符串)、
command_id
(字符串)、
direction
(枚举:inbound, outbound, both)、
noise_suppression_engine
(枚举:Denoiser, DeepFilterNet, Krisp, AiCoustics)、
noise_suppression_engine_config
(对象)
javascript
const response = await client.calls.actions.startNoiseSuppression('v3:550e8400-e29b-41d4-a716-446655440000_gRU1OGRkYQ');

console.log(response.data);
返回结果:
result
(字符串)

Noise Suppression Stop (BETA)

停止噪声抑制(测试版)

POST /calls/{call_control_id}/actions/suppression_stop
Optional:
client_state
(string),
command_id
(string)
javascript
const response = await client.calls.actions.stopNoiseSuppression('v3:550e8400-e29b-41d4-a716-446655440000_gRU1OGRkYQ');

console.log(response.data);
Returns:
result
(string)
POST /calls/{call_control_id}/actions/suppression_stop
可选参数:
client_state
(字符串)、
command_id
(字符串)
javascript
const response = await client.calls.actions.stopNoiseSuppression('v3:550e8400-e29b-41d4-a716-446655440000_gRU1OGRkYQ');

console.log(response.data);
返回结果:
result
(字符串)

Switch supervisor role

切换监控席角色

Switch the supervisor role for a bridged call. This allows switching between different supervisor modes during an active call
POST /calls/{call_control_id}/actions/switch_supervisor_role
— Required:
role
javascript
const response = await client.calls.actions.switchSupervisorRole('call_control_id', {
  role: 'barge',
});

console.log(response.data);
Returns:
result
(string)

切换桥接通话的监控席角色,允许在通话过程中切换不同的监控模式
POST /calls/{call_control_id}/actions/switch_supervisor_role
— 必填参数:
role
javascript
const response = await client.calls.actions.switchSupervisorRole('call_control_id', {
  role: 'barge',
});

console.log(response.data);
返回结果:
result
(字符串)

Webhooks

Webhook

Webhook Verification

Webhook验证

Telnyx signs webhooks with Ed25519. Each request includes
telnyx-signature-ed25519
and
telnyx-timestamp
headers. Always verify signatures in production:
javascript
// In your webhook handler (e.g., Express — use raw body, not parsed JSON):
app.post('/webhooks', express.raw({ type: 'application/json' }), async (req, res) => {
  try {
    const event = await client.webhooks.unwrap(req.body.toString(), {
      headers: req.headers,
    });
    // Signature valid — event is the parsed webhook payload
    console.log('Received event:', event.data.event_type);
    res.status(200).send('OK');
  } catch (err) {
    console.error('Webhook verification failed:', err.message);
    res.status(400).send('Invalid signature');
  }
});
The following webhook events are sent to your configured webhook URL. All webhooks include
telnyx-timestamp
and
telnyx-signature-ed25519
headers for Ed25519 signature verification. Use
client.webhooks.unwrap()
to verify.
EventDescription
callConversationEnded
Call Conversation Ended
callConversationInsightsGenerated
Call Conversation Insights Generated
callDtmfReceived
Call Dtmf Received
callMachineDetectionEnded
Call Machine Detection Ended
callMachineGreetingEnded
Call Machine Greeting Ended
callMachinePremiumDetectionEnded
Call Machine Premium Detection Ended
callMachinePremiumGreetingEnded
Call Machine Premium Greeting Ended
callReferCompleted
Call Refer Completed
callReferFailed
Call Refer Failed
callReferStarted
Call Refer Started
callSiprecFailed
Call Siprec Failed
callSiprecStarted
Call Siprec Started
callSiprecStopped
Call Siprec Stopped
Telnyx使用Ed25519对Webhook进行签名。每个请求都会包含
telnyx-signature-ed25519
telnyx-timestamp
请求头。在生产环境中务必验证签名:
javascript
// 在你的Webhook处理器中(例如Express — 使用原始请求体,而非解析后的JSON):
app.post('/webhooks', express.raw({ type: 'application/json' }), async (req, res) => {
  try {
    const event = await client.webhooks.unwrap(req.body.toString(), {
      headers: req.headers,
    });
    // 签名有效 — event为解析后的Webhook负载
    console.log('Received event:', event.data.event_type);
    res.status(200).send('OK');
  } catch (err) {
    console.error('Webhook verification failed:', err.message);
    res.status(400).send('Invalid signature');
  }
});
以下Webhook事件会发送到你配置的Webhook URL。所有Webhook均包含
telnyx-timestamp
telnyx-signature-ed25519
请求头,用于Ed25519签名验证。使用
client.webhooks.unwrap()
进行验证。
事件描述
callConversationEnded
通话对话结束
callConversationInsightsGenerated
通话对话洞察生成
callDtmfReceived
收到通话DTMF
callMachineDetectionEnded
通话机器检测结束
callMachineGreetingEnded
通话机器问候结束
callMachinePremiumDetectionEnded
通话高级机器检测结束
callMachinePremiumGreetingEnded
通话高级机器问候结束
callReferCompleted
通话转接完成
callReferFailed
通话转接失败
callReferStarted
通话转接开始
callSiprecFailed
通话SIPREC失败
callSiprecStarted
通话SIPREC启动
callSiprecStopped
通话SIPREC停止

Webhook payload fields

Webhook负载字段

callConversationEnded
FieldTypeDescription
data.record_type
enum: eventIdentifies the type of the resource.
data.event_type
enum: call.conversation.endedThe type of event being delivered.
data.id
uuidUnique identifier for the event.
data.occurred_at
date-timeISO 8601 datetime of when the event occurred.
data.created_at
date-timeTimestamp when the event was created in the system.
data.payload.assistant_id
stringUnique identifier of the assistant involved in the call.
data.payload.call_control_id
stringCall ID used to issue commands via Call Control API.
data.payload.connection_id
stringCall Control App ID (formerly Telnyx connection ID) used in the call.
data.payload.call_leg_id
stringID that is unique to the call leg.
data.payload.call_session_id
stringID that is unique to the call session (group of related call legs).
data.payload.client_state
stringBase64-encoded state received from a command.
data.payload.calling_party_type
enum: pstn, sipThe type of calling party connection.
data.payload.conversation_id
stringID unique to the conversation or insight group generated for the call.
data.payload.duration_sec
integerDuration of the conversation in seconds.
data.payload.from
stringThe caller's number or identifier.
data.payload.to
stringThe callee's number or SIP address.
data.payload.llm_model
stringThe large language model used during the conversation.
data.payload.stt_model
stringThe speech-to-text model used in the conversation.
data.payload.tts_provider
stringThe text-to-speech provider used in the call.
data.payload.tts_model_id
stringThe model ID used for text-to-speech synthesis.
data.payload.tts_voice_id
stringVoice ID used for TTS.
callConversationInsightsGenerated
FieldTypeDescription
data.record_type
enum: eventIdentifies the type of the resource.
data.event_type
enum: call.conversation_insights.generatedThe type of event being delivered.
data.id
uuidIdentifies the type of resource.
data.occurred_at
date-timeISO 8601 datetime of when the event occurred.
data.payload.call_control_id
stringCall ID used to issue commands via Call Control API.
data.payload.connection_id
stringCall Control App ID (formerly Telnyx connection ID) used in the call.
data.payload.call_leg_id
stringID that is unique to the call and can be used to correlate webhook events.
data.payload.call_session_id
stringID that is unique to the call session and can be used to correlate webhook events.
data.payload.client_state
stringState received from a command.
data.payload.calling_party_type
enum: pstn, sipThe type of calling party connection.
data.payload.insight_group_id
stringID that is unique to the insight group being generated for the call.
data.payload.results
array[object]Array of insight results being generated for the call.
callDtmfReceived
FieldTypeDescription
data.record_type
enum: eventIdentifies the type of the resource.
data.event_type
enum: call.dtmf.receivedThe type of event being delivered.
data.id
uuidIdentifies the type of resource.
data.occurred_at
date-timeISO 8601 datetime of when the event occurred.
data.payload.call_control_id
stringCall ID used to issue commands via Call Control API.
data.payload.connection_id
stringIdentifies the type of resource.
data.payload.call_leg_id
stringID that is unique to the call and can be used to correlate webhook events.
data.payload.call_session_id
stringID that is unique to the call session and can be used to correlate webhook events.
data.payload.client_state
stringState received from a command.
data.payload.from
stringNumber or SIP URI placing the call.
data.payload.to
stringDestination number or SIP URI of the call.
data.payload.digit
stringThe received DTMF digit or symbol.
callMachineDetectionEnded
FieldTypeDescription
data.record_type
enum: eventIdentifies the type of the resource.
data.event_type
enum: call.machine.detection.endedThe type of event being delivered.
data.id
uuidIdentifies the type of resource.
data.occurred_at
date-timeISO 8601 datetime of when the event occurred.
data.payload.call_control_id
stringCall ID used to issue commands via Call Control API.
data.payload.connection_id
stringCall Control App ID (formerly Telnyx connection ID) used in the call.
data.payload.call_leg_id
stringID that is unique to the call and can be used to correlate webhook events.
data.payload.call_session_id
stringID that is unique to the call session and can be used to correlate webhook events.
data.payload.client_state
stringState received from a command.
data.payload.from
stringNumber or SIP URI placing the call.
data.payload.to
stringDestination number or SIP URI of the call.
data.payload.result
enum: human, machine, not_sureAnswering machine detection result.
callMachineGreetingEnded
FieldTypeDescription
data.record_type
enum: eventIdentifies the type of the resource.
data.event_type
enum: call.machine.greeting.endedThe type of event being delivered.
data.id
uuidIdentifies the type of resource.
data.occurred_at
date-timeISO 8601 datetime of when the event occurred.
data.payload.call_control_id
stringCall ID used to issue commands via Call Control API.
data.payload.connection_id
stringCall Control App ID (formerly Telnyx connection ID) used in the call.
data.payload.call_leg_id
stringID that is unique to the call and can be used to correlate webhook events.
data.payload.call_session_id
stringID that is unique to the call session and can be used to correlate webhook events.
data.payload.client_state
stringState received from a command.
data.payload.from
stringNumber or SIP URI placing the call.
data.payload.to
stringDestination number or SIP URI of the call.
data.payload.result
enum: beep_detected, ended, not_sureAnswering machine greeting ended result.
callMachinePremiumDetectionEnded
FieldTypeDescription
data.record_type
enum: eventIdentifies the type of the resource.
data.event_type
enum: call.machine.premium.detection.endedThe type of event being delivered.
data.id
uuidIdentifies the type of resource.
data.occurred_at
date-timeISO 8601 datetime of when the event occurred.
data.payload.call_control_id
stringCall ID used to issue commands via Call Control API.
data.payload.connection_id
stringCall Control App ID (formerly Telnyx connection ID) used in the call.
data.payload.call_leg_id
stringID that is unique to the call and can be used to correlate webhook events.
data.payload.call_session_id
stringID that is unique to the call session and can be used to correlate webhook events.
data.payload.client_state
stringState received from a command.
data.payload.from
stringNumber or SIP URI placing the call.
data.payload.to
stringDestination number or SIP URI of the call.
data.payload.result
enum: human_residence, human_business, machine, silence, fax_detected, not_surePremium Answering Machine Detection result.
callMachinePremiumGreetingEnded
FieldTypeDescription
data.record_type
enum: eventIdentifies the type of the resource.
data.event_type
enum: call.machine.premium.greeting.endedThe type of event being delivered.
data.id
uuidIdentifies the type of resource.
data.occurred_at
date-timeISO 8601 datetime of when the event occurred.
data.payload.call_control_id
stringCall ID used to issue commands via Call Control API.
data.payload.connection_id
stringCall Control App ID (formerly Telnyx connection ID) used in the call.
data.payload.call_leg_id
stringID that is unique to the call and can be used to correlate webhook events.
data.payload.call_session_id
stringID that is unique to the call session and can be used to correlate webhook events.
data.payload.client_state
stringState received from a command.
data.payload.from
stringNumber or SIP URI placing the call.
data.payload.to
stringDestination number or SIP URI of the call.
data.payload.result
enum: beep_detected, no_beep_detectedPremium Answering Machine Greeting Ended result.
callReferCompleted
FieldTypeDescription
data.record_type
enum: eventIdentifies the type of the resource.
data.event_type
enum: call.refer.completedThe type of event being delivered.
data.id
uuidIdentifies the type of resource.
data.occurred_at
date-timeISO 8601 datetime of when the event occurred.
data.payload.call_control_id
stringUnique ID for controlling the call.
data.payload.call_leg_id
stringID that is unique to the call and can be used to correlate webhook events.
data.payload.call_session_id
stringID that is unique to the call session and can be used to correlate webhook events.
data.payload.connection_id
stringCall Control App ID (formerly Telnyx connection ID) used in the call.
data.payload.client_state
stringState received from a command.
data.payload.from
stringNumber or SIP URI placing the call.
data.payload.sip_notify_response
integerSIP NOTIFY event status for tracking the REFER attempt.
data.payload.to
stringDestination number or SIP URI of the call.
callReferFailed
FieldTypeDescription
data.record_type
enum: eventIdentifies the type of the resource.
data.event_type
enum: call.refer.failedThe type of event being delivered.
data.id
uuidIdentifies the type of resource.
data.occurred_at
date-timeISO 8601 datetime of when the event occurred.
data.payload.call_control_id
stringUnique ID for controlling the call.
data.payload.call_leg_id
stringID that is unique to the call and can be used to correlate webhook events.
data.payload.call_session_id
stringID that is unique to the call session and can be used to correlate webhook events.
data.payload.connection_id
stringCall Control App ID (formerly Telnyx connection ID) used in the call.
data.payload.client_state
stringState received from a command.
data.payload.from
stringNumber or SIP URI placing the call.
data.payload.sip_notify_response
integerSIP NOTIFY event status for tracking the REFER attempt.
data.payload.to
stringDestination number or SIP URI of the call.
callReferStarted
FieldTypeDescription
data.record_type
enum: eventIdentifies the type of the resource.
data.event_type
enum: call.refer.startedThe type of event being delivered.
data.id
uuidIdentifies the type of resource.
data.occurred_at
date-timeISO 8601 datetime of when the event occurred.
data.payload.call_control_id
stringUnique ID for controlling the call.
data.payload.call_leg_id
stringID that is unique to the call and can be used to correlate webhook events.
data.payload.call_session_id
stringID that is unique to the call session and can be used to correlate webhook events.
data.payload.connection_id
stringCall Control App ID (formerly Telnyx connection ID) used in the call.
data.payload.client_state
stringState received from a command.
data.payload.from
stringNumber or SIP URI placing the call.
data.payload.sip_notify_response
integerSIP NOTIFY event status for tracking the REFER attempt.
data.payload.to
stringDestination number or SIP URI of the call.
callSiprecFailed
FieldTypeDescription
data.record_type
enum: eventIdentifies the resource.
data.event_type
enum: siprec.failedThe type of event being delivered.
data.id
uuidIdentifies the type of resource.
data.occurred_at
date-timeISO 8601 datetime of when the event occurred.
data.payload.call_control_id
stringCall ID used to issue commands via Call Control API.
data.payload.connection_id
stringCall Control App ID (formerly Telnyx connection ID) used in the call.
data.payload.call_leg_id
stringID that is unique to the call and can be used to correlate webhook events.
data.payload.call_session_id
stringID that is unique to the call session and can be used to correlate webhook events.
data.payload.client_state
stringState received from a command.
data.payload.failure_cause
stringQ850 reason why siprec session failed.
callSiprecStarted
FieldTypeDescription
data.record_type
enum: eventIdentifies the type of the resource.
data.event_type
enum: siprec.startedThe type of event being delivered.
data.id
uuidIdentifies the type of resource.
data.occurred_at
date-timeISO 8601 datetime of when the event occurred.
data.payload.call_control_id
stringCall ID used to issue commands via Call Control API.
data.payload.connection_id
stringCall Control App ID (formerly Telnyx connection ID) used in the call.
data.payload.call_leg_id
stringID that is unique to the call and can be used to correlate webhook events.
data.payload.call_session_id
stringID that is unique to the call session and can be used to correlate webhook events.
data.payload.client_state
stringState received from a command.
callSiprecStopped
FieldTypeDescription
data.record_type
enum: eventIdentifies the type of the resource.
data.event_type
enum: siprec.stoppedThe type of event being delivered.
data.id
uuidIdentifies the type of resource.
data.occurred_at
date-timeISO 8601 datetime of when the event occurred.
data.payload.call_control_id
stringCall ID used to issue commands via Call Control API.
data.payload.connection_id
stringCall Control App ID (formerly Telnyx connection ID) used in the call.
data.payload.call_leg_id
stringID that is unique to the call and can be used to correlate webhook events.
data.payload.call_session_id
stringID that is unique to the call session and can be used to correlate webhook events.
data.payload.client_state
stringState received from a command.
data.payload.hangup_cause
stringQ850 reason why the SIPREC session was stopped.
callConversationEnded
字段类型描述
data.record_type
枚举: event标识资源类型。
data.event_type
枚举: call.conversation.ended所传递的事件类型。
data.id
uuid事件的唯一标识符。
data.occurred_at
date-time事件发生的ISO 8601格式日期时间。
data.created_at
date-time事件在系统中创建的时间戳。
data.payload.assistant_id
string通话中涉及的助手唯一标识符。
data.payload.call_control_id
string用于通过呼叫控制API发送命令的通话ID。
data.payload.connection_id
string通话中使用的呼叫控制应用ID(原Telnyx连接ID)。
data.payload.call_leg_id
string呼叫分支的唯一ID。
data.payload.call_session_id
string通话会话的唯一ID(相关呼叫分支组)。
data.payload.client_state
string从命令接收的Base64编码状态。
data.payload.calling_party_type
枚举: pstn, sip主叫方连接类型。
data.payload.conversation_id
string通话生成的对话或洞察组的唯一ID。
data.payload.duration_sec
integer对话持续时间(秒)。
data.payload.from
string主叫号码或标识符。
data.payload.to
string被叫号码或SIP地址。
data.payload.llm_model
string对话中使用的大语言模型。
data.payload.stt_model
string对话中使用的语音转文本模型。
data.payload.tts_provider
string通话中使用的文本转语音提供商。
data.payload.tts_model_id
string文本转语音合成使用的模型ID。
data.payload.tts_voice_id
stringTTS使用的语音ID。
callConversationInsightsGenerated
字段类型描述
data.record_type
枚举: event标识资源类型。
data.event_type
枚举: call.conversation_insights.generated所传递的事件类型。
data.id
uuid标识资源类型。
data.occurred_at
date-time事件发生的ISO 8601格式日期时间。
data.payload.call_control_id
string用于通过呼叫控制API发送命令的通话ID。
data.payload.connection_id
string通话中使用的呼叫控制应用ID(原Telnyx连接ID)。
data.payload.call_leg_id
string通话的唯一ID,可用于关联Webhook事件。
data.payload.call_session_id
string通话会话的唯一ID,可用于关联Webhook事件。
data.payload.client_state
string从命令接收的状态。
data.payload.calling_party_type
枚举: pstn, sip主叫方连接类型。
data.payload.insight_group_id
string通话生成的洞察组的唯一ID。
data.payload.results
array[object]通话生成的洞察结果数组。
callDtmfReceived
字段类型描述
data.record_type
枚举: event标识资源类型。
data.event_type
枚举: call.dtmf.received所传递的事件类型。
data.id
uuid标识资源类型。
data.occurred_at
date-time事件发生的ISO 8601格式日期时间。
data.payload.call_control_id
string用于通过呼叫控制API发送命令的通话ID。
data.payload.connection_id
string标识资源类型。
data.payload.call_leg_id
string通话的唯一ID,可用于关联Webhook事件。
data.payload.call_session_id
string通话会话的唯一ID,可用于关联Webhook事件。
data.payload.client_state
string从命令接收的状态。
data.payload.from
string发起通话的号码或SIP URI。
data.payload.to
string通话的目标号码或SIP URI。
data.payload.digit
string收到的DTMF数字或符号。
callMachineDetectionEnded
字段类型描述
data.record_type
枚举: event标识资源类型。
data.event_type
枚举: call.machine.detection.ended所传递的事件类型。
data.id
uuid标识资源类型。
data.occurred_at
date-time事件发生的ISO 8601格式日期时间。
data.payload.call_control_id
string用于通过呼叫控制API发送命令的通话ID。
data.payload.connection_id
string通话中使用的呼叫控制应用ID(原Telnyx连接ID)。
data.payload.call_leg_id
string通话的唯一ID,可用于关联Webhook事件。
data.payload.call_session_id
string通话会话的唯一ID,可用于关联Webhook事件。
data.payload.client_state
string从命令接收的状态。
data.payload.from
string发起通话的号码或SIP URI。
data.payload.to
string通话的目标号码或SIP URI。
data.payload.result
枚举: human, machine, not_sure答录机检测结果。
callMachineGreetingEnded
字段类型描述
data.record_type
枚举: event标识资源类型。
data.event_type
枚举: call.machine.greeting.ended所传递的事件类型。
data.id
uuid标识资源类型。
data.occurred_at
date-time事件发生的ISO 8601格式日期时间。
data.payload.call_control_id
string用于通过呼叫控制API发送命令的通话ID。
data.payload.connection_id
string通话中使用的呼叫控制应用ID(原Telnyx连接ID)。
data.payload.call_leg_id
string通话的唯一ID,可用于关联Webhook事件。
data.payload.call_session_id
string通话会话的唯一ID,可用于关联Webhook事件。
data.payload.client_state
string从命令接收的状态。
data.payload.from
string发起通话的号码或SIP URI。
data.payload.to
string通话的目标号码或SIP URI。
data.payload.result
枚举: beep_detected, ended, not_sure答录机问候结束结果。
callMachinePremiumDetectionEnded
字段类型描述
data.record_type
枚举: event标识资源类型。
data.event_type
枚举: call.machine.premium.detection.ended所传递的事件类型。
data.id
uuid标识资源类型。
data.occurred_at
date-time事件发生的ISO 8601格式日期时间。
data.payload.call_control_id
string用于通过呼叫控制API发送命令的通话ID。
data.payload.connection_id
string通话中使用的呼叫控制应用ID(原Telnyx连接ID)。
data.payload.call_leg_id
string通话的唯一ID,可用于关联Webhook事件。
data.payload.call_session_id
string通话会话的唯一ID,可用于关联Webhook事件。
data.payload.client_state
string从命令接收的状态。
data.payload.from
string发起通话的号码或SIP URI。
data.payload.to
string通话的目标号码或SIP URI。
data.payload.result
枚举: human_residence, human_business, machine, silence, fax_detected, not_sure高级答录机检测结果。
callMachinePremiumGreetingEnded
字段类型描述
data.record_type
枚举: event标识资源类型。
data.event_type
枚举: call.machine.premium.greeting.ended所传递的事件类型。
data.id
uuid标识资源类型。
data.occurred_at
date-time事件发生的ISO 8601格式日期时间。
data.payload.call_control_id
string用于通过呼叫控制API发送命令的通话ID。
data.payload.connection_id
string通话中使用的呼叫控制应用ID(原Telnyx连接ID)。
data.payload.call_leg_id
string通话的唯一ID,可用于关联Webhook事件。
data.payload.call_session_id
string通话会话的唯一ID,可用于关联Webhook事件。
data.payload.client_state
string从命令接收的状态。
data.payload.from
string发起通话的号码或SIP URI。
data.payload.to
string通话的目标号码或SIP URI。
data.payload.result
枚举: beep_detected, no_beep_detected高级答录机问候结束结果。
callReferCompleted
字段类型描述
data.record_type
枚举: event标识资源类型。
data.event_type
枚举: call.refer.completed所传递的事件类型。
data.id
uuid标识资源类型。
data.occurred_at
date-time事件发生的ISO 8601格式日期时间。
data.payload.call_control_id
string控制通话的唯一ID。
data.payload.call_leg_id
string通话的唯一ID,可用于关联Webhook事件。
data.payload.call_session_id
string通话会话的唯一ID,可用于关联Webhook事件。
data.payload.connection_id
string通话中使用的呼叫控制应用ID(原Telnyx连接ID)。
data.payload.client_state
string从命令接收的状态。
data.payload.from
string发起通话的号码或SIP URI。
data.payload.sip_notify_response
integer用于跟踪转接尝试的SIP NOTIFY事件状态。
data.payload.to
string通话的目标号码或SIP URI。
callReferFailed
字段类型描述
data.record_type
枚举: event标识资源类型。
data.event_type
枚举: call.refer.failed所传递的事件类型。
data.id
uuid标识资源类型。
data.occurred_at
date-time事件发生的ISO 8601格式日期时间。
data.payload.call_control_id
string控制通话的唯一ID。
data.payload.call_leg_id
string通话的唯一ID,可用于关联Webhook事件。
data.payload.call_session_id
string通话会话的唯一ID,可用于关联Webhook事件。
data.payload.connection_id
string通话中使用的呼叫控制应用ID(原Telnyx连接ID)。
data.payload.client_state
string从命令接收的状态。
data.payload.from
string发起通话的号码或SIP URI。
data.payload.sip_notify_response
integer用于跟踪转接尝试的SIP NOTIFY事件状态。
data.payload.to
string通话的目标号码或SIP URI。
callReferStarted
字段类型描述
data.record_type
枚举: event标识资源类型。
data.event_type
枚举: call.refer.started所传递的事件类型。
data.id
uuid标识资源类型。
data.occurred_at
date-time事件发生的ISO 8601格式日期时间。
data.payload.call_control_id
string控制通话的唯一ID。
data.payload.call_leg_id
string通话的唯一ID,可用于关联Webhook事件。
data.payload.call_session_id
string通话会话的唯一ID,可用于关联Webhook事件。
data.payload.connection_id
string通话中使用的呼叫控制应用ID(原Telnyx连接ID)。
data.payload.client_state
string从命令接收的状态。
data.payload.from
string发起通话的号码或SIP URI。
data.payload.sip_notify_response
integer用于跟踪转接尝试的SIP NOTIFY事件状态。
data.payload.to
string通话的目标号码或SIP URI。
callSiprecFailed
字段类型描述
data.record_type
枚举: event标识资源。
data.event_type
枚举: siprec.failed所传递的事件类型。
data.id
uuid标识资源类型。
data.occurred_at
date-time事件发生的ISO 8601格式日期时间。
data.payload.call_control_id
string用于通过呼叫控制API发送命令的通话ID。
data.payload.connection_id
string通话中使用的呼叫控制应用ID(原Telnyx连接ID)。
data.payload.call_leg_id
string通话的唯一ID,可用于关联Webhook事件。
data.payload.call_session_id
string通话会话的唯一ID,可用于关联Webhook事件。
data.payload.client_state
string从命令接收的状态。
data.payload.failure_cause
stringSIPREC会话失败的Q850原因。
callSiprecStarted
字段类型描述
data.record_type
枚举: event标识资源类型。
data.event_type
枚举: siprec.started所传递的事件类型。
data.id
uuid标识资源类型。
data.occurred_at
date-time事件发生的ISO 8601格式日期时间。
data.payload.call_control_id
string用于通过呼叫控制API发送命令的通话ID。
data.payload.connection_id
string通话中使用的呼叫控制应用ID(原Telnyx连接ID)。
data.payload.call_leg_id
string通话的唯一ID,可用于关联Webhook事件。
data.payload.call_session_id
string通话会话的唯一ID,可用于关联Webhook事件。
data.payload.client_state
string从命令接收的状态。
callSiprecStopped
字段类型描述
data.record_type
枚举: event标识资源类型。
data.event_type
枚举: siprec.stopped所传递的事件类型。
data.id
uuid标识资源类型。
data.occurred_at
date-time事件发生的ISO 8601格式日期时间。
data.payload.call_control_id
string用于通过呼叫控制API发送命令的通话ID。
data.payload.connection_id
string通话中使用的呼叫控制应用ID(原Telnyx连接ID)。
data.payload.call_leg_id
string通话的唯一ID,可用于关联Webhook事件。
data.payload.call_session_id
string通话会话的唯一ID,可用于关联Webhook事件。
data.payload.client_state
string从命令接收的状态。
data.payload.hangup_cause
stringSIPREC会话停止的Q850原因。