HOTLINE

(0275) 2974 127

CHAT WA 24/7
0859-60000-390 (Sales)
0852-8969-9009 (Support)
Blog

Webhook: Pengertian, Cara Menggunakan dan Perbedaan dengan API

Pengertian Webhook

Webhook adalah salah satu sarana berkomunikasi antar aplikasi atau sistem dengan lebih efektif. Webhooks  juga dikenal sebagai callbacks atau http push API tren yang berkembang di dunia TI yang memungkinkan satu aplikasi untuk memberikan informasi ke aplikasi lain. Tidak seperti API biasa, yang melakukan poll  data pada waktu-waktu tertentu, webhook menyediakan informasi secara real time.

Aplikasi web yang mengimplementasikan WebHooks akan POST pesan ke URL ketika hal-hal tertentu terjadi. Ketika aplikasi web memungkinkan user untuk mendaftarkan URL mereka sendiri, user kemudian dapat memperluas, menyesuaikan dan mengintegrasikan aplikasi itu dengan ekstensi khusus mereka sendiri atau bahkan dengan aplikasi lain di sekitar web.

Untuk user, WebHooks adalah cara untuk menerima informasi ketika itu terjadi, daripada terus-menerus melakukan polling untuk data itu dan tidak menerima apa pun yang paling berharga sepanjang waktu. WebHook memiliki potensi besar dan hanya dibatasi oleh imajinasi.

Cara Menggunakan Webhook

Berdasarkan tujuannya, ada tiga cara untuk memanfaatkan webhook, yaitu :

1. Push

Push adalah alasan paling sederhana untuk menggunakan WebHooks. Penggunaan webhook yang sederhana adalah sebuah aplikasi mengirimkan informasi ke aplikasi lain secara searah, tanpa ada tindakan lebih lanjut.

Jadi, setelah dua aplikasi terhubung, aplikasi A akan mengirim informasi ke aplikasi B sesuai permintaan yang ditentukan sebelumnya.

Contoh penerapan metode push adalah notifikasi aplikasi di smartphone. Ketika teman mengupdate status, ada informasi yang dikirimkan oleh server ke  smartphone sebagai pemberitahuan.

2. Pipe

Dalam metode pipe, setelah informasi dikirim ke penerima, penerima bisa melakukan tindakan lebih lanjut sesuai dengan informasi awal tersebut.

Contohnya adalah email tentang abandoned cart yang dikirimkan oleh website marketplace.

Ketika memasukkan produk ke keranjang, tetapi tidak melakukan checkout, marketplace menggunakan informasi ini untuk memberikan notifikasi tentang pembelian yang belum diselesaikan. Selain sekadar informasi, email yang dikirimkan akan mengarahkan penerima email untuk lebih mudah mengakses halaman pembelian yang ditinggalkan sebelumnya. Jadi, transaksi akan lebih efektif dilakukan.

3. Plugin

Sesuai namanya, komunikasi data dengan webhook juga bisa memanfaatkan plugin. Dengan begitu, transfer informasi dapat dilakukan dua arah sesuai dengan hak akses yang diatur pada pengaturan di plugin.

Cara Mengkonfigurasikan Webhook

Setiap aplikasi memiliki cara konfigurasi webhook yang berbeda. Namun, secara garis besar, ada tiga langkah yang perlu dilakukan, yaitu :

  1. Dapatkan URL webhook dari aplikasi penerima data.
  2. Akses pengaturan webhook di aplikasi pemberi data dan masukkan URL tadi.
  3. Tentukan parameter yang ingin digunakan untuk memicu pengiriman data.

Sebagai contoh, di bawah ini adalah langkah-langkah untuk mengkonfigurasikan callback HTTP tersebut di GitHub untuk integrasi dengan aplikasi lain, yaitu :

  • Akses repositori GitHub dan klik tab Settings.

  • Klik menu Webhooks » Add Webhook.

  • Masukkan informasi berikut ke masing-masing kolom di halaman Add Webhook :
    • Payload URL : Isi kolom ini dengan URL webhook yang diberikan aplikasi.
    • Content type : Pilih application/json.
    • Secret : Kosongkan kolom ini.
    • SSL verivication : pilih Enable.
    • Which events would you like to trigger this webhook? : Pilih Let me select individual events.
  • Selanjutnya, tentukan event-event yang menjadi pemicu transfer data. Misalnya, centang checkbox Issue commentPull request dan Pull request review.

  • Biarkan tanda centang di checkbox Active dan klik Add webhook untuk mengintegrasikan aplikasi tersebut dengan GitHub.

