我目前正在使用clickatell使用FOR方法将msg发送到单个数字
for($i = 0;$i < count($textrecievers); $i++){
$url = 'http://api.clickatell.com/http/sendmsg?user=user&password=****&api_id=00000&to=1'.$textrecievers[$i].'&text='.$msgtxt.'&mo=1&from='.$_SESSION['routing'];
$ret = file($url);
}
这个问题是我无法向数据库报告,如果其中一个失败,因为我无法使用此方法
$send = explode(":",$ret[0]);
if ($send[0] == "ID") {
echo 'OK';
}
有没有办法将其作为批量文本发送,如下所示:
$to = array('1111111111','2222222222','3333333333')
然后把它放在usr中
$url = 'http://api.clickatell.com/http/sendmsg?user=user&password=****&api_id=00000&to='.$to.'&text='.$msgtxt.'&mo=1&from='.$_SESSION['routing'];
因此它会在1开始将它发送到数组中的所有数字,所以我可以报告它是否成功。
答案 0 :(得分:3)
不确定我是否理解您的问题,但您可以用逗号分隔这样的手机号码:
你可以用逗号分隔大约300个数字与HTTP GET是安全的(还有更多的POST,如800 - 取决于你等待超时多长时间。)
//逗号分隔并为国家/地区代码添加前导1 $ comma_separated = implode(&#34;,1&#34;,$ YourArray);
您将收到每条消息的跟踪消息ID(或错误),因此您可以跟踪是否有任何特定号码被拒绝。
这是否回答了你的问题?
答案 1 :(得分:0)
不幸的是,您无法再在一次调用中使用http
API发送多个号码(您可以循环调用多次调用API)
您可以在一个HTTPS中向单个手机发送消息 请求。
另一种选择是使用REST
API发送多个号码(根据他们的文档,每个号码最多200个):https://www.clickatell.com/developers/api-documentation/rest-api-send-message/