icon
Keamanan Digital
8 min read

Memahami Webhook: Cara Kerja, Fungsi, dan Contoh Penggunaannya

Ditulis oleh:
Mekari Sign Author Almer Alyafaras
Tayang
Share
WhatsApp X LinkedIn Facebook
featured image panduan webhook
Memahami Webhook: Cara Kerja, Fungsi, dan Contoh Penggunaannya
Mekari Sign Highlights

  • Webhook mengirim data secara otomatis ketika event tertentu terjadi pada sebuah sistem.
  • Webhook bekerja dengan mengirim HTTP request ke endpoint yang disiapkan oleh sistem penerima, biasanya dengan payload berformat JSON.
  • Webhook dan API dapat digunakan bersama karena API menangani permintaan data atau aksi, sedangkan webhook memberi tahu sistem saat event terjadi.
  • Dalam integrasi tanda tangan digital, webhook dapat mengirim perubahan status dokumen ke sistem bisnis melalui eSignature API Mekari Sign.

Perusahaan menggunakan berbagai aplikasi untuk menjalankan proses bisnis, seperti CRM, ERP, HRIS, accounting, dan platform dokumen. Ketika sebuah proses selesai di satu sistem, informasi tersebut sering perlu diteruskan ke sistem lain agar proses berikutnya dapat berjalan.

Dalam sistem terintegrasi, kebutuhan seperti ini dapat ditangani melalui komunikasi antarsistem yang otomatis. Webhook menjadi salah satu mekanisme yang digunakan untuk mengirim informasi ketika event tertentu terjadi.

Apa Itu Webhook?

Webhook adalah mekanisme komunikasi antarsistem yang mengirim data secara otomatis ketika event tertentu terjadi. Sistem pengirim kemudian mengirim HTTP request ke URL atau endpoint yang sudah disiapkan oleh sistem penerima.

Misalnya, sebuah dokumen selesai ditandatangani. Sistem tanda tangan digital dapat mengirim informasi tentang perubahan status tersebut ke aplikasi perusahaan, lalu aplikasi tersebut memperbarui status dokumen atau menjalankan proses berikutnya.

Pola komunikasi ini disebut event-driven karena pengiriman data dipicu oleh event pada sistem sumber.

Bagaimana Cara Kerja Webhook?

Webhook bekerja melalui event, payload, pengiriman request, dan pemrosesan pada sistem penerima. Secara umum, alurnya terdiri dari empat tahap.

  1. Event terjadi. Aktivitas tertentu terjadi di sistem sumber, seperti pembayaran berhasil, dokumen selesai ditandatangani, atau data pelanggan berubah.
  2. Payload disiapkan. Sistem sumber mengemas informasi tentang event ke dalam payload, yang sering menggunakan format JSON.
  3. Request dikirim ke endpoint. Sistem sumber mengirim HTTP request ke endpoint yang sudah dikonfigurasi oleh sistem penerima.
  4. Event diproses. Sistem penerima menerima payload dan menjalankan proses yang sesuai dengan event tersebut.

Contohnya, GitHub mengirim webhook ketika event tertentu terjadi pada repository. Request yang dikirim ke endpoint membawa informasi event melalui payload dan header yang dapat digunakan sistem penerima untuk memproses serta memvalidasi delivery.

Apa Itu Webhook Endpoint?

Webhook endpoint adalah URL pada sistem penerima yang digunakan untuk menerima request dari sistem pengirim. Endpoint tersebut kemudian membaca payload dan meneruskan event ke proses yang sesuai.

Contohnya, sebuah aplikasi dapat menyediakan endpoint seperti https://example.com/webhooks/document. Ketika event yang dipantau terjadi, sistem pengirim mengirim request ke URL tersebut.

Karena endpoint menerima request dari sistem eksternal, developer sebaiknya menyiapkan autentikasi, validasi, logging, dan penanganan error sebagai bagian dari integrasinya.

Apa Saja Data yang Dikirim melalui Webhook?

Data yang dikirim melalui webhook biasanya berisi informasi tentang event yang terjadi, objek yang terdampak, dan waktu terjadinya event.

Struktur payload berbeda pada setiap platform, tetapi umumnya terdapat informasi untuk mengenali jenis event, identifier objek atau delivery, timestamp, serta data yang berkaitan dengan event tersebut.

Contoh payload sederhana:

