SMSステータスのコールバック
Messages API では、 ステータス・コールバック メッセージの状態(送信、配信、拒否など)が変更された際に、アプリケーションに通知するためです。これらのコールバックにより、SMSを含むすべてのチャネルにわたるメッセージのライフサイクルを把握することができます。 このガイドでは、SMSの配信確認(DLR)がどのように処理され、Messages APIのステータスコールバックにどのように対応付けられるかについて説明します。
Messages API の SMS チャネルを使用してメッセージを送信すると、Vonage の基盤となる SMS API がそのメッセージを通信事業者またはプロバイダーに配信し、配信確認(DLR)を返します。これらの DLR には、メッセージがネットワーク内をどの程度進んだかが記載されています。 その後、Messages API はこれらの SMS DLR を標準化されたステータス・コールバックに変換し、設定された Webhook URL に送信します。
SMSメッセージのライフサイクル
SMSメッセージは通常、以下の段階を経ます:
| ステージ | 説明 | 有料イベント | Messages API のステータス |
|---|---|---|---|
| SMS APIにより承認されました | メッセージは受理され、SMS APIゲートウェイを経由して転送されました。 | はい | submitted |
| デバイスに配信済み | ネットワークからの配信確認応答(DLR)により、メッセージがエンドユーザー端末に到達したことが確認されます。 | 追加料金はかかりません | delivered |
| 有効期限切れ、失敗、または拒否 | メッセージを配信できなかったか、SMS API またはプロバイダーによって拒否されました。 | - | rejected |
注:SMSの配信レポートの信頼性は、通信事業者によって異なる場合があります。一部の通信事業者では、DLRが送信されない場合や、不正確なステータスが報告される場合があります。
SMS DLR と Messages API のステータスコールバックの比較
SMSプロバイダーは送信します 配達受領書(DLR) メッセージの進行状況を示すためです。Messages APIはこれらのDLRを処理し、独自のステータスモデルにマッピングします。
| SMS DLR のステータス | Messages API のステータス | 備考 |
|---|---|---|
accepted |
submitted |
SMS APIがメッセージの配信を受け付けた際に送信されます。 |
buffered |
(無視) | SMS APIではほとんど使用されず、転送されません。 |
delivered |
delivered |
エンドユーザー端末による受信を示します(通信事業者が対応している場合)。 |
expired |
rejected |
内部へのマップ エラーコード 1360. |
failed |
rejected |
プロバイダの障害またはネットワークエラーを示す。 |
unknown |
rejected |
内部へのマップ エラーコード 1330. |
rejected |
rejected |
以下の地図によると MMS/SMS エラーコードの対応表. |
例:SMSステータスのコールバック
SMS API が SMS メッセージを正常に受け付けた場合、 submitted 次のようなコールバック:
{
"message_uuid": "aaaaaaaa-bbbb-cccc-dddd-0123456789ab",
"to": "447700900000",
"from": "447700900001",
"timestamp": "2023-05-01T14:00:00.000Z",
"status": "submitted",
"usage": {
"currency": "EUR",
"price": "0.0333"
},
"client_ref": "string",
"channel": "sms",
"destination": {
"network_code": "12345"
},
"sms": {
"total_count": "2"
}
}
その後、DLRによって配信が確認された場合、別のコールバックが送信され、その内容は以下の通りとなります。 "status": "delivered".