问题描述
我正在关注Nexmo文档here,我再也找不到了iOS文档(神秘) 尤其是文档谈论了它说的Answer URL
您应将CALLEE_PHONE_NUMBER替换为要拨打的号码。但是,最终,实际调用的号码是Answer URL Webhook中提供的号码。在实际的用例中,您将创建一个服务器组件作为Answer URL。该应用程序将通过Answer URL将CALLEE_PHONE_NUMBER发送到您的后端,后端将对其进行验证,然后将其提供给返回的JSON。
注意:您创建的要点特定于本教程。在实际情况中,答案URL应该由专门构建的Web解决方案提供。您的后端应提供可用于自定义NCCO的服务,并且在这种情况下,应接收并验证从应用程序拨打的电话号码。
因此,我创建了一个自定义后端,该后端带有一个?to
参数,该参数返回有效的json,如下所示:
GET https://mycustomurl.herokuapp.com/hello?to=18052425555
[{"action":"talk","text":"Please wait while we connect you."},{"action":"connect","timeout":20,"from":"14697938019","endpoint":{"type":"phone","number":"18052425555"}}]
我将自定义网址放在仪表板中的应用程序中,如下所示...
https://mycustomurl.herokuapp.com/
我还尝试了其他许多变体,例如完整路径/ hello等。
当我通过应用发出呼叫时...如何引用此端点?参数是自动to
(nexmo支持人员告诉我的)吗?我要传递网址吗?
我尝试了所有这些组合:
client.call("https://mycustomurl.herokuapp.com/hello?to=18052428083",callHandler: .server)
client.call("hello?to=18052428083",callHandler: .server)
client.call("18052428083",callHandler: .server)
我无法使用它,也无法在文档中找到有关如何使用自定义后端答案网址的任何内容。任何帮助将不胜感激。
解决方法
我们转了一些东西,对重定向不起作用表示歉意。这是step by step tutorial on making a call from the app。
您的自定义网址不需要任何参数,但是您需要更新仪表板以使用https://mycustomurl.herokuapp.com/hello
。
在应用中,您调用client.call("44000000000",callHandler: .server)
,这将向您的自定义网址发出GET请求。对自定义网址的请求将在其查询中包含一个JSON对象,如下所示:
{
to: '44000000000',from_user: 'Alice',conversation_uuid: 'CON-7a15150b-121d-42b7-91eb-23ccefdcbf5e',uuid: 'NONE'
}
JSON对象中的to
值将是应用程序中提供的数字。您可以使用它来填写要返回的NCCO,例如:
[
{
"action": "talk","text": "Please wait while we connect you."
},{
"action": "connect","endpoint": [
{
"type": "phone","from": request.body.from_user
"number": request.body.to
}
]
}
]