Lewati ke konten utama
seratusribu.com
Semua artikel
Otomasi n8n

Apa Itu Webhook dan Cara Kerjanya, Dijelaskan dengan Contoh Nyata

Oleh Anang H. Darmawan

3 menit baca
Laporkan
Apa Itu Webhook dan Cara Kerjanya, Dijelaskan dengan Contoh Nyata

Foto: Brett Sayles / Unsplash

Bayangkan kamu jualan online dan tiap ada pembayaran masuk, kamu harus buka dashboard berulang kali untuk mengecek. Cara kerja seperti itu disebut polling, yaitu sistem yang bertanya terus. Webhook bisa membaliknya, karena aplikasi yang menerima pembayaran bisa langsung memberitahu sistemmu begitu ada transaksi baru. Tidak perlu ditanya lagi.

Bedanya webhook dan polling

Polling adalah kamu menelepon berkali-kali untuk bertanya "ada yang baru belum". Webhook adalah aplikasi yang kamu hubungi itu yang akan menelepon balik saat ada kejadian baru. Dari sisi sumber daya, webhook lebih hemat karena tidak ada panggilan kosong yang terbuang. Dari sisi kecepatan, kamu menerima data hampir bersamaan dengan terjadinya kejadian, sementara polling selalu terlambat sejauh jeda antar pengecekan. Kalau kamu cek tiap 15 menit, transaksi paling cepat baru kamu ketahui 15 menit kemudian.

Contoh sederhana: chat grup. Kalau kamu refresh grup tiap 5 detik untuk lihat pesan baru, itu polling. Kalau HPmu bunyi notifikasi begitu ada pesan baru, itu analogi webhook. Bedanya, notifikasi hanya dikirim saat memang ada yang baru, dan pengirimnya tidak perlu terus-menerus menunggu jawaban darimu.

Anatomi satu request webhook

Webhook biasanya dikirim sebagai HTTP POST ke URL endpoint yang kamu tentukan. Badannya berupa JSON berisi data kejadian, seperti id transaksi, jumlah, status, waktu, dan identitas pelanggan. Server tujuan harus membalas dengan status 200 atau 204 dalam waktu yang wajar, biasanya beberapa detik saja. Lewat dari itu, pengirim mulai menganggapnya gagal.

Setiap webhook yang penting perlu verifikasi tanda tangan atau secret. Ini mencegah orang tidak bertanggung jawab mengirim data palsu ke URLmu. Jangan pernah menerima dan langsung memproses data tanpa verifikasi, terutama kalau berkaitan dengan pembayaran. Kalau endpoint-mu terbuka dan tidak memverifikasi apa pun, siapa saja yang tahu URL-nya bisa membuat order palsu atau mengubah status pembayaran di sistemmu.

Webhook butuh endpoint yang bisa diakses publik

Webhook tidak bisa mengirim ke localhost yang hanya ada di komputermu. Untuk coba-coba lokal, kamu bisa memakai alat seperti ngrok untuk membuat jalur publik sementara. Di produksi, endpoint harus bisa diakses dari internet dan tahan terhadap request berulang. Jadi siapkan alamatnya lebih dulu, sebelum kejadian pertama. Jangan menunggu sampai dibutuhkan.

Apa yang bisa salah

Banyak webhook gagal karena endpoint membalas terlalu lama, lalu pengirim mengira gagal dan mengirim ulang. Jawablah 200 secepat mungkin, lalu proses datanya di latar belakang. Pastikan juga idempotent, yaitu kalau webhook yang sama dikirim dua kali, hasilnya tetap konsisten, tidak bikin double entri. Kirim dua kali itu hal yang lumrah.

Contoh nyata dan kapan pakai n8n

Google Forms bisa mengirim webhook saat ada respons baru. Payment gateway bisa mengirim webhook saat pembayaran berhasil atau gagal. Untuk menghubungkan kejadian seperti ini tanpa menulis banyak kode, Form, Google Sheets + notif Telegram (Rp125.000) sudah siap pakai. Kalau kamu perlu mencocokkan notifikasi pembayaran dengan order, Parsing notif bayar, cocok order, alert (Rp300.000) bisa menghemat waktu verifikasi manual. Untuk belajar menyusun alur webhook sendiri dari nol, eBook n8n Node to Node (Rp100.000) menjelaskan urutannya secara terstruktur.

Langkah praktis sekarang: tentukan satu kejadian yang kamu cek manual tiap hari, lalu ganti proses pengecekan itu dengan satu webhook sederhana. Mulai dari satu saja. Coba tes kecil dulu, lalu tambahkan verifikasi setelahnya.