重新发送Twilio短信

重新发送Twilio短信,twilio,twilio-php,Twilio,Twilio Php,我将发送的消息及其唯一的SID存储在日志表中。通过一个周期性的控制台任务,我迭代状态为未送达的记录,并请求它的状态,如果它仍然是未送达的,我想重新发送这条消息。我不想要一个新的,因为消息包含一个验证码,我们只存储它的散列。是否可以重新发送具有SID的旧邮件?Twilio Developer Evangelist在此 无法使用API自动重新发送未送达的消息。您可以通过按SID抓取消息并将未送达的消息再次发送到具有相同正文的相同号码来解决此问题。使用RESTAPI按SID获取消息时,可以访问该消息中

我将发送的消息及其唯一的SID存储在日志表中。通过一个周期性的控制台任务,我迭代状态为
未送达的记录
,并请求它的状态,如果它仍然是
未送达的
,我想重新发送这条消息。我不想要一个新的,因为消息包含一个验证码,我们只存储它的散列。是否可以重新发送具有SID的旧邮件?

Twilio Developer Evangelist在此

无法使用API自动重新发送未送达的消息。您可以通过按SID抓取消息并将未送达的消息再次发送到具有相同正文的相同号码来解决此问题。使用RESTAPI按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
        );
    }
}

是的,谢谢,我今天就是这么做的。我们还将号码和正文保存在日志中。但是,由于所有消息的详细信息都已与状态一起获取,因此这可能并不那么重要。无论如何谢谢,我会接受答案的。