重新发送 Twilio SMS 消息

Re-send a Twilio SMS Message

我将已发送的消息及其唯一的 SID 存储在日志中 table。通过定期控制台任务,我遍历状态 = undelivered 的记录并请求它的状态,如果它仍然是 undelivered,我想重新发送该消息。我不想要一个新的,因为消息包含验证码,我们只存储它的哈希值。是否可以重新发送具有其 SID 的旧消息?

这里是 Twilio 开发人员布道师,

无法使用 API 自动重新发送未送达的邮件。您可以通过 SID 抓取消息并将未送达的消息再次发送到具有相同正文的相同号码来解决此问题。当您使用 REST API 通过 SID 获取消息时,您可以访问该消息的所有数据,包括确切的消息正文。

使用 Twilio PHP 库的简单示例如下所示:

<?php
$client = new Services_Twilio($AccountSid, $AuthToken);

$messageSIDs = array("Insert", "Array of", "Message SIDs", "here");

foreach ($messageSIDs as $sid) {

    $msg = $client->account->messages->get($sid);

    if ($msg->status == "undelivered") {
        echo "Resending undelivered message for SID: $sid\n";
        $sms = $client->account->messages->sendMessage(

            // The number we are sending from.
            $msg->from,

            // The number we are sending to.
            $msg->to,

            // The sms body.
            $msg->body
        );
    }
}

您可以看到 REST API 为您提供的有关消息的所有数据 here