配達状況レポート
SMS APIへのリクエストが成功すると、メッセージごとに1つのmessageオブジェクトの配列が返されます。理想的には、これらは成功を示すstatusが0になります。ただし、これはメッセージが受信者に届いたことを意味するわけではありません。これは、メッセージが送信のために正常にキューイングされたことを意味するにすぎません。
Vonageのアダプティブルーティングは、メッセージに最適なキャリアを特定します。選択されたキャリアがメッセージを配信すると、配達状況レポート(DLR)を返します。
アプリケーションでDLRを受信するには、Vonageがそれらを送信するためのwebhookを提供する必要があります。あるいは、レポートAPIを使用して、メッセージごとの配信ステータスを含むレコードを定期的にダウンロードすることもできます。
注: ほとんどの場合、DLRはメッセージが配信されたことを示す信頼性の高い指標です。ただし、絶対的な保証ではありません。配達状況レポートの仕組みをご覧ください。
配達状況レポートの仕組み
配達状況レポートには以下の2種類があります。
- キャリア - サービスプロバイダーがメッセージを受信したときに返されます。
- 端末 - ユーザーの端末がメッセージを受信したときに返されます。
すべてのDLRが、ターゲットがメッセージを受信したことを保証するわけではありません。一部の配達状況レポートは、メッセージを別のオペレーターに渡すなど、配信プロセスの1つの段階の正常な完了を示すだけです。偽の配達状況レポートも存在します。このため、VonageはDLRが正確であることを完全に保証することはできません。これは、メッセージを送信する国と関係するプロバイダーによって異なります。
メッセージが1通のSMSで送信できる長さを超える場合、メッセージは連結されます。連結されたSMSの各部分に対して、キャリアDLRを受信する必要があります。連結されたメッセージの端末DLRは遅延します。これは、ターゲット端末が完全なメッセージの受信を確認する前に、連結されたメッセージの各部分を処理する必要があるためです。
配達状況レポートの理解
これは一般的なDLRです。
{
"err-code": "0",
"message-timestamp": "2018-10-25 12:10:29",
"messageId": "0B00000127FDBC63",
"msisdn": "447547232824",
"network-code": "23410",
"price": "0.03330000",
"scts": "1810251310",
"status": "delivered",
"to": "Nexmo CLI"
}
status と err-code の各フィールドにはメッセージの配信状況とエラーの要因が表示されるため最も重要なフィールドです。
DLR ステータスメッセージ
DLR のstatusフィールドには SMS が正常に配信されたかどうかが示され、以下の値が表示される可能性があります。
status | 説明 |
|---|---|
accepted | メッセージは配信を受け付けましたがまだ配信されていません |
delivered | メッセージは配信済みです |
buffered | メッセージはバッファリングされ、後で配信されます |
expired | メッセージはダウンストリームの通信会社の再送信方式で保留され、期限内に配信不能です |
failed | メッセージは配信されませんでした |
rejected | ダウンストリームの通信会社がメッセージの配信を拒否しています |
unknown | 関連情報がありません |
DLR エラーコード
DLR の err-code フィールドには、配信エラーのトラブルシューティングに役立つ詳細情報が表示されます。コードがゼロの場合を除き、メッセージは配信されなかったことになります。
err-code | 意味 | 説明 |
|---|---|---|
| 0 | 配信済み | メッセージは正常に配信されました |
| 1 | 不明 | メッセージは配信されませんでした。理由は不明です |
| 2 | 受信者不在 - 一時的 | 携帯電話が一時的に受信不能であったためメッセージを配信できませんでした。再試行してください |
| 3 | 受信者不在 - 永続的 | この電話番号は使用されなくなったためデータベースから削除してください |
| 4 | ユーザーがコールを拒否 | これは永続的エラーであるため、この電話番号をデータベースから削除してください。ユーザーはネットワークオペレーターに拒否の解除を依頼する必要があります |
| 5 | 移植性エラー | 電話番号の移植性にかかわる問題があります。ネットワークオペレーターに連絡し、問題を解決してください |
| 6 | スパム対策フィルターにより拒否 | メッセージは通信会社のスパム対策フィルターによってブロックされました |
| 7 | 携帯電話を使用中 | 現在携帯電話を使用中であるため、メッセージを送信できませんでした。再試行してください |
| 8 | ネットワークエラー | ネットワークエラーが生じたためメッセージを送信できませんでした。再試行してください |
| 9 | 不正な電話番号 | 受信者は特定サービスからのメッセージを配信しないよう明示的にリクエストしています |
| 10 | 不正メッセージ | メッセージパラメーターにエラーがあります (例: 不正なエンコードフラグ) |
| 11 | ルーティング不可 | Vonage はメッセージを配信するための適切なルートを見つけられません - サポート までご連絡ください |
| 12 | 送信先に到達不能 | 電話番号へのルートが見つかりません。受信電話番号を確認してください |
| 13 | 受信者の年齢制限 | 年齢が理由で送信先はメッセージを受信できません |
| 14 | 通信会社が電話番号をブロック | 受信者は加入プランで SMS が有効になるよう通信会社に依頼する必要があります |
| 15 | プリペイド額が不足 | 受信者はプリペイドプランに加入しており、残額不足でメッセージを受信できません |
| 16 | ゲートウェイのクォータ超過 | 許可された期間あたりのリクエスト数を超過したため、メッセージの配信に失敗しました。注意: このエラーは、米国およびフランスで登録されたアカウントでのみ表示されます。 |
| 17 | プロバイダーによるメッセージのブロック | メッセージングプロバイダーがこのメッセージをブロックすることを選択しました。これは、コンテンツまたはプロバイダーによって課せられた制限による可能性があります。 |
| 20 | Fraud Defenderトラフィックルール | メッセージはFraud Defenderトラフィックルールによって拒否されました。トラフィックルールを確認(顧客ダッシュボード内)。Fraud Defenderトラフィックルールの詳細情報 |
| 21 | 異常な連続ダイヤルを検出しました | 高密度連絡先番号範囲の閾値を超過しました |
| 22 | 異常なトラフィックバーストを検出しました | 相対的な増加の閾値を超過しました |
| 23 | AIT保護 | メッセージはFraud Defender AIT Protectionによって拒否されました |
| 39 | 米国宛先の不正な送信元アドレス | 米国に送信されるすべてのSMSは、Vonageアカウントに関連付けられた米国の事前承認済みロング番号またはショートコードから送信される必要があります。米国SMSの機能と制限の詳細情報 |
| 41 | 1日の制限を超過しました | 期間の最大ボリュームに達したため、送信制御が調整されました |
| 50 | エンティティフィルター | entity-idが不正であるか、または提供されていないため、メッセージは失敗しました。国別の規制に関する詳細情報 |
| 51 | ヘッダーフィルター | ヘッダーID(送信元電話番号)が不正であるか、または欠落しているため、メッセージは失敗しました。国別の規制に関する詳細情報 |
| 52 | コンテンツフィルター | content-idが不正であるか、または提供されていないため、メッセージは失敗しました。[国別の規制に関する詳細情報](https://api.support.vonage.com/hc/en-us/sections/200622473-Country-Specific-Features-and-Restrictions |
| 53 | 同意フィルター | 同意が承認されていないため、メッセージは失敗しました。国別の規制に関する詳細情報 |
| 54 | 規制エラー | 予期しない規制エラー - サポートにお問い合わせください |
| 99 | 一般的なエラー | リクエストの処理中にエラーが発生しました - サポート までご連絡ください |
DLR の他のフィールドの説明については、API の関連情報を参照してください。
SMS 用 API のキャンペーンでの使用
メッセージングキャンペーンを開始する前に、国特有の機能ガイドで送信先の国について確認します。送信先の国で信頼性の高い DLR が提供されない場合、コンバージョン用 API を使用して Nexmo のデータポイントを増やし、ルーティング方法を最適化します。
各送信メッセージに参照情報を含めて、顧客やキャンペーンを具体的に特定することもできます。これらの情報は受信確認に含まれます。client-refパラメーターを 40 文字以内で指定して、選択した参照をリクエストに渡します。
関連情報
- Web フックガイド — Nexmo プラットフォームと Web フックの併用方法に関する詳細なガイド
- SMS が配信されない理由- トラブルシューティングに役立つヒント