我正在测试一些应用程序代码,这些代码应该捕获发送到 Twilio API 上的错误/无效号码的消息的响应。但是,我正在测试一个错误的号码,一个错误的固定电话号码,并且我没有从 API 得到任何响应。但我见过用户用手指触摸他们的手机号码,并且 API 响应确实提供了有效的响应;说
undelivered
并且通常带有错误代码。
为什么服务器根本不响应以下错误的固定电话号码?
$client = new Client($authID,$authSecret);
$message = $client->messages->create(
'+18135551212',
array(
'from' => $from,
'body' => $msg
)
);
如果我更改为有效的手机号码,那么一切都会正常。但目的是测试各种无效/不良号码或固定电话号码,以获得各种响应。但上述消息没有从服务器得到响应...没有
$message
,因此没有 $message->sid
可在 Webhook 或状态查询中使用。
您可以使用 WebHooks 跟踪递送状态更新:https://www.twilio.com/docs/sms/tutorials/how-to-confirm-delivery/php 和 https://www.twilio.com/docs /usage/webhooks/getting-started-twilio-webhooks
在您的情况下,您需要在
create()
: 中指定一个 webhook
$client = new Client($authID,$authSecret);
$message = $client->messages->create(
'+18135551212',
array(
'from' => $from,
'body' => $msg,
'statusCallback' => "http://example.com/track"
)
);
$message->sid // Store your message ID to identify it in your webook
然后,在您的页面内,您可以接收和管理状态更新(更多详细信息请参见:https://www.twilio.com/docs/sms/api/message-resource#twilios-request-to-the-statuscallback-网址)
状态更新始终是异步的,这就是为什么您需要一个“更新侦听器”来了解消息是否已正确传递