Apa itu Webhook? Pengertian, Cara Kerja, dan Perbedaan dengan API

Apa itu Webhook? Pengertian, Cara Kerja, dan Perbedaan dengan API campaign-unlimited

Apa itu webhook? Dalam pembahasan kali ini kita akan belajar mengenai seluk beluk data webhook.

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

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

Berikut adalah penjelasan apa itu webhook:

Apa Itu Webhook dan Cara Kerjanya

Webhook adalah salah satu tools untuk berkomunikasi antar aplikasi atau sistem yang lebih efektif dibandingkan Anda membuat script coding secara manual.

Komunikasi ini dapat terjadi ketika menggunakan webhook dengan berbasis event. Artinya, transfer informasi baru ini dapat terjadi saat Anda memasukkan perintah, yang kemudian akan memicu tindakan lainnya.

Salah satu contohnya adalah otomatisasi email dengan menggunakan aplikasi email marketing

Sebelumnya, ketika ada pengunjung yang telah membuat akun di sebuah website dan mengisi data diri, informasi tersebut akan disimpan pada database Anda. Lalu, Anda dapat menggunakan informasi tersebut untuk mengirimkan email sambutan kepada member baru website.

Dengan webhook, Anda dapat meminta aplikasi email marketing untuk mengirimkan email sambutan setiap kali ada pengunjung yang menyelesaikan pengisian data diri pada website Anda. 

Lebih praktis, bukan? Nah pertanyaannya sekarang adalah, “bagaimana rangkaian proses dari contoh tersebut?” 

Secara teknis, webhook menjadi sebuah panggilan balik atau callback HTTP, yang artinya metode HTTP saat mengirimkan data. Pada umumnya, data yang dikirimkan dengan memakai format JSON atau XML.

Untuk memastikan transfer data berjalan dengan baik, Anda perlu menentukan dulu  URL-nya. Akan menggunakan http:// atau https:// yang menjadi sarana komunikasi antara sistem A dan sistem B ketika melakukan set up webhook.

Singkatnya, sistem komunikasi di antara keduanya dapat dibuat otomatis. Alhasil, proses yang terjadi seperti pada contoh pengiriman email tersebut menjadi tidak perlu lagi  dilakukan secara manual.

Nah, bagaimana dengan cara menggunakan callback HTTP tersebut? Anda dapat menyimak penjelasan selanjutnya di bawah ini.

Webhook vs API

apa-itu-webhook

Webhook juga kerap dibandingkan dengan application programming interface (API) karenakan fungsinya yang hampir sama. Lalu, apa yang menjadi perbedaan keduanya?

Otomatisasi

Perbedaan utama webhook dan API yakni pada cara kerjanya. Pengiriman data dengan webhook bisa dilakukan dengan otomatis.

Dalam kehidupan sehari-hari, cara kerja panggilan balik HTTP ini dapat diibaratkan dengan berlangganan majalah. Cukup sekali permintaan berlangganan, maka setiap kali ada edisi terbaru, penerbit majalah secara otomatis dapat mengirimkannya kepada Anda.

Cara kerja API ini juga memiliki sedikit perbedaan. Pengiriman data dalam sebuah komunikasi dapat dilakukan dari basis permintaan. 

Menggunakan contoh majalah, cara kerja API ini sama halnya membeli majalah di kios. Anda perlu datang ke kios dan bertanya apakah edisi terbaru telah rilis atau belum, sebelum Anda membelinya.

Performa

Perbedaan cara kerja menghasilkan performa yang berbeda.

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

Sementara jika menggunakan API, performanya menjadi kurang optimal dikarenakan setiap permintaan data perlu dilakukan secara manual. Resource yang diperlukan pun tentu menjadi lebih banyak.

Keamanan

API memberikan keamanan yang lebih baik dibandingkan dengan webhook. Mengapa demikian?

Dengan API, aplikasi hanya perlu menerima informasi yang diminta saja. Artinya, jenis dan jumlah data yang masukpun dapat dikontrol.

Webhook tidak mempunyai kendali atas jumlah dan interval data karena setiap prosesnya berjalan otomatis sesuai dengan request di awal. Jadi, server penerima rentan mengalami overload. 

Kompatibilitas

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

Jadi, jika komunikasi antar aplikasi menggunakan call back HTTP belum dapat dilakukan, Anda bisa tetap menggunakan API.

3 Cara Menggunakan Webhook

apa-itu-webhook

Dilihat dari tujuannya, ada tiga cara menggunakan webhook, yaitu:

