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.
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.
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.
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:
- Dapatkan URL webhook dari aplikasi penerima data.
- Akses pengaturan webhook di aplikasi pemberi data dan masukkan URL tadi.
- 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.
Kedua, klik menu Webhooks > Add Webhook.
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.
Selanjutnya, tentukan event-event yang menjadi pemicu transfer data. Misalnya, centang checkbox Issue comment, Pull request, dan Pull request review.
Biarkan tanda centang di checkbox Active dan klik Add webhook untuk mengintegrasikan aplikasi tersebut dengan GitHub.
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:
Untuk menggunakan webhook ada langkah konfigurasi yang perlu Anda lakukan sesuai aplikasi yang dituju. Umumnya, bisa dilakukan dengan tiga langkah berikut:
- Dapatkan URL webhook dari aplikasi penerima data.
- Akses pengaturan webhook di aplikasi pemberi data dan masukkan URL tadi.
- 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!
The post Webhook: Definisi, Cara Kerja, dan Bedanya dengan API appeared first on Niagahoster Blog.
source https://www.niagahoster.co.id/blog/webhook-adalah/