Perbedaan Webhook dan API

Webhook sering disandingkan dengan application programming interface (API) karena fungsinya mirip. Berikut ini beberapa perbedaannya, yaitu :

1. Otomatisasi

Perbedaan utama webhook dan API adalah cara kerjanya. Pengiriman data dengan webhook dapat dilakukan dengan otomatis.

Dalam kehidupan sehari-hari, cara kerja panggilan balik HTTP tersebut bisa disamakan dengan berlangganan majalah. Cukup sekali permintaan berlangganan, maka setiap kali ada edisi terbaru, penerbit majalah otomatis mengirimkannya.

Cara kerja API sedikit berbeda. Pengiriman data dalam sebuah komunikasi dilakukan berdasarkan permintaan.

Menggunakan contoh majalah, cara kerja API sama seperti membeli majalah di kios. Harus datang ke kios dan bertanya apakah edisi terbaru sudah keluar, sebelum dapat membelinya.

2. Performa

Perbedaan cara kerja tadi berdampak pada performa yang dihasilkan.

Webhook membutuhkan lebih sedikit resource server karena transfer data terjadi secara otomatis. Dengan begitu, aplikasi yang memanfaatkan callback HTTP tersebut cenderung memiliki performa yang lebih baik.

Sementara jika menggunakan API, performanya kurang optimal karena setiap permintaan data harus dilakukan manual. Resource yang diperlukan pun tentu lebih banyak.

3. Keamanan

API memberikan keamanan yang lebih baik dibanding webhook.

Dengan API, aplikasi hanya akan menerima informasi yang diminta. Artinya, jenis dan jumlah data yang masuk dapat dikontrol.

Webhook tidak memiliki kendali atas jumlah dan interval data karena setiap prosesnya berjalan otomatis seperti request di awal. Jadi, rentan membuat server aplikasi penerima mengalami overload.

4. Kompatibilitas

Belum semua aplikasi mendukung webhook. Berbeda dengan API yang sudah banyak didukung oleh berbagai aplikasi karena secara keamanan dianggap lebih baik.

Jadi, kalau komunikasi antar aplikasi menggunakan panggilan balik HTTP tersebut belum dapat dilakukan, gunakanlah API terlebih dahulu.

5/5 - (2 votes)
Risa Y

Recent Posts

Remote Server Aman Dan Mudah Dengan Menggunakan SSH

Fungsionalitas SSH sering digunakan untuk mengakses server. SSH merupakan perintah yang sering digunakan ketika ingin…

22 hours ago

Kenali Strategi Bisnis B2B, B2C, Dan C2C Dari Pengertian Serta Perbedaan

Dalam dunia bisnis pasti sering mendengar istilah B2B, B2C, dan C2C. Namun tahukah Anda kalau…

2 days ago

Mengenal Manfaat GPN Dari Filosofi Logonya!

Apakah Anda menggunakan kartu ATM atau kartu debit? Suka bertransaksi secara cashless? Sepertinya Anda perlu…

4 days ago

Ingin Membuat Website E-Commerce Yang Menarik? Perhatikan Tips Ini

Design website toko online tidak hanya soal estetika, tapi juga UX yang bagus secara keseluruhan.…

5 days ago

Apa Saja Jenis Proyek yang Bisa Dikerjakan UX Designer? Yuk Simak Di Sini

Sebelum memulai karir Anda sebagai desainer UX, Anda harus membuat portofolio yang mencakup semua pengalaman…

6 days ago

Aktifkan Keep-Alive Untuk Meningkatkan Performa Website Anda

Keep-Alive memungkinkan browser pengunjung Anda mendownload semua konten (JavaScript, CSS, gambar, video, dll) melalui koneksi…

7 days ago