我将已发送的消息存储在具有唯一SID的日志表中。使用定期控制台任务,我遍历状态为undelivered
的记录并请求其状态,如果它仍然是undelivered
,我想重新发送该消息。我不想要新的,因为消息包含验证码,我们只存储它的散列。是否可以重新发送具有SID的旧消息?
答案 0 :(得分:2)
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
的所有数据