我们正在使用出站语音API。我们已经成功设置了一个应用程序,并能够使用测试NCCO创建呼出电话:https://developer.nexmo.com/ncco/tts.json
我们正在使用NodeJS SDK。
但是,我们无法理解为什么必须通过URL访问NCCO,而不是直接将其作为JSON对象提供。此外,我们正在使用语音API来验证我们服务中的用户帐户。用户注册我们的服务后,我们将为他们提供选择SMS或电话以验证其帐户的选项。显然,每个用户在其SMS /呼叫中将收到一个不同的代码(例如1234)。我们希望获得有关如何绕过answer_url字段的帮助,并且能够为每个用户提供不同的文本到语音文本。

简而言之,有没有一种方法,而不是通过公用URL向静态呼叫对象提供语音API,而是提供动态生成的,包含针对用户的代码的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); }})

最佳答案

您可以构建返回JSON的Nodejs api并将其用作answer_url。通过这种方式,您可以将查询参数发送到此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);

});

07-28 09:30