<code>{
"event": "document.signed",
"id": "evt_12345",
"timestamp": "2026-09-17T10:15:00Z",
"data": {
"document_id": "doc_98765",
"status": "signed"
}
}</code>

Pada contoh tersebut, “event” menunjukkan jenis event, “id” digunakan sebagai identifier pada contoh payload, “timestamp” menunjukkan waktu event, sedangkan “data” berisi informasi yang berkaitan dengan objek tersebut.

Payload aktual mengikuti dokumentasi provider. Karena itu, developer perlu menggunakan field dan struktur yang memang disediakan oleh platform yang diintegrasikan.

Apa Perbedaan Webhook dan API?

API biasanya digunakan ketika satu sistem meminta data atau menjalankan aksi pada sistem lain, sedangkan webhook digunakan ketika sebuah sistem perlu memberi tahu sistem lain bahwa suatu event telah terjadi.

Aspek API Webhook
Pemicu Request dari sistem pemanggil Event pada sistem sumber
Arah komunikasi Sistem meminta data atau aksi Sistem sumber mengirim pemberitahuan
Contoh Membuat dokumen atau mengambil data Memberi tahu bahwa dokumen telah selesai ditandatangani
Kebutuhan polling Dapat memerlukan request berkala untuk memeriksa perubahan Event dikirim saat perubahan terjadi

API dan webhook sering digunakan dalam satu integrasi. API dapat digunakan untuk membuat dokumen atau mengambil data, sedangkan webhook dapat memberi tahu aplikasi bahwa status atau data tertentu telah berubah.

Baca juga: API untuk Bisnis: Apa yang Perlu Dipahami Sebelum Memilih Software

Apa Fungsi Webhook dalam Integrasi Sistem?

Webhook digunakan untuk meneruskan informasi ketika event tertentu terjadi sehingga sistem lain dapat menjalankan proses yang berkaitan dengan event tersebut. Pola ini dapat digunakan pada berbagai alur bisnis yang membutuhkan pembaruan status atau tindakan lanjutan antar aplikasi.

Webhook Mengirim Pembaruan Status Transaksi Pembayaran

Dalam sistem pembayaran, webhook dapat digunakan untuk memberi tahu aplikasi bisnis ketika transaksi berhasil, gagal, dibatalkan, atau mengalami perubahan status. Sistem penerima kemudian dapat memperbarui status pesanan, mencatat transaksi, atau meneruskan proses pemenuhan pesanan tanpa harus memeriksa status transaksi secara berkala.

Webhook Memicu Proses Setelah Perubahan Data di CRM

Webhook dapat mengirim informasi ketika terjadi perubahan pada data pelanggan, prospek, atau deal di CRM. Misalnya, ketika deal berubah menjadi berhasil, CRM dapat mengirim event ke sistem lain untuk memperbarui data pelanggan, membuat tugas lanjutan, atau menjalankan workflow yang berkaitan dengan proses penjualan.

Webhook Menyinkronkan Perubahan Pesanan dan Stok E-commerce

Pada platform e-commerce, webhook dapat digunakan untuk memberi tahu sistem lain ketika pesanan dibuat, pembayaran selesai, atau status pesanan berubah. Informasi tersebut dapat diteruskan ke ERP, inventory system, atau aplikasi internal agar stok, status pesanan, dan proses pemenuhan dapat diperbarui.

Webhook Meneruskan Status Dokumen dalam Proses Tanda Tangan Digital

Platform dokumen dan tanda tangan digital dapat menggunakan webhook untuk mengirim perubahan status dokumen ke sistem perusahaan. Ketika dokumen selesai ditandatangani, misalnya, aplikasi internal dapat menerima event tersebut untuk memperbarui status kontrak, menyimpan dokumen, atau melanjutkan workflow yang bergantung pada penyelesaian tanda tangan.

Bagaimana Webhook Digunakan dalam Tanda Tangan Digital?

Platform tanda tangan digital dapat mengirim perubahan status dokumen ke aplikasi internal melalui webhook ketika event tertentu terjadi.

Alurnya adalah dokumen dibuat → dikirim untuk ditandatangani → signer menyelesaikan tanda tangan → event terjadi → webhook dikirim → sistem internal memproses event.

Misalnya, setelah dokumen selesai ditandatangani, webhook dapat mengirim event ke aplikasi perusahaan untuk memperbarui status kontrak, menyimpan dokumen, atau meneruskan proses ke sistem lain. Tim juga dapat memeriksa tanda tangan digital sebelum menyimpan dokumen sebagai versi final.

