Setup Webhook URL
Daftarkan URL webhook kamu melalui dashboard di bagian Pengaturan Webhook. URL yang didaftarkan harus:- Dapat diakses publik dari internet
- Mendukung method
POST - Mengembalikan HTTP status
200sebagai tanda berhasil menerima event
Struktur Payload
WABeres mengirim payload dalam format JSON via HTTPPOST ke URL webhook kamu.
Pesan Masuk (incoming_message)
Verifikasi Signature
Setiap request webhook menyertakan tiga header tambahan:
Signature webhook dibuat dengan cara:
HMAC-SHA256(secret_key, webhook_id + timestamp + raw_body)
Berbeda dengan signature API request, body pada webhook tidak di-hash SHA256
terlebih dahulu — body JSON ditulis langsung ke dalam HMAC.
Contoh verifikasi di Go:
Mekanisme Retry
Jika server kamu tidak mengembalikan HTTP200, WABeres akan otomatis
mencoba mengirim ulang event hingga 5 kali dengan jeda antar retry
menggunakan random jitter — interval acak untuk menghindari thundering
herd ke servermu.
Pastikan endpoint webhook kamu idempotent — artinya menerima event yang
sama lebih dari sekali tidak menyebabkan duplikasi data di sistemmu,
karena retry dapat mengirim payload yang identik.
Best Practices
Respond cepat, proses belakangan. Kembalikan HTTP200 sesegera mungkin
setelah menerima webhook, lalu proses payload secara async. Jika pemrosesan
memakan waktu lama, koneksi bisa timeout dan WABeres akan menganggap pengiriman gagal.
Selalu verifikasi signature. Jangan proses payload dari request yang
signature-nya tidak valid — ini bisa jadi indikasi request palsu dari pihak lain.
Gunakan chat_id sebagai idempotency key. Simpan ID pesan yang sudah
diproses untuk menghindari duplikasi saat retry terjadi.
Selanjutnya
Kirim Pesan
Kirim pesan teks ke nomor WhatsApp tujuan