Twilio 机器检测 AnsweredBy 字段 returns 'None'

Twilio Machine Detection AnsweredBy field returns 'None'

我正在开发一个利用机器检测功能的 Twilio 应用程序。我使用 Twilio python 客户端发出如下请求:

import twilio
twilio_client = Client(ACCOUNT_SID, AUTH_TOKEN)

call = twilio_client.calls.create(
        to=number,
        from_=TWILIO_PHONE_NUMBER,
        url=EXTERNAL_URL + '/call',
        status_callback=EXTERNAL_URL + '/call_status',
        status_callback_event=["initiated", "ringing", "answered",
                               "completed", "no-answer", "busy",
                               "failed", "canceled", "queued"],
        machine_detection='Enable',
        machine_detection_timeout=20,
    )

但是当我尝试访问 call.answered_by 字段时,我发现该值是 None。当我使用呼叫状态 API 10 秒后获取呼叫状态时,我也会返回 None

call = twilio_client.calls(sid).fetch()

同样在我的 webhook 中,我在 `EXTERNAL_URL + '/call_status' 注册以获取通知,但我没有收到 'AnsweredBy' 字段。我还确保在 Twilio 网络控制台中启用了该功能。我还缺少什么?

此处为 Twilio 开发人员布道师。

感谢 Andy 和 Alex 的评论,我认为他们确实涵盖了所有内容。

这里的关键是 AnsweredBy 字段将作为 webhook 的一部分发送到您在 API 请求中设置为 url 参数的 URL .在这种情况下,即 URL EXTERNAL_URL + '/call'.

AnsweredBy 字段最终应该出现在调用资源本身的 REST API 中,但使用它的方式是通过 webhook。

如果这有帮助,请告诉我。