我们有一个正确捕获呼叫失败状态的回调网址。
然后我们的代码通过执行以下操作从twilio获取调用的详细信息:
$call = $twilio_client->calls($sid)->fetch();
在返回的呼叫详细信息中,列出了没有5位错误代码,即使存在失败状态。
我们如何获得导致失败的5位错误代码?
答案 0 :(得分:0)
向
发出经过身份验证的GET请求/ 2010-04-01 /账户/ {账户号码} /呼叫/ {CallSid} /通知
因此,在PHP中,以下内容将检索您的呼叫的通知信息
$json = file_get_contents('https://{AccountNumber}:{AuthToken}@api.twilio.com/2010-04-01/Accounts/{AccountNumber}/Calls/{CallSid}/Notifications.json');
然后使用此行将返回的JSON转换为关联数组
$obj = json_decode($json, true);
现在,如果您想要的只是错误代码,则将其存储为以下变量
echo $obj[notifications][0][error_code];
但是,完整的错误信息也会以URL编码的字符串形式返回。您可以通过首先对其进行url解码,然后使用以下行将查询字符串解析为数组来访问它
parse_str(urldecode($obj[notifications][0][message_text]), $output);
现在您可以像这样访问变量
echo $output[Msg]; // Error text for failure eg invalid phone number
echo $output[phonenumber]; // Phone number for failed call
echo $output[ErrorCode]; // 5 digit error code
echo $output[LogLevel];` // Log level of error eg WARN
据我所知,这不是在PHP帮助程序库中实现的,因此您必须手动编写代码
答案 1 :(得分:0)
Twilio开发者传道者在这里。
感谢@miknik的答案,但实际上这是一个不推荐使用的资源(这就是为什么你目前无法找到有关此问题的任何文档)。我花了一段时间才找到答案,因为我一直在寻找通知已经消失的地方。
Notifications API已弃用,以支持Monitor Alerts API。此API可以为您提供有关警报的所有详细信息,包括5位数代码。
为您的应用程序接收这些警报的最佳方式是set up a webhook in your account console,它将作为请求的一部分发送有关警报的所有参数。
您还可以使用list your alerts来查找来自特定资源SID的警报(在您的情况下,是一个呼叫SID)。
让我知道这是否有帮助。