必要な情報はすべて、不要な情報は一切なし
「配信済み」の正確な定義
DELIVRDは、受信者のMSCが端末への無線配信に成功したことを報告したことを意味します。つまり、ネットワーク側での配信は完了しています。これは、ユーザーがメッセージを読んだことや、メッセージングアプリを開いたこと、あるいは画面がオンであったことを意味するものではありません。DLRは既読確認ではなく、ネットワークレベルの到達確認として扱ってください。(既読確認については、RCSまたはWhatsAppを使用してください。)
実際に発生するエラーコード
GSM原因コード1–127は、プロトコルレベルの理由(加入者の不在、機器の故障など)です。SMPPエラーコード0x0000–0x00FFは、SMPPレベルの理由(無効な送信元アドレス、輻輳)です。通信事業者固有のTLVには、より詳細なコンテキスト(電波の圏外、端末のメモリ不足)が含まれることがあります。優れたアグリゲーターは、ノイズの多い通信事業者のコードを、実用的なクリーンなエラー分類へと変換します。BroadNetのDLRフィードは、200以上の通信事業者間で、25種類のコードによるエラー語彙へと正規化します。
DLRの受信が遅れる理由
理由は多くあります。ローミング中の加入者が数時間にわたりネットワーク外にいる場合、あるいはSMSCのストア・アンド・フォワードが有効期間内(デフォルト24時間、一部の通信事業者は最大72時間)に再試行を繰り返す場合などが挙げられます。また、通信事業者のA2Pルーティングパスが3つの介在するSMSCを経由し、それぞれがキューの遅延を発生させることもあります。高度なモニタリングにより、宛先通信事業者ごとのDLRレイテンシ(p50/p95/p99)を追跡し、配信ルートの品質が低下した際にアラートを通知します。詳細は/products/dlr-monitoringのパターンを参照してください。
DLRの活用方法
3つのアクションがあります。まず、記録システム上でメッセージを「配信済み」または「失敗」としてマークします。次に、後続のビジネスロジック(カート復帰フローの継続やOTPの再試行など)をトリガーします。そして、アグリゲーターがリバランスを行えるよう、配信ルートの品質スコアボードにフィードバックします。3つ目のアクションこそが、単なる回線とCPaaSを分ける要素です。BroadNetは、お客様のDLRを使用してリアルタイムに配信ルートの選択を行います。