Pola ini dapat diterapkan ketika proses tanda tangan terhubung dengan CRM, ERP, atau workflow internal. eSignature API Mekari Sign mendukung pelacakan status tanda tangan melalui webhook, sehingga aplikasi perusahaan dapat menerima pembaruan dari proses signing.

Dalam integrasi ini, API digunakan untuk menjalankan aksi atau mengambil data, sedangkan webhook memberi tahu aplikasi ketika event tertentu terjadi. Event tersebut kemudian dapat memicu workflow berikutnya, seperti memperbarui status kontrak atau meneruskan dokumen.

Baca juga: Apa Itu eSignature API: Manfaat dan Cara Kerjanya

Bagaimana Cara Mengamankan Webhook?

Webhook dapat diamankan dengan HTTPS, autentikasi atau secret, validasi signature, serta pemeriksaan timestamp jika mekanisme tersebut tersedia.

  • Gunakan HTTPS. Pastikan request dikirim melalui koneksi terenkripsi.
  • Validasi signature. Jika provider menyediakan webhook signature, gunakan mekanisme tersebut untuk memeriksa keaslian request dan integritas payload.
  • Lindungi secret. Simpan secret webhook di tempat yang aman dan jangan menaruhnya di source code atau repository publik.
  • Periksa timestamp bila tersedia. Timestamp dapat digunakan bersama mekanisme signature untuk membantu mendeteksi atau menolak request yang sudah terlalu lama.

Sebagai contoh, GitHub menggunakan HMAC-SHA256, yaitu metode autentikasi berbasis hash dengan algoritma SHA-256, untuk memvalidasi webhook delivery menggunakan secret yang dikonfigurasi pada webhook. Sistem penerima dapat menghitung signature dari payload lalu membandingkannya dengan signature yang dikirim GitHub.

Apa yang Terjadi Jika Webhook Gagal Diterima?

Ketika webhook gagal diterima atau dikirim ulang, event yang berdekatan dapat tiba pada waktu yang berbeda sehingga sistem tidak selalu menerima delivery dalam urutan yang sama dengan urutan event.

Webhook dapat gagal diterima ketika endpoint tidak tersedia, request mengalami timeout, atau server penerima mengembalikan status error.

Provider dapat mencoba mengirimkan kembali event tersebut, tergantung pada mekanisme delivery yang mereka gunakan.

Karena sebuah delivery dapat dikirim ulang, sistem penerima sebaiknya dapat mengenali event atau delivery yang sudah diproses. Identifier yang konsisten dapat membantu mencegah event yang sama diproses lebih dari sekali.

GitHub, misalnya, menyediakan delivery identifier yang dapat digunakan untuk mengenali setiap webhook delivery dan mendukung redelivery ketika diperlukan.

Kapan Sebaiknya Menggunakan Webhook?

Webhook sebaiknya digunakan ketika aplikasi perlu menerima pemberitahuan otomatis setelah event tertentu terjadi pada sistem lain.

  • Gunakan webhook ketika perubahan status perlu diteruskan ke sistem lain secara otomatis.
  • Gunakan webhook ketika event tertentu perlu memicu proses berikutnya.
  • Gunakan webhook ketika provider menyediakan mekanisme event delivery yang dapat diintegrasikan dengan aplikasi Anda.
  • Gunakan API ketika aplikasi perlu meminta data atau menjalankan aksi pada sistem lain.

Dalam banyak integrasi, webhook dan API digunakan bersama. API menangani request dari aplikasi, sedangkan webhook menangani pemberitahuan atas event yang terjadi pada sistem sumber.

Webhook Membantu Sistem Merespons Event Secara Otomatis

Webhook memungkinkan satu sistem mengirim informasi ke sistem lain ketika event tertentu terjadi. Dengan pola ini, aplikasi dapat merespons perubahan tanpa harus terus-menerus memeriksa status pada sistem sumber.

Dalam integrasi tanda tangan digital, webhook dapat meneruskan perubahan status dokumen ke aplikasi internal. Event tersebut kemudian dapat digunakan untuk memperbarui status kontrak, menyimpan dokumen, atau menjalankan proses berikutnya.

eSignature API Mekari Sign mendukung integrasi proses tanda tangan digital ke sistem perusahaan, termasuk pelacakan status tanda tangan melalui webhook.

WhatsApp WhatsApp Sales