1. Push

Penggunaan webhook yang sederhana adalah ketika sebuah aplikasi mampu mengirimkan informasi ke aplikasi lain dengan searah, tanpa perlu tindakan lebih lanjut. 

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

Contoh penerapan metode push adalah notifikasi aplikasi di smartphone. Ketika teman Anda melakukan update status, terdapat  informasi yang dikirimkan oleh server ke smartphone Anda sebagai pemberitahuan.

2. Pipe

Dengan menggunakan metode pipe, sesudah informasi dikirim kepada penerima, penerima bisa melakukan tindakan lebih lanjut dengan menggunakan informasi awal yang didapatkan.

Misalnya pada kasus email tentang abandoned cart yang biasa dikirimkan oleh situs marketplace. 

Contohnya ketika Anda menambahkan produk ke keranjang, tetapi tidak segera melakukan checkout. Marketplace menggunakan informasi ini untuk  memberikan notifikasi pada Anda tentang pembelian yang belum diselesaikan.

Selain sekadar informasi, email yang dikirimkan juga dapat mengarahkan penerima email untuk lebih mudah mengakses halaman pembelian yang telah ditinggalkan sebelumnya. Sehingga, transaksi menjadi lebih efektif untuk dilakukan.

3. Plugin

Komunikasi data dengan webhook juga dapat menggunakan plugin.  Dengan begitu, transfer informasi dapat dilakukan dengan dua arah sesuai dengan hak akses yang dapat diatur pada pengaturan di plugin.

Cara Konfigurasi Webhook

apa-itu-webhook

Setiap aplikasi mempunyai cara konfigurasi webhook yang berbeda. Namun, secara umum, 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 pengiriman data.

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

  • Pertama, akses repository GitHub dan klik tab Settings.
  • Kedua, klik menu Webhooks > Add Webhook.
  • Ketiga, Anda perlu memasukkan informasi berikut ke masing-masing kolom pada halaman Add Webhook:
    Payload URL: Isi kolom ini dengan URL webhook yang diberikan aplikasi.
    Content type: Pilih application/json.
    Secret: Kosongkan kolom ini.
    SSL verification: pilih Enable.
    Which events would you like to trigger this webhook?: Pilih Let me select individual events.

Selanjutnya,  Anda perlu untuk menentukan event-event yang menjadi pemicu transfer data. Misalnya, centang pada checkbox Issue comment, Pull request, dan Pull request review.

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

Membuat Bot Telegram Webhook

Telegram adalah salah satu aplikasi pesan instan yang memungkinkan penggunanya membuat bot. Anda juga bisa membuat bot Telegram webhook sendiri. Untuk itu, ada beberapa hal yang harus Anda persiapkan:

  • Hosting. Bisa VPS atau Shared Hosting, yang penting sudah mendukung SSL.
  • Bot Telegram
  • Pemahaman Dasar tentang bahasa pemrograman PHP.

Untuk lebih mudah, Anda bisa menggunakan CodeIginiter sebagai framework PHP. Anda juga perlu hosting lengkap dengan domainnya. Misalnya, namasaya.com.

Buatlah file controller sesuai dengan keinginan Anda. Misalnya, Anda bisa menamainya dengan Bot.php.

Sehingga alamat webhook akan berubah menjadi https://namasaya.com/bot/

Kemudian masukkan script PHP. Sampai pada tahap ini, persiapan server webhook telah selesai.

Kesimpulan

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

Callback HTTP tersebut sering dibandingkan dengan menggunakan API karena mempunyai fungsi yang sama pada transfer data antar aplikasi.

Semoga bermanfaat 

Agar Anda bisa mendapatkan update informasi artikel dari IDwebhost yang bermanfaat lainnya, Anda bisa untuk mengunjungi halaman website IDwebhost di blog IDwebhost.

Kemudian, jika Anda saat ini sedang mencari hosting terbaik untuk keperluan dalam membangun website, Anda bisa menggunakan layanan hosting dari IDwebhost dan domain lengkap. Selain itu juga terdapat promo didalamnya yang dapat Anda gunakan untuk keperluan bisnis online Anda. 

Kemudian jika Anda merasa kesulitan untuk membuat website, Anda juga dapat menggunakan layanan jasa pembuatan website dari IDwebhost atau wunik yang masih dalam satu lini dengan IDwebhost.

Jadikan websitemu lebih jos, dengan IDwebhost. Web hosting, ya IDwebhost!

Taufiq Prasetya Pradana

Member since 6 Sep 2019