我想让我的客户检查最终客户是否收到文本以及他/她发送了什么回复?我总是通过twilio查看客户是否收到短信?有没有办法从twilio检查它?
2 回答
Twilio 开发人员布道者在这里。
在使用webhook从 Twilio 发送消息后,您可以将传入消息获取到您的 Twilio 号码并报告消息的状态。
当您发送消息时,您可以包含一个StatusCallback
参数。该参数应该是应用程序中的 URL。
$client->messages
->create(
$to,
array(
"from" => $from,
"body" => "Let's grab lunch at Milliways tomorrow!",
"statusCallback" => "https://example.com/messageStatus"
)
);
statusCallback
每次您的消息状态更改为以下之一时,Twilio 都会向 URL 发送一个 POST 请求: queued、failed、sent、Delivered或undelivered。它将包含原始消息的 SID,因此您可以将这些 webhook 绑定回您发送的消息。
同样,您可以获取这些 Webhook 通知,以接收到您的 Twilio 号码的传入消息。为此,您需要将传入的 webhook URL 设置为Twilio 控制台中的号码。将其设置为应用程序中的 URL,当有人向您的 Twilio 号码发送消息时,您将收到一个 webhook。查看此快速入门指南,了解使用 PHP 将消息发送到您的 Twilio 号码。
让我知道这是否有帮助。
[编辑]
感谢您明确表示这是事后的评论,而不是发送时的评论。
在这种情况下,您绝对可以按发送消息的电话号码列出消息。消息资源包括一个Status
属性,该属性列出了 Twilio 系统中的当前消息状态,从“已接受”和“排队”到“正在发送”、“已发送”、“已交付”、“未交付”和“失败”。您可以在文档中查看有关这些状态的更多信息。
要获取从某个号码发送的消息列表,您可以使用以下代码:
use Twilio\Rest\Client;
// Your Account Sid and Auth Token from twilio.com/user/account
$sid = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
$token = "your_auth_token";
$client = new Client($sid, $token);
// Loop over the list of messages and echo a property for each one
foreach ($client->messages->read(array("from" => $FROM_NUMBER) as $message) {
echo $message->status . " - " . $message->to . " = " . $message->body;
}
您可以提取特定消息的数据https://www.twilio.com/docs/api/messaging/message#delivery-related-errors 或者您可以简单地提取所有日志