Webhook ialah mesej yang dihantar satu aplikasi kepada aplikasi lain sebaik sesuatu berlaku. Cara ia berfungsi, cara mengesahkannya dan isi webhook sona.to.
Webhook ialah mesej yang dihantar oleh satu aplikasi kepada aplikasi lain sebaik sahaja sesuatu berlaku, jadi aplikasi kedua tidak perlu terus bertanya. Anda memberi aplikasi pertama satu alamat, dan ia menghantar butiran setiap peristiwa ke alamat itu sebaik sahaja ia berlaku. Panduan ini menerangkan cara webhook berfungsi, cara menyemak bahawa webhook itu tulen dan apa yang dihantar oleh sona.to, yang turut dirumuskan di halaman Webhooks.
Apa itu webhook?
Kebanyakan aplikasi berkongsi data dengan dua cara. Dengan API, sistem anda bertanya: "adakah siaran sudah diterbitkan?", dan bertanya lagi kemudian jika jawapannya belum. Dengan webhook, aplikasi yang memberitahu anda: apabila siaran diterbitkan, ia menghantar permintaan ke alamat yang anda pilih, bersama butiran siaran itu.
Oleh itu, webhook ialah permintaan HTTP, biasanya POST dengan body JSON, yang dihantar ke URL yang anda kawal. URL itu boleh menjadi server anda sendiri, atau alamat webhook yang diberi oleh n8n, Zapier, Make, Slack atau perkhidmatan lain yang memulakan aliran kerja apabila permintaan itu tiba.
Webhook vs API
API digunakan untuk bertanya dan mengubah: menyenaraikan siaran, mencipta siaran, membaca angka. Webhook digunakan untuk dimaklumkan. Kebanyakan integrasi menggunakan kedua-duanya: API untuk mencipta siaran dan webhook untuk mengetahui bila siaran itu diterbitkan atau gagal. Bertanya kepada API berulang kali membazirkan permintaan dan masih lambat tahu, manakala webhook tiba sebaik sahaja peristiwa berlaku.
Cara mengesahkan webhook
Sesiapa yang tahu alamat webhook anda boleh menghantar permintaan palsu kepadanya, jadi webhook yang dibina dengan baik ditandatangani. Penghantar mengira tandatangan daripada body dan secret yang dikongsi, biasanya dengan HMAC SHA-256, dan meletakkannya dalam header. Pihak anda mengira tandatangan yang sama dengan secret yang sama dan membandingkan kedua-duanya dengan perbandingan masa malar. Jika berbeza, permintaan itu diabaikan.
Memasukkan cap masa dalam data yang ditandatangani juga menghalang ulang main: permintaan yang pernah dipintas tidak boleh dihantar semula kemudian, kerana cap masanya sudah terlalu lama.
Webhook dalam sona.to
sona.to menghantar webhook untuk empat peristiwa: siaran diterbitkan, siaran gagal, audit laman web selesai dan audit laman web gagal. Anda memilih peristiwa yang diterima oleh setiap webhook, jadi bot pemberitahuan chat boleh mendengar kegagalan sahaja sementara helaian laporan menerima semuanya. Payload menggunakan nama medan yang sama seperti API sona.to.
Cara menyediakannya. Di halaman API dalam papan pemuka anda, tampal alamat, tanda peristiwa dan simpan. Secret tandatangan ditunjukkan sekali sahaja pada ketika itu, jadi salin terus.
Tandatangan. Setiap penghantaran membawa header dengan cap masa dan HMAC SHA-256 bagi cap masa dan body, yang dibuat dengan secret anda. Tolak permintaan yang cap masanya lebih lama daripada beberapa minit.
Cubaan semula. Jika alamat anda tidak aktif atau memulangkan ralat, penghantaran dicuba lagi selepas 60 saat, 5 minit dan 30 minit. Setiap cubaan dilog dengan kod status dan tempohnya. Alamat yang terus gagal akan dimatikan, dan anda boleh menghidupkannya semula selepas dibaiki.
Keselamatan. Alamat mesti menggunakan https dan menghala ke server awam. Alamat dalam rangkaian persendirian ditolak semasa anda menyimpan dan sekali lagi semasa penghantaran, dan ubah hala tidak diikuti.
Webhook dengan n8n, Zapier dan Make
Aplikasi sona.to untuk n8n, Zapier dan Make mempunyai trigger sedia ada untuk empat peristiwa yang sama, jadi anda tidak perlu menampal alamat sendiri: tambah trigger itu dan aplikasi akan menyediakan webhook. Lihat automasi media sosial dengan n8n, Zapier dan Make.
Butiran penuh, dengan contoh semakan tandatangan, ada dalam dokumentasi API.
Soalan lazim
Adakah webhook sama dengan API?
Tidak. API menjawab apabila anda bertanya. Webhook menghantar mesej kepada anda apabila sesuatu berlaku.
Adakah webhook sona.to percuma?
Webhook disertakan dalam semua pelan, bersama API.
Apa yang berlaku jika server saya tidak aktif?
sona.to mencuba semula tiga kali dalam tempoh kira-kira setengah jam. Jika penghantaran terus gagal, webhook dimatikan sehingga anda menghidupkannya semula.
Sedia untuk mencubanya?
Percuma untuk bermula, tiada kad kredit diperlukan.