使用clickatell php gateway API

时间:2015-06-07 23:24:10

标签: php sms clickatell

我目前正在使用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开始将它发送到数组中的所有数字,所以我可以报告它是否成功。

2 个答案:

答案 0 :(得分:3)

不确定我是否理解您的问题,但您可以用逗号分隔这样的手机号码:

http://api.clickatell.com/http/sendmsg?api_id=....&to=123456789,123456789,123456789,123456789,123456789,123456789&text= ....

你可以用逗号分隔大约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/