Logo Renr

Kirim peristiwa Renr ke aplikasi Anda dengan webhook

Berlangganan peristiwa, verifikasi setiap permintaan, dan kirim ulang yang gagal.

Webhook memungkinkan Renr mengirimkan peristiwa ke aplikasi Anda begitu peristiwa itu terjadi, sehingga Anda tidak perlu melakukan polling ke API. Ketika sesuatu terjadi di bisnis Anda — kontak dibuat, status tugas berubah, pesan masuk — Renr mengirim permintaan HTTP POST ke URL yang Anda kelola.

Membuat webhook

  1. Buka Developers → Webhooks lalu pilih Add Webhook.
  2. Masukkan Payload URL. URL ini harus berupa endpoint HTTPS publik yang menerima permintaan POST.
  3. Tambahkan Description opsional agar Anda mudah membedakan beberapa webhook nantinya.
  4. Pilih peristiwa yang Anda inginkan pada bagian Events to Subscribe. Gunakan kotak pencarian untuk menyaring seluruh peristiwa, atau centang judul modul untuk memilih semua peristiwanya sekaligus.
  5. Pilih Create Webhook.

Belum yakin bentuk sebuah peristiwa? Pilih ikon kode di samping peristiwa mana pun untuk melihat contoh payload-nya sebelum Anda berlangganan.

Apa yang dikirim Renr

Setiap pengiriman menggunakan amplop yang sama, dengan isi khusus peristiwa berada di dalam data:

{
  "event_type": "contact.created",
  "business_code": "kode-bisnis-anda",
  "timestamp": "2026-01-13T12:00:00",
  "data": { }
}

Dua header menyertai setiap permintaan:

  1. X-Renr-Signature — tanda tangan HMAC-SHA256 atas isi permintaan mentah, menggunakan kunci rahasia webhook Anda.
  2. X-Renr-Delivery — id unik untuk percobaan pengiriman ini. Simpan dan abaikan pengulangannya agar endpoint Anda bersifat idempoten.

Memverifikasi tanda tangan

Selalu verifikasi tanda tangan sebelum mempercayai sebuah permintaan. Kunci rahasia Anda ada di tab Overview webhook — perlakukan seperti kata sandi dan jangan pernah menyimpannya di dalam kode sumber.

const crypto = require('crypto');

const signature = request.headers['x-renr-signature'];
const payload = JSON.stringify(request.body);

const expected = crypto
  .createHmac('sha256', process.env.RENR_WEBHOOK_SECRET)
  .update(payload)
  .digest('hex');

if (signature === expected) {
  // permintaan terverifikasi
}

Memantau pengiriman

Buka webhook mana pun untuk melihat performanya. Tab di bagian atas menyediakan:

  1. Overview — tingkat keberhasilan dalam 24 jam dan 7 hari terakhir, pengiriman terbaru, serta kunci rahasia Anda.
  2. Events — mengubah peristiwa yang dilanggan webhook.
  3. Deliveries — riwayat pengiriman lengkap, dapat disaring berdasarkan status dan peristiwa.
  4. Settings — URL endpoint, deskripsi, dan tombol aktif.

Pilih View pada pengiriman mana pun untuk memeriksa payload persis yang dikirim Renr dan respons yang dikembalikan endpoint Anda.

Mengirim ulang pengiriman yang gagal

Pengiriman yang gagal dicoba ulang otomatis hingga tiga kali dengan jeda bertambah. Jika endpoint Anda mati lebih lama dari itu, buka tab Deliveries lalu pilih Redeliver pada baris terkait. Renr mengirim ulang payload asli persis apa adanya, sehingga pemeriksaan tanda tangan maupun idempotensi di sisi Anda tetap cocok. Pengiriman ulang mendapat id X-Renr-Delivery baru dan muncul sebagai baris baru pada riwayat.

Menjeda tanpa menghapus

Pilih Disable di bagian header untuk menghentikan pengiriman sambil mempertahankan webhook, kunci rahasia, dan langganan peristiwanya. Pilih Enable untuk melanjutkan. Gunakan ini saat pemeliharaan, alih-alih menghapus lalu membuat ulang webhook.

Pemecahan masalah

  1. Tidak ada yang masuk — pastikan webhook berstatus Active dan peristiwa yang Anda harapkan benar-benar dilanggan pada tab Events.
  2. Pengiriman tampil gagal — endpoint Anda harus mengembalikan status 2xx dalam 5 detik. Balas lebih dulu, lalu proses secara asinkron.
  3. Tanda tangan tidak pernah cocok — tanda tangani isi permintaan mentah persis seperti yang diterima. Melakukan serialisasi ulang JSON mengubah byte dan merusak hash.
  4. Pemrosesan ganda — lakukan deduplikasi berdasarkan header X-Renr-Delivery.

Anda memerlukan izin Allow to use webhook feature pada Developers untuk membuat atau mengelola webhook.

Mulai mengetik untuk mencari artikel…