SMSの送信ステータスを確認しよう


前回のチュートリアルでは、SMSを送信しましたよね。 CURL コマンドを実行した後に、msgid という文字列が返されたのに気が付きましたか? こんな感じですよ〜。 [{"msgid":"tHi5i5y0urMsGIdt3xT"}] これが返されていれば、SMSがちゃんと送られた、ってことです。そうでなければ、別のメッセージが返されていたはず。 でも、送信したメッセージが、ちゃんと受信されたかどうかって、どうやって確認するんでしょう?

SMS送信をチェックするコマンド

SMSの_送信ステータスの確認_にも、送信に使ったみたいに、やっぱりCURLを使いま〜す。 違うのは、つけるパラメーターと、URLだけですよ!

SMSの送信ステータスを確認するには、これを実行してみてね!

curl -u th3ApISiDt3xtTh4tyoUcoPied:Th3aUthT0k3nth4tY0uCopi3D \
https://api.xoxzo.com/sms/messages/tHi5i5y0urMsGIdt3xT/

ちゃんと送信できていたら、JSONレスポンスが返されるはず。こんな感じ。

HTTP/1.1 200 OK
Content-Type: application/json

{
    "status": "DELIVERED",
    "sent_time":"2015-08-27 09:22:32",
    "cost": 10,
    "sender": "your_number",
    "recipient": "your_recipientnumber",
    "url": "https://api.xoxzo.com/sms/messages/tHi5i5y0urMsGIdt3xT/",
    "msgid": "tHi5i5y0urMsGIdt3xT"
}

もちろん、costの部分は、送信したメッセージの数によるわね。 XoxzoのSMS送信料金を見て、確認してね!

送信したメッセージのステータスは、DELIVERED(配信成功)ばかりじゃないわよ。 下のリストにまとめてみたから、参考にしてね。

                             
メッセージステータス  詳細 
QUEUED メッセージは配信待ち
DELIVERED メッセージは配信成功
DELIVERING メッセージは配信中
FAIL メッセージは配信失敗

msgidを加えずに、確認したら?

こんな感じで実行しちゃうと、

curl -u th3ApISiDt3xtTh4tyoUcoPied:Th3aUthT0k3nth4tY0uCopi3D \
https://api.xoxzo.com/sms/messages/

過去90日間にあなたが送ったSMSゼンブのステータスを表示しま〜す!

スクリーンがいっぱいに! 日付ごとのステータスって確認できる?

もっちろん!日付をパラメーターに含めたら、その日付のSMS送信ステータスを見れるわよ! 日付のフォーマットは、year-month-day つまり 西暦年-月-日 でお願いね。実行するには、こういう風になりま〜す。

curl -u th3ApISiDt3xtTh4tyoUcoPied:Th3aUthT0k3nth4tY0uCopi3D \
https://api.xoxzo.com/sms/messages/?sent_date=2017-10-31

もし、その日付にSMS送信がなかったら、200 OK レスポンス が返されるけど、中身は空っぽのはずよ。

HTTP/1.0 200 OK
Content-Type: application/json

[]

送信ステータスの確認ができるのは、過去90日まで。それ以外の日付を設定しちゃうと、こういうレスポンスが返りま〜す。

HTTP/1.0 400 Bad Request
Content-Type: application/json

{
    "sent_date": [
        "Invalid sent_date"
    ]
}

パラメーターが間違っているときも、400 Bad Request レスポンスが返りますよ〜。

お疲れさま、今回のチュートリアルは、ここまで! XoxzoのSMS送信ドキュメンテーションで、もっと詳しいところを確認してね!

ほかにも、Xoxzoでできる、すごいこと、たくさんあるから、その他のドキュメンテーションも、読んでみてね。質問があったら、連絡してね。

ではまた次回!

ミコちゃんのチュートリアル・シリーズ好評不定期連載中

こちらもオススメ