nexmo:为呼出电话动态生成NCCO

时间:2018-07-02 14:42:07

标签: node.js call nexmo

我们正在使用出站语音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); } })

1 个答案:

答案 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);
  
});