如何将带有模板的 twilio twiML 转换为 node.js 代码
How to convert a twilio twiML with templates to node.js code
我正在尝试使用 twilio npm 库将带有模板的 twiML 转换为 node.js 代码。更具体地说,我正在尝试对以下 twiML 进行类似的调用(使用 node.js):
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Dial callerId="+302111982501">{{#e164}}{{To}}{{/e164}}</Dial>
</Response>
我在我的代码中使用 twilio npm 库在我的代码中使用了其他 twiML。我在转换使用 {{}} 形式模板的模板时遇到问题。
更新:
上面的 twiML 被用作 twilio 的语音 SIP 域中的语音 URL link,以便来自我的 sip 域的所有出站呼叫看起来都来自相同的号码(呼叫者 ID)。我已将 URL 更改为在 node.js 中休息 api,并且还能够使用 [=45] 响应 twilio(来自 REST API) =],使用以下代码:
const voiceResponse = new VoiceResponse();
const dial = voiceResponse.dial({ callerId: '+302111982501' });
dial.number('+306944444444');
res.status(200).contentType('text/xml')
.send(voiceResponse.toString());
通话效果很好。
问题是我想获取拨打的号码 {{To}},并将其放入 dial.number()。因此,我尝试使用 req.body、req.params、req.query 来读取我的 REST API 中的请求。我找不到有关 twilio 调用的数据。 REST API 在 google 应用引擎上是 运行,使用 express。
所以更新后的问题是:
当语音 SIP 域 link 使用语音 URL 编辑时,我如何从 twilio 发出的 POST 请求中获取 twilio 出站信息 (To) REST API,而不是 TwiML?
终于想通了
我不得不补充:app.use(bodyParser.urlencoded({ extended: true }));
明确休息 api 因为来自 twilio 的请求是内容类型:x-www-form-urlencoded。
我正在尝试使用 twilio npm 库将带有模板的 twiML 转换为 node.js 代码。更具体地说,我正在尝试对以下 twiML 进行类似的调用(使用 node.js):
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Dial callerId="+302111982501">{{#e164}}{{To}}{{/e164}}</Dial>
</Response>
我在我的代码中使用 twilio npm 库在我的代码中使用了其他 twiML。我在转换使用 {{}} 形式模板的模板时遇到问题。
更新: 上面的 twiML 被用作 twilio 的语音 SIP 域中的语音 URL link,以便来自我的 sip 域的所有出站呼叫看起来都来自相同的号码(呼叫者 ID)。我已将 URL 更改为在 node.js 中休息 api,并且还能够使用 [=45] 响应 twilio(来自 REST API) =],使用以下代码:
const voiceResponse = new VoiceResponse();
const dial = voiceResponse.dial({ callerId: '+302111982501' });
dial.number('+306944444444');
res.status(200).contentType('text/xml')
.send(voiceResponse.toString());
通话效果很好。
问题是我想获取拨打的号码 {{To}},并将其放入 dial.number()。因此,我尝试使用 req.body、req.params、req.query 来读取我的 REST API 中的请求。我找不到有关 twilio 调用的数据。 REST API 在 google 应用引擎上是 运行,使用 express。
所以更新后的问题是:
当语音 SIP 域 link 使用语音 URL 编辑时,我如何从 twilio 发出的 POST 请求中获取 twilio 出站信息 (To) REST API,而不是 TwiML?
终于想通了
我不得不补充:app.use(bodyParser.urlencoded({ extended: true }));
明确休息 api 因为来自 twilio 的请求是内容类型:x-www-form-urlencoded。