Webhooks

Berlangganan Webhooks untuk mendapatkan notifikasi tentang pesan yang diterima bisnis Anda dan pembaruan profil pelanggan.

Membuat endpoint

Sebelum Anda dapat mulai menerima notifikasi, Anda harus membuat endpoint di server Anda untuk menerima notifikasi.

Endpoint harus dapat memproses dua jenis permintaan HTTPS: Permintaan Verifikasi dan Notifikasi Peristiwa. Karena kedua permintaan ini menggunakan HTTP, server harus memiliki TLS yang valid atau sertifikat SSL yang secara tepat dikonfigurasi dan diinstal. Sertifikat yang ditandatangani sendiri tidak didukung.

Pelajari selengkapnya tentang Memverifikasi Permintaan dan Notifikasi Peristiwa.

Berlangganan webhooks

Untuk berlangganan Webhooks, Anda harus mendapatkan ID dan izin Aplikasi Meta. Untuk melakukan ini, buka Dasbor Aplikasi Meta. Di sana Anda akan:

  1. Membuat Aplikasi Jenis Bisnis di Dasbor Aplikasi Meta.
  2. Menambahkan Produk Webhooks ke aplikasi Meta Anda di Dasbor Aplikasi.

Izin

Untuk menerima webhooks, Anda memerlukan izin berikut:

Jika Anda adalah penyedia solusi dan Anda memerlukan webhooks ini untuk menyediakan layanan pengiriman pesan kepada pelanggan bisnis yang terdaftar, Anda harus disetujui untuk advanced access untuk izin ini, melalui Tinjauan Aplikasi.

Memahami webhooks

Setiap kali peristiwa pemicu terjadi, Platform WhatsApp Business melihat peristiwa tersebut dan mengirimkan notifikasi ke URL Webhooks yang telah Anda tentukan sebelumnya. Anda bisa mendapatkan dua jenis notifikasi:

  • Pesan diterima: Pemberitahuan ini mengabari Anda saat Anda menerima pesan. Ini juga bisa disebut sebagai "notifikasi masuk" di seluruh dokumentasi.
  • Notifikasi status pesan dan harga: Pemberitahuan ini memberi tahu Anda ketika status pesan telah berubah —contoh: pesan telah dibaca atau tersampaikan. Ini juga dapat disebut sebagai "notifikasi keluar" di seluruh dokumentasi.

Semua Webhooks memiliki format umum berikut:

{
  "object": "whatsapp_business_account",
  "entry": [{
      "id": "WHATSAPP_BUSINESS_ACCOUNT_ID",
      "changes": [{
          "value": {
              "messaging_product": "whatsapp",
              "metadata": {
                  "display_phone_number": "PHONE_NUMBER",
                  "phone_number_id": "PHONE_NUMBER_ID"
              },
              # specific Webhooks payload            
          },
          "field": "messages"
        }]
    }]
}

Lihat Komponen untuk informasi tentang setiap kolom.

Jika Anda menerima pesan yang tidak didukung untuk Cloud API, Anda akan mendapatkan Webhooks pesan tak dikenal.

Ukuran Payload

Payload Webhooks bisa mencapai 3MB.

Aplikasi webhook uji

Terapkan aplikasi webhook uji di Render.com jika Anda masih menguji dan belum siap membangun endpoint webhook produksi Anda.

Kegagalan Penyampaian Webhook

Jika kami mengirim permintaan Webhooks ke endpoint Anda dan server Anda menanggapi dengan kode status HTTP selain 200, atau jika kami tidak dapat mengirimkan Webhooks karena alasan lain, kami akan terus mencoba dengan frekuensi yang dikurangi sampai permintaan berhasil, hingga 7 hari.

Perhatikan bahwa percobaan ulang akan dikirim ke semua aplikasi yang telah berlangganan Webhooks (dan kolom yang sesuai) untuk Akun WhatsApp Business. Hal ini dapat mengakibatkan duplikat notifikasi Webhooks.

Alamat IP

Anda bisa mendapatkan alamat IP dari server Webhooks kami dengan menjalankan perintah berikut di terminal Anda:

whois -h whois.radb.net — '-i origin AS32934' | grep '^route' | awk '{print $2}' | sort

Kami secara berkala mengubah alamat IP ini. Jadi, jika Anda memasukkan server kami dalam daftar diizinkan, Anda mungkin ingin sesekali membuat ulang daftar ini dan memperbarui daftar diizinkan sesuai kebutuhan.

Pemecahan Masalah

Jika Anda tidak menerima webhooks:

  • Pastikan endpoint Anda menerima permintaan.
  • Kirim payload uji ke endpoint Anda melalui panel Dasbor Aplikasi > WhatsApp > Konfigurasi.
  • Pastikan aplikasi Anda dalam mode Live; beberapa webhooks tidak akan dikirim jika aplikasi Anda dalam mode Dev.

Langkah Berikutnya

Pelajari selengkapnya tentang informasi yang dapat Anda terima di notifikasi Webhooks.