IOSOR Panduan
Webhook duplikat tidak boleh memicu debit kedua
Jalur gagal: percobaan ulang dan putar ulang tetap idempoten pada dana prabayar dan kotak masuk — satu ID peristiwa, satu baris debit, satu baris kotak masuk.
Pengiriman setidaknya sekali akan mencoba lagi. Webhook duplikat yang memposting debit kedua atau baris kotak masuk kedua adalah insiden uang dan operasional, bukan konfirmasi yang tidak berbahaya. Halaman ini adalah jalur gagal: percobaan ulang dan putar ulang tetap idempoten pada dana prabayar dan kotak masuk — bukan esai idempotensi pengiriman API dan bukan buku panduan percobaan ulang SMS masuk.
Terkait: Gerbang tanda tangan dan jendela replay, Kontrak webhook sebelum pengiriman pertama, Baris debit vs status pengiriman di ledger yang sama.
IOSOR adalah prabayar label putih.
Idempotensi adalah jalur gagal, bukan slogan
Jalur sukses: satu peristiwa bertanda tangan, satu penerimaan, satu debit. Jalur gagal membakar kepercayaan — waktu habis, 5xx, putar ulang penyedia, dorongan ulang operator. Simpan kunci idempotensi dari Kontrak webhook sebelum pengiriman pertama sebelum efek samping buku besar, kotak masuk, dan CRM.
Apa yang dihitung sebagai duplikat
| Sinyal | Perlakukan sebagai duplikat saat | Hasil yang aman |
|---|---|---|
| ID peristiwa | ID yang sama sudah diterima dalam jendela | ACK; tidak ada debit kedua |
| ID pesan | Pesan yang sama sudah tertaut buku besar | Gunakan kembali baris; tidak ada biaya baru |
| Kunci kotak masuk | MO/MT yang sama sudah diajukan | Tidak ada baris kotak masuk kedua |
| Di luar jendela replay | Percobaan |
Uang tidak boleh bergerak dua kali
Debit kedua untuk ID peristiwa yang sama adalah bug meskipun produk masih menampilkan terkirim. Keuangan menyaring berdasarkan ID peristiwa dan melihat satu baris prabayar untuk jendela UTC tersebut. Efek samping parsial setelah ACK — CRM dulu, buku besar kemudian — menghasilkan kebenaran ganda. Jika pemrosesan gagal setelah penyimpanan, coba lagi pekerja pada kunci yang sama.
Kotak masuk juga tidak boleh berlipat ganda
Idempotensi bukan hanya tentang uang. Peristiwa masuk atau pengiriman yang diputar ulang membuka utas kotak masuk kedua melatih dukungan untuk mengejar hantu dan memicu putaran balasan otomatis. Simpan kunci kotak masuk dengan ID peristiwa yang sama yang digunakan untuk debit. Produk dan keuangan berbagi logika penolakan yang bersih.
Daftar periksa pembeli untuk webhook yang aman dari duplikat
Validasi tanda tangan dan header sebelum menyentuh buku besar. Kunci ID peristiwa dalam basis data untuk memblokir kondisi balapan. Selalu kembalikan 2xx setelah berhasil diproses tetapi jangan pernah menulis debit kedua. Pemantauan harus melaporkan peristiwa duplikat secara instan.
Mulai dengan IOSOR
Paksa satu replay bertanda tangan di dalam jendela pada koridor yang sudah menagih. Ekspor event id di samping id buku besar dan buktikan satu baris debit plus satu baris kotak masuk. Jika debit kedua muncul, hentikan konsumen itu dan kembalikan baris lebih — jangan net-kan dengan lalu lintas kemudian. Gerbang ini uang replay, bukan cek E.164 dan bukan naskah pengiriman.
Intisari IOSOR
Replay bukan kiriman baru. Satu event id menulis satu debit.
Lakukan: biarkan tanda tangan dan jendela replay menyala, lalu buktikan satu debit setelah POST dalam jendela. Jangan: debit setiap POST, atau anggap coba ulang jaringan sebagai faktur kedua.
Apakah panduan ini membantu?
Panduan terkait
- Memantau Metrik Kesehatan Titik Akhir Webhook
Pelajari cara melacak latensi respons penerima dan kode status dalam platform IOSOR untuk mengelola kesehatan webhook secara proaktif dan mencegah kegagalan callback.
- Mengonfigurasi Peringatan Webhook Ambang Batas untuk Saldo Wallet
Pelajari cara mengonfigurasi webhook ambang batas saldo otomatis di IOSOR untuk memantau akun prabayar, mencegah gangguan layanan, dan mengelola penyediaan nomor JIT secara efektif.
- Memproses Peristiwa Webhook Just-in-Time Provisioning
Kuasai siklus hidup real-time saluran masuk menggunakan webhook JIT IOSOR. Otomatiskan penugasan nomor dan pembaruan buku besar untuk CPaaS white-label Anda.