Webhook Adalah: Cara Kerja dan Contoh di Bisnis
Webhook adalah cara sebuah aplikasi mengabari aplikasi lain secara otomatis begitu ada kejadian tertentu. Contohnya: saat pelanggan selesai membayar, payment gateway langsung mengirim data “pembayaran lunas” ke sistem Anda. Tidak ada yang perlu mengecek manual, dan tidak ada jeda menunggu.
Istilah ini sering muncul saat Anda menghubungkan aplikasi, misalnya form ke spreadsheet, toko online ke sistem gudang, atau payment gateway ke software akuntansi. Artikel ini menjelaskan webhook dengan bahasa sehari-hari, lengkap dengan contoh dan hal yang perlu dijaga dari sisi keamanan.
Pengertian webhook
Bayangkan Anda menunggu paket. Ada dua cara untuk tahu paketnya sudah sampai: Anda bolak-balik mengecek ke depan rumah setiap 10 menit, atau kurir membunyikan bel saat paketnya tiba. Webhook adalah bel itu.
Secara teknis, webhook adalah pesan yang dikirim satu aplikasi ke alamat URL milik aplikasi lain, tepat saat sebuah event terjadi. Event bisa berupa:
- Pembayaran berhasil atau gagal.
- Form baru diisi.
- Pesanan dibuat di toko online.
- Status pengiriman berubah.
- Baris baru ditambahkan di sistem.
Pesan itu berisi data tentang kejadiannya, biasanya dalam format JSON (format teks terstruktur yang mudah dibaca mesin). Misalnya nomor pesanan, nominal, nama pelanggan, dan waktu transaksi.
Aplikasi penerima harus menyediakan URL khusus untuk menerima pesan tersebut. URL ini disebut webhook URL atau endpoint. Anda mendaftarkan URL itu di pengaturan aplikasi pengirim, dan sejak saat itu setiap event dikirim ke sana.
Webhook vs polling
Sebelum webhook populer, cara umum untuk mengambil data baru adalah polling: sistem Anda bertanya secara berkala, “ada data baru?”, lalu aplikasi lain menjawab ada atau belum.

