Webhook: kabari alat lain tentang apa yang terjadi

Webhook mengirim pesan singkat ke alat lain saat sesuatu terjadi di proyek Anda: publikasi, entri formulir, atau record yang berubah. Halaman ini membahas cara menambahkannya, seperti apa pesannya, bagaimana pihak penerima dapat memeriksa keasliannya, dan apa yang terjadi saat pihak penerima sedang tidak aktif.

Baca 7 menitDicocokkan dengan studio pada 8 Oktober 2026

Apa itu webhook

Anggap ini proyek Anda yang menelepon layanan lain untuk memberi tahu apa yang baru terjadi. Anda memberi Briks sebuah alamat (URL dari alat lain), memilih peristiwa yang perlu didengar, dan setiap kali peristiwa itu terjadi Briks mengirim pesan ke sana. Banyak alat otomatisasi, alat daftar klien, dan add on spreadsheet dapat memberi Anda alamat seperti itu.

Secara teknis, setiap pesan adalah permintaan POST: panggilan yang membawa isi pesan, di sini ditulis dalam JSON, format teks biasa yang dibaca program. Alat penerima membaca isinya dan melakukan apa yang sudah Anda atur.

Peristiwa, seperti yang ditampilkan studioKodeDikirim saat
Publishedsite.publishedVersi baru situs telah tayang.
Form receivedform.receivedSeorang pengunjung mengirim pesan lewat salah satu formulir situs.
Record changedrecord.changedSebuah rekaman di database proyek ditambahkan, diubah, atau dihapus.

record.changed mengikuti perubahan yang dibuat di studio: record yang ditambahkan, diedit atau dihapus di tab Database, koleksi yang dikosongkan, atau database yang dipulihkan. Record yang disimpan sendiri oleh situs live, seperti permintaan pemesanan yang dikirim pengunjung, tidak memicunya.

form.received dikirim untuk entri dari pratinjau maupun dari produksi. Setiap pesan menyebutkan asalnya, sehingga alat lain dapat melewati entri dari pratinjau.

Batas di setiap paket

PaketWebhook per proyekPanggilan per hari untuk setiap proyek
Free12,000
Starter55.000
Pro1010,000
Studio2550.000
Agency50100.000
Jumlah panggilan per hari dibagi dengan tugas terjadwal. Setiap upaya pengiriman dihitung satu, termasuk percobaan ulang, dan hari dimulai tengah malam UTC.

Ketika panggilan hari itu habis, pengiriman tidak dikirim dan ditandai Failed dengan pesan: Today's calls for this project are used up, so this delivery was not sent. Send it again tomorrow.

Setelah sebuah proyek memiliki webhook sebanyak yang diizinkan paketnya, Add webhook menjadi abu-abu dan tautan Get more di samping jumlahnya membuka jendela upgrade, yang menyebutkan paket terkecil dengan ruang untuk satu lagi.

Tambahkan webhook

  1. Tekan Add webhook

    Di mana: Settings, Webhooks

    Halaman ini menunjukkan jumlah yang Anda miliki dibandingkan paket Anda, misalnya 1 dari 5 di paket Anda. Editor, Admin dan Owner dapat menambahkan webhook.

  2. Masukkan alamat

    Di mana: Add a webhook

    Tempel alamat yang diberikan alat lain ke Address. Alamat itu harus berupa alamat https publik, dengan nama yang ditulis lengkap, bukan angka.

  3. Tambahkan catatan

    Di mana: Add a webhook

    Note bersifat opsional, maksimal 120 karakter, dan membantu Anda membedakan webhook nanti, misalnya Enquiries sheet.

  4. Pilih peristiwanya

    Di mana: Add a webhook

    Centang peristiwa yang ingin didengarnya. Published dan Form received sudah tercentang sejak awal; ubah sesuai kebutuhan.

  5. Simpan dan salin secret

    Di mana: Your signing secret

    Tekan Add webhook. Sebuah dialog menampilkan rahasia penandatanganan, yang diawali dengan whsec_. Tekan Copy dan simpanlah: rahasia ini hanya ditampilkan sekali. Lalu tekan Done.

  6. Kirim tes

    Di mana: Settings, Webhooks

    Buka tiga titik pada webhook dan pilih Send a test event. Anda akan melihat: A test event is on its way. See how it went under Deliveries.

Setiap webhook dalam daftar menampilkan alamat, catatan, dan peristiwanya, rahasia mana yang dipakai untuk menandatanganinya (beberapa karakter pertama), serta bagaimana pengiriman terakhirnya berjalan. Sakelarnya menyalakannya On atau Off, dan tiga titiknya berisi Send a test event (hingga sepuluh per jam, hanya saat webhook menyala), Change, New signing secret dan Delete.

Seperti apa sebuah pengiriman

Setiap pengiriman memiliki tiga bagian yang sama: type (kode peristiwa), timestamp (waktu kejadian, dalam UTC) dan data (rinciannya). Berikut contoh entri formulir:

Pengiriman form.received

{"type":"form.received","timestamp":"2026-10-08T09:41:07.000Z","data":{"form":{"id":"…","subject":"Pertanyaan pernikahan","page":"/contact","fields":[{"label":"Nama","value":"Ellie Marsh"},{"label":"Tanggal pernikahan","value":"14 Juni 2027"}],"replyTo":"ellie@example.com"},"production":true}}

AcaraIsi data
form.receivedform: id, subject, page asal pengiriman, fields (masing-masing berisi label dan value, sesuai urutan formulir) dan replyTo, yaitu email pengunjung jika formulir memintanya. Lalu production: true untuk situs yang aktif, false untuk pratinjau.
site.publishedurl: alamat tempat situs tayang. production: apakah situs berada di produksi. abTest: apakah uji A/B sedang berjalan. served: apakah Briks melihat versi baru menjawab di alamat itu saat mengirim pesan.
record.changedaction: created, updated, deleted, cleared atau restored. collection: koleksi yang mana. record: id record. Nilai record tidak disertakan.
testSebuah message dan project, beserta id dan name-nya. Dikirim hanya saat Anda menekan Send a test event.

