
Bayangin Budi Nunggu Paket Dari Siti...
Bayangin Budi beli sepatu di toko online milik Siti. Sepatunya dikirim pakai kurir ekspedisi. Karena Budi gak sabaran, setiap 5 menit sekali Budi menelepon Siti: "Sit, sepatunya udah sampai depan rumahku belum?"
Siti jawab: "Belum Bud!"
5 menit kemudian Budi neken nomor Siti lagi: "Udah sampai belum?"
Siti akhirnya emosi: "BUD! Daripada kamu buang-buang pulsa neken aku terus, mending kamu diam aja di rumah. Nanti kalau kurirnya udah sampai depan pintu, Kurir itu yang bakal nge-WA kamu!"
Masalahnya: HTTP Polling Itu Sangat Boros
Di dunia *Backend*, Budi yang nanya tiap 5 menit itu disebut teknik API Polling.
Misalnya kamu mengintegrasikan pembayaran Midtrans. Kalau servermu (Budi) menggunakan Polling, servermu akan terus-terusan nembak API Midtrans: "Udah dibayar belum? Udah dibayar belum?". Kalau *user* membayarnya 3 jam kemudian, servermu telah menembak API Midtrans sebanyak ribuan kali secara sia-sia. CPU servermu kepanasan dan pihak Midtrans bisa memblokir (Banned) IP servermu karena dianggap melakukan Spam!
Nah, Di Sinilah 'Webhooks' Masuk!
Saran Siti di atas (Kurir yang nge-WA Budi) adalah konsep Webhooks (Reverse API).
- Daripada Server Budi yang nanya, Budi cukup membuat satu URL Endpoint khusus (Misal:
api.budi.com/pembayaran-sukses) dan MEMBERIKAN URL itu ke Midtrans. - Sekarang Server Budi tinggal tidur nyenyak (Menghemat RAM & CPU 100%).
- Begitu *user* transfer uang di ATM, Server Midtrans langsung tahu. Di detik itu juga, Midtrans-lah yang berinisiatif menembak URL milik Budi sambil membawa data JSON: "Hei Budi, pesanan nomor 99 udah dibayar lunas nih!"
Intinya: Webhook mengubah arsitektur aplikasi dari Pull (Menarik paksa) menjadi Push (Mendorong jika ada kejadian). Ini adalah tulang punggung komunikasi otomatis antar server (Server-to-Server) di industri teknologi raksasa.
Mau langsung pakai template?
Jelajahi template gratis dan premium di TampilKit untuk mempercepat proses development project kamu.
Browse Templates