我们正在使用出站语音API。我们已经成功建立了一个应用程序,并能够使用测试NCCO创建一个去电:https://developer.nexmo.com/ncco/tts.json 我们正在使用NodeJS SDK。 但是,我们无法理解为什么必须通过URL访问NCCO,而不是直接将其作为JSON对象提供。此外,我们正在使用语音API来验证我们服务中的用户帐户。用户注册到我们的服务后,我们将为他们提供选择SMS或电话以验证其帐户的选项。显然,每个用户在他们的SMS /呼叫中将收到一个不同的代码(例如1234)。我们希望获得有关如何绕开answer_url字段的帮助,并能够为每个用户提供不同的文本到语音文本。
总之,有没有一种方法,而不是通过公共URL向语音呼叫API提供静态JSON对象,而是提供动态生成的JSON对象,其中包含供用户使用的独特代码?
下面是nexmo节点方法生成出站呼叫的示例:
nexmo.calls.create({
to: [{
type: 'phone',
number: RECEIVING_NUMBER
}],
from: {
type: "phone",
number: NEXMO_VIRTUAL_NUMBER
},
answer_url: ['https://developer.nexmo.com/ncco/tts.json']
}, (err, res) => {
if(err) console.log(JSON.stringify(err,null,2));
else { console.log(res); }
})
答案 0 :(得分:2)
您可以构建返回JSON并将其用作answer_url的Nodejs api。通过这种方式,您可以将查询参数发送到此api以创建动态NCCO。
示例:
answer_url: ['https://example.com/answer?code=12345']
app.get('/answer', function(req, res) {
const ncco = [{
'action': 'talk',
'voiceName': 'Jennifer',
'text': req.params.code
}
];
res.json(ncco);
});