SMS yang sudah diterima tetap bisa gagal karena nomor tidak valid, perangkat tidak terjangkau, atau masalah jaringan. Catatan pesan, event pengiriman, dan kesalahan yang dikembalikan membantu membedakan hasil tersebut dari pemfilteran.
Bagaimana cara menyelidiki dugaan pemfilteran?
Anda membandingkan catatan pesan dengan peristiwa SMS terkait. Peristiwa menjelaskan hasilnya; kesalahan dan detail penyedia membantu menjelaskan penyebabnya.
| Event | Yang ditunjukkan event |
|---|---|
sms.rejected | Pemrosesan atau provider hilir menolak pesan yang sudah diterima. |
sms.failed | Kegagalan permanen dilaporkan. |
sms.undelivered | Kegagalan yang dapat dipulihkan dilaporkan, seperti pelanggan tidak terjangkau atau masalah jaringan. |
sms.expired | Provider melaporkan kedaluwarsa. |
Tidak ada satu event pun yang membuktikan pemfilteran. Dalam pemetaan delivery receipt Bird, alasan provider carrier_rejected menjadi content_rejected. Alasan yang tidak terpetakan menjadi unknown, yang memerlukan investigasi dan mungkin memiliki penyebab yang tidak terkait. Status receipt menentukan event secara terpisah dari alasannya, sehingga penolakan operator bisa menyertai event kegagalan yang berbeda-beda.
Katalog kesalahan mendefinisikan blocked_by_carrier dan sender_unregistered. Ketiadaan keduanya tidak meniadakan kemungkinan penyaringan: Bird memetakan carrier_rejected ke content_rejected dan penyebab yang tidak dipetakan ke unknown. Periksa kode yang benar-benar dikembalikan, simpan nilai yang tidak dikenal, dan pertahankan detail penyedia.
Detail apa saja yang harus saya simpan?
Simpan message ID, pengirim, tujuan, waktu pengiriman, tipe event, error.code yang dinormalisasi, deskripsi, dan carrier_error_code. Kelompokkan kegagalan berdasarkan tujuan, pengirim, dan tipe pesan; satu kegagalan memberikan bukti lebih sedikit dibandingkan perubahan yang memengaruhi kelompok pengiriman yang konsisten.
Kode yang dinormalisasi adalah kolom stabil untuk penanganan aplikasi Anda. Deskripsi adalah teks diagnostik, jadi jangan parsing sebagai kontrak tetap. carrier_error_code membawa kode yang lebih detail dari provider pengiriman jika tersedia; tidak dijamin sebagai kode milik operator seluler. Kolom ini bisa kosong jika provider tidak menyediakannya atau jika kegagalan terjadi sebelum serah terima ke provider.
Misalnya, content_rejected mengarahkan Anda ke penolakan yang dilaporkan, invalid_destination ke nomor penerima, dan provider_unavailable ke hasil jaringan atau kapasitas. unknown membiarkan penyebab tidak terselesaikan. Bagikan message ID dan kode provider yang tersedia ke dukungan jika detail tersebut tidak menjelaskan kegagalannya.
Apakah mendaftarkan pengirim saya mencegah pemfilteran?
Pendaftaran memenuhi program pengirim yang berlaku; pendaftaran tidak menjamin pengiriman. Pengirim juga harus memenuhi syarat untuk tujuan tersebut, dan pesan serta lalu lintas harus memenuhi persyaratan yang relevan.
Untuk pesan A2P AS dengan nomor lokal, periksa pendaftaran 10DLC secara lengkap: brand, campaign, dan penautan nomor. Brand atau campaign yang disetujui tidak secara otomatis menautkan setiap nomor yang Anda miliki. Program toll-free dan short code memiliki persyaratan yang berbeda. Tujuan lain mungkin memerlukan pendaftaran nama pengirim.
Gunakan destinasi SMS untuk merencanakan pilihan pengirim, lalu konfirmasi persyaratan yang berlaku dan status pendaftaran workspace Anda sebelum peluncuran. Panduan negara adalah snapshot referensi, bukan bukti bahwa pengirim Anda sudah disetujui.
Apa yang harus saya lakukan dengan kegagalan opt-out?
Hormati preferensi tersebut. Pengiriman ke pasangan pengirim-dan-penerima yang disupresi Bird ditolak di API dengan E12077; penolakan tersebut tidak membuat pesan atau event pesan. Laporan hilir berupa recipient_opted_out berbeda: itu adalah hasil untuk pesan yang sudah diterima dan menyebabkan Bird mencatat supresi untuk pasangan tersebut.
Kata kunci berhenti berlangganan yang didukung dapat membuat blokir untuk pasangan pengirim dan penerima. Peristiwa pemblokiran tingkat pasangan tidak mewakili setiap preferensi workspace atau setiap permintaan melalui layanan pelanggan. Sertakan preferensi yang lebih luas tersebut dalam pemilihan audiens. Jangan mengganti pengirim untuk menghindari permintaan berhenti berlangganan.
Apa yang harus saya periksa sebelum mencoba lagi?
- Kesiapan pengirim. Konfirmasi tipe pengirim, pendaftaran, dan akses tujuan yang diperlukan untuk lalu lintas ini.
- Izin dan relevansi. Konfirmasi bahwa orang tersebut menyetujui tujuan ini dan belum mencabut izinnya.
- Konten dan tautan. Identifikasi bisnis dengan jelas, gunakan tautan yang sesuai, dan tinjau persyaratan konten tujuan. Mengubah tautan saja tidak dapat memenuhi kelayakan pengiriman.
- Lalu lintas dan waktu. Bandingkan pengiriman yang gagal dengan pola normal Anda, antrean, dan batas rute. Mengirim ulang konten yang sama yang ditolak secara berulang dapat menambah biaya tanpa memperbaiki penyebabnya.
- Kegagalan yang dilaporkan. Selidiki penolakan permanen sebelum mengirim ulang. Untuk respons API yang ambigu, gunakan kembali idempotency key asli dalam replay window-nya; jangan mengubah ketidakpastian menjadi permintaan kedua secara otomatis.
Perutean SMS menerapkan kontrol tujuan sebelum penyerahan ke operator. Integrasi SMS melacak setiap permintaan yang diterima melalui catatan pesan dan peristiwa pengirimannya.
Singkatnya
Pengiriman yang gagal adalah titik awal investigasi.
Peristiwa, kesalahan yang dinormalisasi, dan detail penyedia menjelaskan kegagalan. Penyebab yang tidak diketahui tidak membuktikan adanya penyaringan oleh operator.
Pendaftaran adalah satu persyaratan, bukan jaminan pengiriman.
Periksa pengirim, tujuan, konten, izin, dan pola lalu lintas sebelum memutuskan apa yang perlu diubah.
Opt-out adalah preferensi yang harus dihormati.
Bedakan penolakan API untuk pasangan yang disupresi dari laporan opt-out hilir, dan hormati cakupan penuh permintaan orang tersebut.
Simpan bukti bersama pesannya.
Simpan message ID, tujuan, pengirim, waktu, event, dan detail kesalahan agar Anda dapat menyelidiki pola atau mengajukan kasus dukungan yang berguna.