在下面运行这段代码。它总是成功调用号码,并将已完成的状态发送到回调url,但在此之前它没有发送任何状态更新。我查了日志,只有一次对api的调用,这是已完成的状态。
知道为什么这不起作用吗?文档说这些是有效的状态值:https://www.twilio.com/docs/api/twiml/twilio_request#request-parameters-call-status
另一个可能相关的注意事项是,将status_callback_method设置为“GET”似乎也不起作用。
相关代码:
CLIENT.calls.create(to=phone_number,
from_=TWILIO_PHONE_NUMBER,
url=url,
method="GET",
status_callback=STATUS_CALLBACK_URL + call_uid,
status_callback_method="POST",
status_callback_event=["queued", "ringing", "in-progress", "completed", "busy", "failed", "no-answer", "canceled"]
)
我还使用这些作为这里定义的回调事件:https://www.twilio.com/docs/api/rest/making-calls#status-callback-event-parameter
status_callback_event=["queued", "initiated", "ringing", "answered", "completed"]
不幸的是,这两个列表都不适合我,只通知我已完成的状态
python库使用RESTAPI而您引用的页面用于Twilio在您收到进线量时发送到您的服务器的参数。
回调事件不同,不需要将call_uid附加到回调URL。Twilio将与请求的其余部分一起发送。
应该让你走上正轨的文档在这里