Webhook

Webhook adalah arsitektur software yang memungkinkan aplikasi melakukan tugas tertentu secara otomatis setelah dipicu oleh kejadian tertentu (event).

Software Engineering

Mau Belajar

Software Engineering

GRATIS?

Di RevoU, tidak hanya teori, penerapan, serta career coaching. Kamu juga mendapatkan akses ke Community Hub dengan 6000+ member. Di sini, kamu akan selalu terupdate informasi seputar job openings, industry news, dan upskilling events!

IKUT KURSUS GRATIS

Mau Belajar

Software Engineering

GRATIS?

Apa itu Webhook?

Webhook adalah
Apa itu webhook

Meski perkembangan teknologi semakin pesat, sebuah aplikasi membutuhkan partisipasi dari pihak lain untuk menyelesaikan tugas tertentu. 

Misalnya untuk melakukan pembayaran online pada aplikasi e-commerce, aplikasi perlu terhubung dengan sistem pembayaran, sistem pembayaran perlu berkomunikasi dengan sistem perbankan, dan sistem perbankan perlu berkomunikasi dengan akun nasabah untuk mengonfirmasi pembayaran. 

Biasanya pola tersebut melibatkan proses pengiriman request oleh user ke server. Aplikasi akan bertindak setelah mendapatkan perintah dari user. Namun proses tersebut juga bisa terjadi tanpa mengirimkan request secara manual. 

Webhook adalah sebuah arsitektur software yang memungkinkan aplikasi melakukan suatu tugas secara otomatis setelah dipicu oleh kondisi (event) tertentu. 

Webhook akan langsung bekerja ketika kondisi tertentu diatur pada sumber sistem. Jadi ketika suatu kondisi terpenuhi, sistem akan mengirim permintaan untuk berbagi informasi terkait kondisi tersebut.

Fungsi Webhook

Sederhananya, webhook digunakan untuk mengomunikasikan suatu peristiwa di satu sistem ke sistem lain, dan berbagi data terkait peristiwa tersebut. 

Beberapa kegunaan webhook yang sering ditemui yaitu:

  • E-mail pengingat rapat otomatis
  • Konfirmasi pembayaran yang sedang diproses dan diselesaikan
  • Sinkronisasi perubahan data pengguna antar dua aplikasi yang saling berkaitan

Selain itu webhook juga sering digunakan untuk mengotomatiskan Infrastructure-as-code (IaC) dan penerapan GitOps. 

Infrastructure-as-code (IaC) adalah pengelolaan dan penyediaan infrastruktur aplikasi berbasis kode. Mengotomatiskan IaC membuat pengelolaan server, sistem operasi, dan komponen infrastruktur lainnya dilakukan secara otomatis dengan mesin setiap kali aplikasi diperbarui.

Sedangkan GitOps adalah pendekatan strategis untuk mengelola infrastruktur dan konfigurasi aplikasi menggunakan Git, sistem kontrol yang bersifat open-source.  

Alur Kerja Webhook

Webhook diatur secara manual agar aplikasi bertindak sesuai kejadian tertentu. 

Cara kerja webhook menggunakan HTTP atau HTTPS sebagai perantara pengiriman data antara satu sistem dengan sistem lainnya. Umumnya data yang dikirimkan memiliki format JSON atau XML

Setelah sistem dibangun, pengguna perlu mengatur satu atau beberapa kondisi (event) pada platform yang dipasangkan webhook agar webhook bekerja. 

Permintaan tersebut ditransmisikan sebagai permintaan GET atau POST dan dikirim melalui URL ke platform tujuan. Setelah permintaan diterima, platform akan melakukan tugas tertentu jika berada di kondisi yang telah diatur. 

Alur kerja webhook
Alur kerja webhook

Misalnya, aplikasi TikTok mengirimkan notifikasi live seorang tiktokers setelah pengguna menyalakan notifikasi live tiktokers tersebut. 

Contoh Penggunaan Webhook

Ada banyak platform yang mendukung sistem webhook, salah satunya Slack. 

Slack adalah aplikasi komunikasi multifungsi yang tak hanya berguna sebagai alat perpesanan, tapi juga kolaborasi dengan tim. Slack mendukung fitur personal chat, voice call, video call, channel, dan lainnya. 

Pengguna Slack bisa mengatur apakah ingin menyalakan notifikasi, pause notifikasi, waktu penerimaan notifikasi, dan prioritas notifikasi yang diterima ketika pengguna sedang tidak membuka aplikasi Slack. 

Contoh webhook Slack
Contoh webhook Slack

Misalnya, waktu penerimaan notifikasi berlangsung antara jam 9 pagi hingga 6 sore waktu setempat. Di luar jam tersebut, hanya notifikasi DM dan mention yang akan muncul. 

FAQ (Frequently Asked Question)

Apa beda webhook vs API?

API sering kali muncul dalam pembahasan webhook karena webhook kerap disebut sebagai reverse API. Cara kerja webhook juga melibatkan API dari aplikasi terkait. 

API (Application Programming Interface) adalah seperangkat kode pemrograman agar dua aplikasi bisa terhubung dan berinteraksi satu sama lain. 

Berdasarkan definisinya, webhook memang sering disamakan dengan API. Namun keduanya memiliki perbedaan. 

API bekerja setelah mendapatkan permintaan atau request dari penggunanya. Misalkan, Arsy menyalakan filter komedi untuk mencari film komedi di Netflix. API Netflix akan mencarikan film-film genre komedi, mengirim informasi ke perangkat user, lalu menampilkannya dalam bentuk daftar. 

Sedangkan webhook bekerja setelah dipicu oleh kejadian tertentu. Misalnya, Arsy mendapatkan notifikasi YouTube bahwa youtubers kesukaannya baru saja meng-upload video baru. Notifikasi tersebut muncul karena Arsy men-subscribe dan menyalakan notifikasi untuk setiap pembaruan video dan live youtubers tersebut. 

Contoh webhook
Contoh webhook YouTube

Jadi perbedaan sederhana dari API dan webhook adalah API bekerja jika ada permintaan, sedangkan webhook bekerja jika ada pemicunya. 

Kata kunci lainnya

Mulai karirmu dalam

Software Engineering

Di RevoU, tidak hanya teori, penerapan, serta career coaching. Kamu juga mendapatkan akses ke Community Hub dengan 6000+ member. Di sini, kamu akan selalu terupdate informasi seputar job openings, industry news, dan upskilling events!
ikut kursus gratis
Daftar Isi