概念
可编程语音
学习如何使用 Twilio 的 Programmable Voice 来发起和接听电话。
...
代码示例
1https://api.twilio.com/2010-04-01/Accounts/{TWILIO_ACCOUNT_SID}/Calls.json
| 参数名 | 类型 | 分类 | 说明 |
|---|---|---|---|
| From | 字符串 | 必填 | 用于发起外拨电话的电话号码。 |
| Url | 字符串 | 必填 | 指向一段 TwiML 的 URL,用于告诉 Twilio 在对方接听电话后应执行的操作。 |
| To | 字符串 | 必填 | 要拨打的外拨电话号码。 |
代码示例
1http://demo.twilio.com/docs/voice.xml
1import fetch from "node-fetch"; 2 3// 定义请求头参数 4const header = { 5 'Authorization': 'Basic ' + Buffer.from('{{ACCOUNT_SID}}'+':'+'{{AUTH_TOKEN}}').toString('base64'), 6 'Content-Type': 'application/x-www-form-urlencoded', 7}; 8 9// 定义接口地址 10const url = new URL('https://api.twilio.com/2010-04-01/Accounts/{{ACCOUNT_SID}}/Calls.json'); 11 12// 定义请求体参数 13const body = 'Url=http://demo.twilio.com/docs/voice.xml&To={{YOUR_PHONE_NUMBER}}&From={{TWILIO_PHONE_NUMBER}}'; 14 15// 设置 API 请求选项 16const options = { 17 method: 'POST', 18 headers: header, 19 body: body 20}; 21 22async function Phonecall() { 23 try { 24 const response = await fetch(url, options); 25 // 自定义函数用于打印 API 响应结果 26 printResponse(response); 27 } catch (error) { 28 console.log(`错误: ${error}`); 29 } 30} 31 32Phonecall();
| 参数名 | 类型 | 说明 |
|---|---|---|
| sid | 字符串 | 与通话资源关联的唯一标识 ID。 |
| date_created | 字符串 | 通话资源创建的日期。 |
| date_updated | 字符串 | 通话资源最后一次更新的日期。 |
| parent_call_sid | 字符串 | 通话资源的父级通话 SID。 |
| account_sid | 字符串 | 创建该服务的账户 SID。 |
| to | 字符串 | 接收电话呼叫的电话号码。 |
| to_formatted | 字符串 | 接收电话呼叫的格式化电话号码。 |
| from | 字符串 | 发起电话呼叫的 Twilio 电话号码。 |
| from_formatted | 字符串 | 发起电话呼叫的格式化 Twilio 电话号码。 |
| status | 枚举 | 电话呼叫的状态。预期输出包括:queued(排队)、ringing(振铃)、in-progress(进行中)、canceled(已取消)、completed(已完成)、failed(失败)、busy(占线)、no-answer(无应答)。 |
| start_time | 字符串 | 电话呼叫开始的时间。 |
| end_time | 字符串 | 电话呼叫结束的时间。若未结束则为空。 |
| duration | 字符串 | 通话时长,单位为秒。 |
| price_unit | 字符串 | 通话费用的计价货币。 |
| price | 字符串 | 通话的实际费用。 |
| direction | 字符串 | 通话的方向。可能值为 inbound(入站)或 outbound-api(外拨 API)。 |
| answered_by | 字符串 | 区分来电是被真人还是语音信箱接听。 |
| api_version | 字符串 | 使用的 API 版本。 |
| group_sid | 字符串 | 与通话关联的群组 SID。若无关联群组则为空。 |
| queue_time | 字符串 | 通话在等待队列中停留的时间(单位:毫秒)。 |
| uri | 字符串 | 服务的相对 URI 地址,相对于 Twilio。 |
代码示例
1https://demo.twilio.com/welcome/voice/
...
配置语音 Webhook
No configuration found for ID: 17ae8f1a1fd94e21e1da5c73b9346135ba134c09d7e74ef066cd71124abc7730