Webhook adalah pesan yang dikirim satu aplikasi ke aplikasi lain saat sesuatu terjadi. Cara kerjanya, cara verifikasi, dan isi webhook sona.to.
Webhook adalah pesan yang dikirim satu aplikasi ke aplikasi lain begitu sesuatu terjadi, jadi aplikasi kedua tidak perlu terus-menerus bertanya. Anda memberi aplikasi pertama sebuah alamat, dan aplikasi itu mengirim detail setiap peristiwa ke sana segera setelah terjadi. Panduan ini menjelaskan cara kerja webhook, cara memeriksa bahwa sebuah webhook asli, dan apa yang dikirim sona.to, yang juga dirangkum di halaman Webhooks.
Apa itu webhook?
Sebagian besar aplikasi berbagi data dengan dua cara. Dengan API, sistem Anda bertanya: "apakah postingannya sudah terbit?", lalu bertanya lagi nanti jika jawabannya belum. Dengan webhook, aplikasi yang memberi tahu Anda: saat postingan terbit, aplikasi mengirim permintaan ke alamat yang Anda pilih, berisi detail postingan itu.
Jadi webhook adalah permintaan HTTP, biasanya POST dengan body JSON, yang dikirim ke URL yang Anda kendalikan. URL itu bisa berupa server Anda sendiri, atau alamat webhook dari n8n, Zapier, Make, Slack, atau layanan lain yang menjalankan alur kerja saat permintaan masuk.
Webhook vs API
API dipakai untuk bertanya dan mengubah: menampilkan daftar postingan, membuat postingan, membaca angka. Webhook dipakai untuk diberi tahu. Sebagian besar integrasi memakai keduanya: API untuk membuat postingan dan webhook untuk mengetahui kapan postingan itu terbit atau gagal. Bertanya ke API berulang kali menghabiskan permintaan dan tetap terlambat tahu, sedangkan webhook datang begitu peristiwanya terjadi.
Cara memverifikasi webhook
Siapa pun yang tahu alamat webhook Anda bisa mengirim permintaan palsu ke sana, jadi webhook yang dibuat dengan baik ditandatangani. Pengirim menghitung tanda tangan dari body dan sebuah secret bersama, biasanya dengan HMAC SHA-256, lalu menaruhnya di header. Di sisi Anda, tanda tangan yang sama dihitung dengan secret yang sama, lalu keduanya dibandingkan dengan perbandingan waktu konstan. Jika berbeda, permintaan itu diabaikan.
Menyertakan timestamp dalam data yang ditandatangani juga mencegah replay: permintaan yang pernah disadap tidak bisa dikirim ulang nanti, karena timestamp-nya sudah terlalu lama.
Webhook di sona.to
sona.to mengirim webhook untuk empat peristiwa: postingan terbit, postingan gagal, audit situs selesai, dan audit situs gagal. Anda memilih peristiwa apa saja yang diterima setiap webhook, jadi notifikasi chat bisa hanya mendengarkan kegagalan sementara lembar laporan menerima semuanya. Payload memakai nama field yang sama dengan API sona.to.
Cara memasangnya. Di halaman API pada dasbor Anda, tempel alamatnya, centang peristiwanya, dan simpan. Secret penandatanganan hanya ditampilkan sekali saat itu, jadi salin saat itu juga.
Tanda tangan. Setiap pengiriman membawa header berisi timestamp dan HMAC SHA-256 dari timestamp dan body, yang dibuat dengan secret Anda. Tolak permintaan yang timestamp-nya lebih tua dari beberapa menit.
Percobaan ulang. Jika alamat Anda sedang mati atau mengembalikan error, pengiriman dicoba lagi setelah 60 detik, 5 menit, dan 30 menit. Setiap percobaan dicatat beserta kode status dan durasinya. Alamat yang terus gagal akan dinonaktifkan, dan Anda bisa mengaktifkannya lagi setelah diperbaiki.
Keamanan. Alamat harus memakai https dan mengarah ke server publik. Alamat di jaringan privat ditolak saat Anda menyimpan dan sekali lagi saat pengiriman, dan redirect tidak diikuti.
Webhook dengan n8n, Zapier, dan Make
Aplikasi sona.to untuk n8n, Zapier, dan Make punya trigger siap pakai untuk empat peristiwa yang sama, jadi Anda tidak perlu menempel alamat sendiri: tambahkan trigger-nya dan aplikasi akan memasang webhook. Lihat otomatisasi media sosial dengan n8n, Zapier, dan Make.
Detail lengkap, dengan contoh pemeriksaan tanda tangan, ada di dokumentasi API.
Pertanyaan yang sering diajukan
Apakah webhook sama dengan API?
Tidak. API menjawab saat Anda bertanya. Webhook mengirimi Anda pesan saat sesuatu terjadi.
Apakah webhook sona.to gratis?
Webhook tersedia di semua paket, bersama dengan API.
Apa yang terjadi jika server saya mati?
sona.to mencoba lagi tiga kali dalam waktu sekitar setengah jam. Jika pengiriman terus gagal, webhook dinonaktifkan sampai Anda mengaktifkannya kembali.
Siap mencobanya?
Gratis untuk memulai, tanpa kartu kredit.