Java でユーザーに SMS を送信するために、 clickatell SMS ゲートウェイを使用しています。
そのために、私は clickatell に登録し、米国のユーザーに SMS を送信するためにSmall Business API - Americas Regional Trafficを購入しました。双方向番号を有効にしました。私のJavaコードは次のようになります-
String url = "http://api.clickatell.com/http/sendmsg?";
List<NameValuePair> params = new LinkedList<NameValuePair>();
params.add(new BasicNameValuePair("user", "user"));
params.add(new BasicNameValuePair("password", "password"));
params.add(new BasicNameValuePair("api_id", "XXXXX"));
params.add(new BasicNameValuePair("to", "1XXXXXXXXXX"));
params.add(new BasicNameValuePair("text", "Demo Message"));
params.add(new BasicNameValuePair("from", "my-two-way-number"));
params.add(new BasicNameValuePair("mo", "1"));
String paramString = URLEncodedUtils.format(params, "utf-8");
url += paramString;
HttpGet get = new HttpGet(url);
HttpResponse response = client.execute(get);
この Java コードを実行すると、応答でapi-message-id が返されます。clickatell メッセージ レポートでこの api-message-idのステータスを確認しました。これは、ゲートウェイに配信されたと表示されますが、メッセージは電話で受信されました。
私が使用している電話番号の形式は、国コードが 1 で、残りの 10 桁の電話番号です。他の形式で試してみると、エラーが発生します。
[ゲートウェイに配信済み]と表示されているときに電話で SMS を受信しない理由がわかりません