Perbedaannya terasa di tiga hal:
| Polling | Webhook | |
|---|---|---|
| Kecepatan | Tergantung interval, bisa telat beberapa menit | Hampir langsung saat event terjadi |
| Beban sistem | Banyak permintaan yang jawabannya “belum ada” | Hanya ada kiriman saat ada kejadian |
| Kerumitan | Lebih sederhana, sistem Anda yang aktif bertanya | Perlu URL yang bisa diakses dari internet |
Polling tetap berguna. Misalnya untuk aplikasi yang tidak menyediakan webhook, atau untuk rekap yang memang cukup dijalankan sekali sehari. Tapi untuk kejadian yang butuh reaksi cepat, seperti konfirmasi pembayaran, webhook jauh lebih efisien.
Contoh: notifikasi pembayaran
Ini contoh paling umum di bisnis Indonesia. Misalnya sebuah toko online memakai payment gateway seperti Midtrans atau Xendit.
Tanpa webhook, admin harus membuka dashboard payment gateway, mencocokkan transaksi yang lunas dengan pesanan, lalu mengubah status pesanan satu per satu. Kalau ada 200 pesanan sehari, pekerjaan ini bisa makan waktu berjam-jam dan rawan terlewat.
Dengan webhook, alurnya jadi seperti ini:
- Pelanggan membayar lewat virtual account atau QRIS.
- Payment gateway mengirim webhook ke sistem Anda berisi nomor pesanan dan status “lunas”.
- Sistem Anda memverifikasi bahwa pesan itu benar dari payment gateway.
- Status pesanan otomatis berubah jadi “dibayar”.
- Tim gudang menerima notifikasi untuk menyiapkan barang, dan pelanggan menerima email konfirmasi.
Contoh lain di luar pembayaran:
- Klinik: form pendaftaran online mengirim webhook, lalu data pasien otomatis masuk ke jadwal dan admin mendapat notifikasi.
- Agensi: saat klien menandatangani proposal di aplikasi tanda tangan digital, webhook memicu pembuatan proyek baru di tools manajemen tugas.
- SaaS: saat pelanggan membatalkan langganan, webhook dari sistem billing memicu email ke tim customer success.
Keamanan webhook
Karena webhook URL bisa diakses dari internet, siapa pun yang tahu alamatnya bisa mencoba mengirim data palsu. Bayangkan ada orang yang mengirim pesan “pesanan #1234 lunas” padahal belum ada pembayaran. Karena itu, beberapa pengamanan ini wajib:
- Pakai HTTPS. Data yang dikirim terenkripsi di perjalanan.
- Verifikasi pengirim. Penyedia layanan biasanya menyediakan cara verifikasi. Contohnya, Midtrans menyertakan
signature_keyyang bisa Anda hitung ulang dengan server key milik Anda. Xendit mengirim token verifikasi di headerx-callback-tokenyang bisa dicocokkan dengan token di dashboard Anda. - Cek ulang data penting. Untuk transaksi bernilai besar, sistem Anda bisa memanggil API penyedia untuk memastikan status transaksi sebelum memprosesnya.
- Siap menerima duplikat. Kalau sistem Anda tidak segera membalas, banyak penyedia akan mengirim ulang webhook yang sama. Pastikan satu pesanan tidak diproses dua kali, misalnya dengan mengecek nomor transaksi yang sudah pernah diproses.
- Balas dengan cepat. Terima datanya, balas dengan status sukses (kode 200), lalu kerjakan proses berat setelahnya.
- Rahasiakan URL-nya. Jangan tempel webhook URL di dokumen publik atau grup chat besar.
Webhook dalam tools otomatisasi
Kabar baiknya, Anda tidak harus membangun server sendiri untuk menerima webhook. Tools otomatisasi seperti n8n, Zapier, dan Make menyediakan trigger webhook. Anda cukup membuat workflow baru, memilih trigger webhook, lalu tool itu memberi Anda URL untuk didaftarkan di aplikasi pengirim.
Setelah data diterima, langkah berikutnya bisa disusun secara visual: simpan ke Google Sheets, kirim notifikasi ke tim, buat draf invoice, atau perbarui data di aplikasi lain lewat API. Kalau Anda belum pernah menyusun alur seperti ini, mulai dari panduan belajar n8n untuk pemula.
Satu hal yang perlu diperhatikan kalau Anda memakai n8n yang dipasang sendiri: webhook butuh alamat yang bisa diakses dari internet dengan HTTPS. n8n yang hanya berjalan di laptop atau jaringan kantor tidak akan bisa menerima webhook dari luar. Pembahasan soal pilihan tempat menjalankan n8n ada di artikel n8n self hosted vs n8n Cloud.
Webhook juga membantu merapikan alur kerja tim. Alih-alih menunggu seseorang mengecek dan meneruskan informasi, setiap kejadian langsung memicu langkah berikutnya. Contoh penerapannya bisa Anda lihat di bagian contoh penerapan kami.
Kalau tim Anda masih mencocokkan pembayaran atau memindahkan data antar aplikasi secara manual, Aqilatic bisa membantu memetakan titik mana yang bisa diganti webhook lewat audit proses gratis.
Pertanyaan yang sering muncul
Apa bedanya webhook dan API?
API adalah pintu yang Anda panggil saat butuh data. Webhook adalah kiriman otomatis dari aplikasi lain saat ada kejadian. Keduanya sering dipakai bersama: webhook memberi tahu ada event, API dipakai untuk mengambil detail atau memastikan datanya.
Apakah semua aplikasi punya webhook?
Tidak. Cek dokumentasi atau menu pengaturan integrasi aplikasi Anda. Kalau tidak ada, polling berkala lewat API atau ekspor terjadwal bisa jadi alternatif.
Apa yang terjadi kalau sistem penerima sedang mati?
Tergantung penyedianya. Banyak layanan mencoba mengirim ulang beberapa kali dalam rentang waktu tertentu. Tetap siapkan pengecekan berkala sebagai cadangan, supaya tidak ada event yang hilang.