Aldwin Nayoan Aldwin is a content writer at Niagahoster. Specializing in web hosting and WordPress, he is eager to help people uplevel their business on the internet. Apart from being a tech junkie, Aldwin likes fiction and photography.

Webhook: Definisi, Cara Kerja, dan Bedanya dengan API

3 min read

Featured image webhook

Komunikasi antar aplikasi yang berjalan baik itu penting, dan webhook adalah salah satu sarana untuk mewujudkannya. Baik itu untuk mengembangkan proyek atau meningkatkan produktivitas bisnis.

Dengannya, proses komunikasi antar sistem dapat berjalan dengan lebih efisien.

Apa itu webhook? Itulah yang akan Anda pelajari di artikel ini. Kami akan mengajak Anda membahas pengertian dan cara kerjanya serta perbedaannya dengan application programming interface (API). 

Selamat membaca!

Apa Itu Webhook dan Cara Kerjanya

Webhook adalah salah satu sarana berkomunikasi antar aplikasi atau sistem dengan lebih efektif.

Komunikasi yang terjadi saat menggunakan sarana tersebut berbasis event. Artinya, transfer informasi baru terjadi saat ada input atau tindakan, yang kemudian memicu tindakan lain.

Contohnya adalah otomatisasi email dengan aplikasi email marketing. 

Sebelumnya, ketika ada pengunjung membuat akun di website dan mengisikan data diri, informasi tersebut akan disimpan di database Anda. Lalu, Anda akan menggunakan informasi yang diberikan untuk mengirimkan email sambutan ke pengunjung tersebut.

Dengan webhook, Anda bisa meminta aplikasi email marketing untuk mengirimkan email sambutan setiap kali pengunjung selesai mengisikan data diri untuk akun baru. 

Lebih praktis, bukan? Bagaimana rangkaian proses di contoh itu bisa terjadi? 

Secara teknis, webhook adalah sebuah panggilan balik atau callback HTTP, yaitu metode HTTP untuk mengirimkan data. Umumnya, data yang dikirimkan menggunakan format JSON atau XML.

Ilustrasi cara kerja webhook

Untuk memastikan transfer data berjalan baik, perlu ditentukan dulu  URL http:// atau https:// yang menjadi sarana komunikasi antara sistem A dan sistem B ketika melakukan set up webhook.

Singkatnya, sistem komunikasi antara keduanya dibuat otomatis. Dengan begitu, proses seperti pada contoh pengiriman email tidak perlu dilakukan manual lagi.

Nah, bagaimana cara menggunakan callback HTTP tersebut? Mari simak di bagian selanjutnya.

Webhook vs API

Webhook sering disandingkan dengan application programming interface (API) karena fungsinya mirip. Lalu, apa sih perbedaannya?

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 kepada Anda.

Analogi cara kerja webhook

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. Anda harus datang ke kios dan bertanya apakah edisi terbaru sudah keluar, sebelum dapat membelinya.

Analogi cara kerja API

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.

Keamanan

API memberikan keamanan yang lebih baik dibanding webhook. Kenapa demikian?

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.

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.

3 Cara Menggunakan Webhook

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

1. Push

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 Anda mengupdate status, ada informasi yang dikirimkan oleh server ke  smartphone Anda 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 Anda memasukkan produk ke keranjang, tetapi tidak melakukan checkout, marketplace menggunakan informasi ini untuk memberikan notifikasi ke Anda 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:

  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 Anda gunakan untuk memicu pengiriman data.

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

Pertama, akses repositori GitHub dan klik tab Settings.

Tab Settings di repositori GitHub

Kedua, klik menu Webhooks > Add Webhook.

Tombol untuk menambahkan webhook ke repositori GitHub

Ketiga, 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.
Kolom informasi konfigurasi webhook antara GitHub dan Copado

Selanjutnya,  tentukan event-event yang menjadi pemicu transfer data. Misalnya, centang checkbox Issue comment, Pull request, dan Pull request review.

Jenis event trigger GitHub

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

Tombol add webhook di GitHub untuk integrasi Copado

Siap Menggunakan Webhook?

Webhook memungkinkan suatu aplikasi untuk mengirimkan data ke aplikasi lainnya dengan lebih mudah. Anda cukup menentukan kapan komunikasi akan dilakukan menggunakan sebuah pemicu (trigger).

Callback HTTP tersebut sering dibandingkan dengan API karena memiliki fungsi yang sama untuk transfer data antar aplikasi. Namun, keduanya memiliki empat perbedaan, yaitu:

Tabel perbandingan webhook dan API

Untuk menggunakan webhook ada langkah konfigurasi yang perlu Anda lakukan sesuai aplikasi yang dituju. Umumnya, bisa dilakukan dengan tiga langkah berikut:

  1. Dapatkan URL webhook dari aplikasi penerima data.
  2. Akses pengaturan webhook di aplikasi pemberi data dan masukkan URL tadi.
  3. Tentukan event trigger.

Jadi, Anda sudah paham apa itu webhook, kan? Jika ingin update tentang topik-topik seputar perkembangan IT, terutama yang berkaitan dengan website dan hosting, jangan lupa subscribe blog Niagahoster, ya!

Aldwin Nayoan Aldwin is a content writer at Niagahoster. Specializing in web hosting and WordPress, he is eager to help people uplevel their business on the internet. Apart from being a tech junkie, Aldwin likes fiction and photography.

Leave a Reply

Your email address will not be published. Required fields are marked *