2

現在、FORメソッドを使用して単一の番号にメッセージを送信するためにclickatellを使用しています

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);
            }

これの問題は、この方法を使用できないため、そのうちの1つが失敗した場合、データベースに報告できないことです

$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'];

そのため、配列内のすべての番号に一度に送信されるため、成功したかどうかを報告できます。

4

2 に答える 2

3

あなたの質問を正しく理解しているかどうかわかりませんが、次のように携帯電話番号をコンマで区切ることができます:

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

安全のために HTTP GET を使用して約 300 の数字をコンマで区切ることができます (800 などの POST を使用すると、タイムアウトまでの待機時間によってはさらに多くの数字をカンマで区切ることができます)。

// コンマで区切り、国コードの先頭に 1 を追加 $comma_separated = implode(",1", $YourArray);

メッセージ (またはエラー) ごとに追跡メッセージ ID を受け取るので、特定の番号が拒否されたかどうかを追跡できます。

これはあなたの質問に答えていますか?

于 2015-06-08T07:03:25.123 に答える