我最近开始使用Twilio语音呼叫向使用Django的用户发送OTP。我指的是给定的链接,以自定义Twilio响应。https://www.twilio.com/docs/tutorials/walkthrough/click-to-call/python/flask
views.py
def voice_call(otp, mobile_no):
client = TwilioRestClient(settings.ACCOUNT_SID, settings.AUTH_TOKEN)
client.calls.create(from_=settings.OTP_FROM_NUMBER,
to=mobile_no,
url='http://localhost:8000/outbound/',
method='POST')
def outbound(self):
response = twiml.Response()
response.say("Thank you for contacting our department",
voice='alice')
return HttpResponse(response, content_type="application/xml")
在urls.py中,我有/ outbound /指向我的django视图模块。
如果我在浏览器中点击“ / outbound /”,它将呈现正确的xml响应,但是在语音呼叫中,它会显示一条错误消息,提示“对不起应用程序错误”
不知道在渲染xml时我哪里出错了。提前致谢。
Twilio开发人员布道者在这里。
我认为问题在于您正试图将Twilio指向您的产品localhost
。当Twilio连接该调用时,它将尝试向您在REST API调用中传递的URL发出HTTP请求。如果通过,localhost
那么Twilio将无法达到它,因为它仅在您的计算机上可用。
虽然有解决方案!我们建议使用一个名为ngrok的工具。它允许外部服务通过隧道传输到您的localhost
站点,以便您可以像这样测试webhooks。查看这些博客文章,了解如何设置将ngrok与Twilio一起使用以及我喜欢将ngrok与Twilio一起使用的所有原因。
让我知道是否有帮助!
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句