Setiap pengiriman juga membawa tiga header: webhook-id (id pesan), webhook-timestamp (waktu dikirim, dalam detik) dan webhook-signature. Header ini mengikuti format terbuka Standard Webhooks, sehingga alat yang memahaminya dapat memeriksa pengiriman untuk Anda.

Pastikan sebuah pengiriman asli

Siapa pun bisa mengirim pesan ke sebuah alamat, jadi pihak penerima sebaiknya memeriksa tanda tangan sebelum memercayainya. Tanda tangan dibuat dengan signing secret yang hanya dimiliki Anda dan Briks. Setelah sebuah proyek punya webhook, halaman Webhooks menampilkan contoh kode singkat di bawah Checking a delivery is genuine. Secara garis besar, pemeriksaannya berjalan seperti ini:

  1. Ambil isi permintaan persis seperti yang diterima, sebagai teks, sebelum dibaca sebagai JSON.
  2. Gabungkan webhook-id, webhook-timestamp, dan isi pesan dengan tanda titik di antaranya.
  3. Ambil secret Anda, hapus whsec_ di awalnya, lalu dekode sisanya dari base64. Itulah kuncinya.
  4. Tanda tangani teks gabungan itu dengan HMAC SHA-256 dan kunci tersebut, tulis hasilnya dalam base64, lalu taruh v1, di depannya.
  5. Pengiriman dinyatakan asli jika cocok dengan salah satu nilai yang dipisahkan spasi di webhook-signature, dan stempel waktunya berada dalam lima menit dari sekarang.

Pengiriman yang dicoba lagi tetap memakai webhook-id yang sama, sehingga penerima dapat menyimpan id yang sudah ditangani dan melewati pengulangan.

Pengiriman dan percobaan ulang

Deliveries mencantumkan setiap pengiriman dalam tiga puluh hari terakhir, dari yang terbaru. Persempit dengan Status lalu tekan Show. Klik salah satu untuk melihat pesan lengkap, error jika ada, dan jawaban dari alamat tujuan.

StatusArti
SendingMenunggu percobaan pertamanya.
RetryingSatu percobaan gagal dan percobaan lain akan menyusul. Baris ini menunjukkan kapan, setelah percobaan berikutnya.
DeliveredAlamat itu menjawab dengan status 2xx, kode keberhasilan di web.
FailedSetiap percobaan gagal, atau pengiriman tidak dapat dikirim sama sekali.

Setiap percobaan menunggu jawaban hingga 15 detik. Jika jawabannya bukan 2xx, Briks mencoba lagi: lima kali percobaan, yang pertama langsung, lalu setelah sekitar 30 detik, 2 menit, 8 menit, dan 32 menit, jadi sekitar 45 menit dari yang pertama hingga yang terakhir. Jawaban 410 (gone) menghentikan percobaan ulang seketika. Pengalihan tidak diikuti, jadi berikan alamat akhirnya.

Setelah sebuah pengiriman berstatus Failed atau Delivered, Send again mengirim pesan yang sama dengan id yang sama, dengan tanda tangan baru. Webhook harus dalam keadaan aktif.

Wawasan dan pengaturan

Insights merangkum tiga puluh hari terakhir: Deliveries, persentase Delivered, Failed after every try (beserta jumlah percobaan ulang yang dilakukan), dan waktu Average answer. Di bawahnya, By event dan By address menunjukkan di mana kegagalan terkumpul.

Settings memiliki Download JSON di bawah Download the webhooks, berisi alamat, event, dan catatan setiap webhook. Rahasia penandatanganan tidak pernah disertakan. Zona berbahayanya memuat Clear log, yang menghapus log pengiriman dan menghentikan semua percobaan ulang, serta Delete all, yang menghapus setiap webhook setelah Anda mengetik nama proyek. Keduanya untuk Owner dan Admin.

Contoh kasus: entri formulir ke alat lain

Entri formulir tidak bisa diekspor dari studio, jadi webhook adalah cara untuk menyimpannya di alat lain begitu masuk. Studio juga menyimpannya: 100 entri terbaru tampil di Settings, Forms.

Seorang fotografer pernikahan di York mengirim pertanyaan masuk ke daftar kliennya

  1. Ambil alamat dari alat lain

    Di mana: Her client list tool

    Di sana ia membuat incoming webhook dan menyalin alamat yang diberikan.

  2. Tambahkan webhook

    Di mana: Settings, Webhooks

    Ia menempelkan alamatnya, menulis catatan Client list, menghapus centang Published, dan hanya menyisakan centang pada Form received.

  3. Berikan rahasia itu kepada alat

    Di mana: Her client list tool

    Alatnya memeriksa tanda tangan, jadi ia menempelkan signing secret ke pengaturannya sebelum menutup dialog.

  4. Cobalah

    Di mana: Settings, Webhooks, Deliveries

    Ia mengirim event uji dan melihatnya berstatus Delivered di bawah Deliveries.

  5. Cocokkan kolomnya

    Di mana: Her client list tool

    Dia memetakan label fields Name, Wedding date, dan Venue ke kolom di alatnya, dan menyuruhnya mengabaikan pesan yang production-nya false.

Pertanyaan berikutnya

Sepasang pengunjung mengisi formulir kontak di situs live miliknya.

Pertanyaan itu masuk ke kotak masuknya, karena situs sudah dalam produksi, dan muncul di daftar kliennya beberapa saat kemudian.