Webhook account_update dan setiap alasan pemutusan koneksi
account_update adalah cara Meta melaporkan bahwa status koneksi berubah. Field event menyebutkan apa yang terjadi, sedangkan untuk pemutusan, disconnection_info.reason menyebutkan alasannya. Alasan itu menentukan apakah nomor akan kembali atau benar-benar hilang.
Event yang dikirim Meta saat aplikasi dihapus dari akun.
Alasan pemutusan bernama yang dapat disertakan dalam penghapusan koneksi.
Jendela ketidakaktifan perangkat utama, yang muncul sebagai PRIMARY_INACTIVITY.
Event apa saja yang dibawa account_update?
PARTNER_REMOVED, saat aplikasi dihapus dari WhatsApp Business Account. Ini adalah sinyal pemutusan koneksi yang menjadi acuan utama dan layak dijadikan dasar, bukan menyimpulkan pemutusan dari suatu field yang berubah menjadi false.
ACCOUNT_OFFBOARDED, saat nomor sepenuhnya dikeluarkan. ACCOUNT_RECONNECTED, saat koneksi yang sebelumnya dihapus kembali. Ada juga event penegakan: ACCOUNT_RESTRICTION dan ACCOUNT_VIOLATION, bersama event yang namanya memuat DISABLED atau BAN.
Hasil verifikasi dan persetujuan juga tiba di sini, dengan nama event yang memuat VERIFIED atau APPROVED. Handler harus menggunakan nama event sebagai dasar keputusan dan memperlakukan apa pun yang tidak dikenali sebagai informasi, bukan gagal memprosesnya, karena Meta dapat menambahkan event tanpa pemberitahuan.
Apa saja alasan pemutusannya?
Ada enam, dan maknanya sangat berbeda.
PRIMARY_INACTIVITY adalah aturan sekitar empat belas hari: aplikasi WhatsApp Business tidak dibuka di perangkat utama. Koneksi dapat dipulihkan, dan ini adalah alasan yang paling umum.
COMPANION_INACTIVITY memiliki gagasan yang sama pada perangkat pendamping, dengan jendela yang lebih panjang, sekitar tiga puluh hari.
BUSINESS_DOWNGRADE berarti nomor kembali menggunakan aplikasi WhatsApp untuk konsumen. Ini mengakhiri Coexistence karena Coexistence memerlukan aplikasi Business.
CHANGE_NUMBER berarti nomor teleponnya sendiri berubah. USER_RE_REGISTERED berarti nomor tersebut didaftarkan ulang di perangkat baru. ACCOUNT_DISCONNECTED berarti klien sengaja memutuskan koneksi tersebut, atau pemutusan dilakukan oleh penegakan sistem.
Alasan itu juga tiba bersama disconnection_info.initiated_by, yang menyatakan apakah tindakan tersebut dilakukan oleh seseorang atau sistem.
Mengapa alasan lebih penting daripada event?
Karena PARTNER_REMOVED saja tidak memberi tahu Anda tindakan yang harus diambil.
Nomor yang dihapus karena PRIMARY_INACTIVITY akan kembali: bisnis membuka aplikasi, tersambung kembali, dan semuanya berlanjut. Jika diperlakukan sebagai pelanggan yang pergi, hasilnya adalah email pembatalan terkirim kepada seseorang yang masih menjadi pelanggan.
Nomor yang dihapus karena BUSINESS_DOWNGRADE atau ACCOUNT_DISCONNECTED adalah situasi yang berbeda. Jika dianggap sementara, koneksi dapat tertahan tanpa kepastian selamanya.
Jika penghapusan tiba tanpa alasan, initiated_by menjadi acuan cadangan: penghapusan yang dilakukan seseorang menunjukkan tindakan yang disengaja, sedangkan penghapusan sistem tanpa penjelasan tidak demikian. Pembedaan ini sebaiknya dibuat di dalam kode, bukan baru dibahas dalam percakapan dengan dukungan pelanggan.
Kesalahan umum
- Memperlakukan semua PARTNER_REMOVED dengan cara yang sama. Alasan pemutusan membedakan dua minggu tanpa aktivitas dari pelanggan yang benar-benar pergi.
- Menyimpulkan pemutusan dari suatu field yang berubah menjadi false, bukan dari event ini. Itulah yang menimbulkan alarm palsu.
- Gagal memproses nama event yang tidak dikenali. Meta menambahkan event, dan handler harus melewati event yang belum dikenalnya.
EasyCoexistence menangani semuanya berdasarkan nama, mencatat alasannya di linimasa koneksi, serta memisahkan penghapusan karena ketidakaktifan yang dapat dipulihkan dari nomor yang benar-benar hilang.
Pertanyaan yang sering diajukan
Apakah PARTNER_REMOVED bersifat permanen?
Biasanya tidak. Sebagian besar tiba dengan PRIMARY_INACTIVITY, yang berarti aplikasi tidak dibuka dan penyambungan kembali memulihkan semuanya.
Apakah penyambungan kembali memulihkan tujuan webhook saya?
Tidak, dan di sinilah letak jebakannya. Tujuan tersebut adalah override pada langganan aplikasi dan ikut dihapus bersamanya. Tujuan itu harus diterapkan kembali.
Apa itu COMPANION_INACTIVITY?
Gagasan ketidakaktifan yang sama pada perangkat pendamping, bukan perangkat utama, dengan jendela yang lebih panjang, sekitar tiga puluh hari.
Bisakah saya menerima event ini tanpa alasan?
Ya. Jika itu terjadi, disconnection_info.initiated_by adalah satu-satunya sinyal untuk mengetahui apakah pemutusan tersebut disengaja.
Lanjut membaca
Siap memulai?
Konfigurasikan WhatsApp Coexistence dalam hitungan menit, bukan bulan. Aplikasi tetap berfungsi di ponsel.
Mulai uji coba gratisDiverifikasi pada