Skip to content

Webhook (Deprecated) ​

Udah nggak tersedia

Webhook cuma ada di engine Zawa versi lama. Engine yang sekarang nggak punya endpoint /webhook, jadi request ke sana bakal dapet 404. Halaman ini disimpan buat arsip aja, jangan dipakai buat fitur baru ya.

Dulu, webhook dipakai biar Zawa bisa ngabarin server kamu secara realtime tiap ada pesan masuk. Ini ringkasan cara kerjanya waktu itu.

Set Webhook ​

POST /webhook

Nyimpen konfigurasi webhook: URL tujuan dan token pengenal.

KolomTipeKeterangan
urlstringURL server kamu yang bakal nerima notifikasi.
tokenstringToken yang dikirim balik di header x-token, biar kamu tahu request-nya beneran dari Zawa.

Response-nya { "id": "..." }.

Ambil Webhook ​

GET /webhook

Ambil konfigurasi webhook yang udah disimpan. Kalau belum pernah di-set, url dan token berisi string kosong.

json
{
  "webhook": {
    "url": "https://example.com/zawa-webhook",
    "token": "rahasia-banget"
  }
}

Isi Notifikasi ​

Zawa ngirim request ke URL webhook dengan header x-token dan body kayak gini:

json
{
  "type": "message",
  "data": "{\"Info\":{...},\"Message\":{...}}"
}
KolomTipeKeterangan
typestringmessage buat pesan masuk, receipt buat tanda terima (terkirim/dibaca).
datastringData mentah dari WhatsApp dalam bentuk string JSON. Isinya beda-beda tergantung tipe pesan.

Zawa nggak ngolah pesan masuk sama sekali, termasuk media. Jadi kalau ada pesan gambar, file-nya harus didekripsi sendiri. 😅

Contoh data buat pesan teks
json
{
  "Info": {
    "Chat": "6281234567890@s.whatsapp.net",
    "Sender": "6281234567890:74@s.whatsapp.net",
    "IsFromMe": false,
    "IsGroup": false,
    "ID": "3EB05F22D34BDE64079197",
    "Type": "text",
    "PushName": "Azickri",
    "Timestamp": "2025-07-17T13:23:12+07:00"
  },
  "Message": {
    "conversation": "Halo, ini dari Zawa"
  }
}