Webhook Kirim Notifikasi
Terima kabar saat ada subscriber baru (push.subscribed) dan saat notifikasi diklik (push.clicked), ditandatangani HMAC-SHA256.
Di halaman ini
Webhook Kirim Notifikasi mengirim POST JSON ke URL-mu saat ada kejadian. Atur di Notifikasi → API Key & Webhook: isi URL (wajib https://) lalu simpan; secret dibuat otomatis dan bisa diganti kapan saja.
Kejadian#
| Event | Kapan |
|---|---|
push.subscribed | Ada subscriber baru (browser yang berlangganan ulang tidak dihitung). |
push.clicked | Notifikasi atau tombolnya diklik pertama kali oleh subscriber itu. |
Isi kiriman#
{"id":"5f0c…","event":"push.subscribed","sent_at":"2026-10-11T03:10:00+00:00",
"data":{"id":"ID_SUBSCRIBER","site":"KODE_SITUS","status":"active","browser":"Chrome","os":"Android","device":"mobile",
"language":"id-ID","timezone":"Asia/Jakarta","is_tester":false,"subscribed_at":"…","unsubscribed_at":null}}{"id":"9a1b…","event":"push.clicked","sent_at":"…",
"data":{"message_id":123,"type":"broadcast","subscriber":"ID_SUBSCRIBER","button":0,"url":"https://tokomu.com/promo","clicked_at":"…"}}button: 0 = notifikasinya sendiri, 1–2 = tombol aksi. type: broadcast (kampanye), api, welcome, atau cart.
Verifikasi tanda tangan#
Setiap kiriman membawa header X-Kirim-Event dan X-Kirim-Signature = HMAC-SHA256 dari body mentah dengan secret webhook-mu. Tolak kiriman yang tanda tangannya tidak cocok.
$body = file_get_contents('php://input');
$valid = hash_equals(hash_hmac('sha256', $body, getenv('KIRIM_NOTIF_WEBHOOK_SECRET')), $_SERVER['HTTP_X_KIRIM_SIGNATURE'] ?? '');Coba ulang#
Jawab dengan kode 2xx dalam 10 detik. Kalau gagal, kiriman diulang hingga 5 kali dengan jeda makin panjang. id sama di setiap percobaan — pakai untuk menghindari proses ganda. Redirect tidak diikuti, dan URL ke alamat jaringan privat ditolak.
Apakah artikel ini membantu?
Artikel terkait
Masih butuh bantuan?
Tim support kirim.id siap membantu · Senin–Jumat, 09.00–17.00 WIB

