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".

詳細情報