Webhook adalah mekanisme pengiriman data secara otomatis antara situs dan aplikasi saat peristiwa tertentu terjadi. Data dikirim melalui permintaan HTTP: satu aplikasi mengirimkannya melalui internet ke alamat aplikasi lain yang telah ditentukan sebelumnya.

Kemampuan webhook
Di FLOWIN, webhook bekerja dengan penerusan. Webhook dapat terpicu saat pesan muncul, diubah, dihapus, atau disematkan di obrolan asal (sumber), serta saat tombol diklik di obrolan tempat pesan diteruskan (tujuan).
Dengan cara ini, FLOWIN dapat dihubungkan dengan media sosial, bursa, spreadsheet, dan CRM, yaitu sistem untuk mengelola hubungan dengan pelanggan. Hubungan ini disebut integrasi dan memungkinkan Anda:
- Menambahkan permintaan dari Telegram ke CRM secara otomatis.
- Mengirim sinyal perdagangan dari Telegram ke bursa untuk penyalinan transaksi otomatis, yaitu melakukan transaksi secara otomatis berdasarkan sinyal tersebut.
- Meneruskan pesan dari Telegram ke media sosial lain.
- Menyalin postingan dan pesan ke Google Sheets.
- Mengatur balasan otomatis dalam bot.
Untuk setiap skenario, penerimaan data dan tindakan yang diperlukan harus diatur di sisi situs atau aplikasi.
Membuat webhook
Kita akan menguji webhook di webhook.site, situs yang memberikan alamat untuk menerima data dan menampilkan permintaan yang diterima. Kita akan mengirim teks pesan baru dari Telegram ke alamat tersebut.
Untuk ini, diperlukan penerusan yang telah diatur dan aktif di FLOWIN.
Untuk pengujian pertama
Gunakan obrolan pengujian terpisah dan permintaan fiktif. Untuk memeriksa, cukup kirim teks tanpa nama, nomor telepon, atau data pribadi lainnya.
Buka @flow_in_bot, kirim perintah
/start, lalu tekan “Panel kontrol”.Buka webhook.site di tab terpisah. Salin alamat untuk menerima permintaan dari bidang “Your unique URL”.
Di panel FLOWIN, buka “Menu” → “Webhook” lalu klik “Buat”.
Tempelkan alamat yang disalin di bidang paling atas. Di bidang “Isi permintaan”, masukkan
{"message":"<message-text>"}lalu klik “Buat”. Ini adalah templat data yang dikirim: sebagai pengganti<message-text>FLOWIN akan menyisipkan teks pesan, dan penerima akan melihatnya di bidangmessage.Klik “Terapkan” pada webhook yang telah dibuat. Centang penerusan yang diperlukan lalu klik “Simpan”.
Kirim pesan pengujian ke obrolan sumber, misalnya “Permintaan No.1042: perlu katalog furnitur.” Kembali ke webhook.site: permintaan pertama yang diterima akan terbuka secara otomatis. Di blok “Request Content”, teks permintaan akan muncul di bidang
message. Sekarang FLOWIN akan mengirim teks setiap pesan baru secara otomatis ke alamat yang ditentukan sebelum meneruskannya ke obrolan tujuan.
Pengaturan webhook
Mari kita bahas pengaturan menggunakan webhook yang telah dibuat sebagai contoh: cara mengubahnya dan arti setiap bidang.
Dari mana mendapatkan pengaturan
Untuk menghubungkan situs atau aplikasi lain, gunakan dokumentasinya. Aturan penerimaan data biasanya terdapat di bagian API yang menjelaskan interaksi dengan program lain. Di sana tercantum alamat, metode HTTP, dan format data untuk mengisi bidang di bawah ini.
Cara mengubah pengaturan webhook
Di daftar “Webhook”, klik “Ubah” pada webhook yang diperlukan.
Ubah bidang yang diperlukan lalu klik “Simpan”.
Metode HTTP
Metode HTTP menentukan tindakan permintaan: POST mengirim data untuk diproses, GET meminta data, PUT menggantinya. POST dipilih secara default dan sesuai untuk pengujian kita. Untuk situs atau aplikasi lain, pilih metode yang tercantum dalam dokumentasinya.
Alamat URL
URL berarti alamat di internet. Di sini Anda memasukkan alamat untuk menerima data yang didapat dari situs atau aplikasi yang dihubungkan. Dalam contoh kita, alamat tersebut diberikan oleh webhook.site.
Isi permintaan
Isi permintaan memuat data yang dikirim dalam format JSON, berupa pasangan “nama bidang: nilai”. Susunan bidang bergantung pada persyaratan situs atau aplikasi yang dihubungkan.
Tag meta adalah penanda yang diganti FLOWIN dengan data pesan. Misalnya, <message-text> diganti dengan teks, sedangkan <author-name> dengan nama penulis. Daftar tag meta juga dapat dibuka melalui tautan “tag meta” di bawah bidang.
Nomor pengguna, pesan, obrolan, dan topik dalam daftar berikut berarti pengenalnya (ID) di Telegram.
Pesan dan penulis
- Teks pesan:
<message-text>. - Tanggal pesan:
<message-date>. - Waktu pesan:
<message-time>. - ID penulis:
<author-id>. - Nama penulis:
<author-name>. - Nama penulis dalam tautan HTML ke profilnya:
<author-name-link>. - Nama penulis sebagai tagar:
<author-name-tag>. - Username penulis:
<author-username>.
Sumber
- Teks pesan:
<src-message-text>. - ID pesan:
<src-message-id>. - Tautan ke pesan:
<src-message-link>. - ID obrolan:
<src-chat-id>. - Nama obrolan:
<src-chat-name>. - Username obrolan:
<src-chat-username>. - ID topik:
<src-topic-id>. - Nama topik:
<src-topic-name>.
Tujuan
- Teks pesan:
<dst-message-text>. - ID pesan:
<dst-message-id>. - Tautan ke pesan:
<dst-message-link>. - ID obrolan:
<dst-chat-id>. - Nama obrolan:
<dst-chat-name>. - Username obrolan:
<dst-chat-username>. - ID topik:
<dst-topic-id>. - Nama topik:
<dst-topic-name>.
ID dan tautan pesan di tujuan muncul setelah penerusan. Untuk mengirimkannya, pilih “Setelah dikirim” di bidang “Pemicu permintaan”.
Klik tombol
- ID pengguna yang mengeklik:
<clicker-id>. - Nama pengguna yang mengeklik:
<clicker-name>. - Data tombol:
<clicker-data>. - Tanggal klik:
<click-date>. - Waktu klik:
<click-time>.
Pemilihan teks
- Ekspresi reguler menentukan aturan pencarian teks. Misalnya,
<regexp>(short|sell)</regexp>menyisipkan kecocokan pertama yang ditemukan denganshortatausell. - Teks acak
<random>1|2|3|4|5</random>menyisipkan salah satu dari lima pilihan. Di antara tag, Anda dapat memasukkan pilihan sendiri dengan memisahkannya menggunakan karakter|.
Header permintaan
“Header permintaan” memuat informasi teknis untuk penerima. Misalnya, kunci akses memungkinkan penerima memeriksa siapa yang mengirim permintaan. Header ditentukan dalam format JSON. Biasanya bidang ini tidak perlu diubah; nilai yang diperlukan diambil dari dokumentasi situs atau aplikasi yang dihubungkan.
Pemicu permintaan
“Pemicu permintaan” menentukan peristiwa dan waktu saat webhook harus mengirim permintaan ke alamat yang ditentukan. Peristiwa berikut dapat dipilih:
- “Pengiriman” dipilih secara default. Webhook terpicu saat pesan baru diteruskan.
- “Pengubahan” terpicu saat perubahan pesan di sumber diproses.
- “Penyematan” terpicu saat penyematan pesan di sumber diproses.
- “Penghapusan” terpicu saat penghapusan pesan di sumber diproses.
- “Klik tombol” terpicu untuk tombol callback di obrolan tujuan. Tombol seperti ini memberi tahu bot tentang klik dan mengirim data yang ditentukan untuknya. Tombol tautan biasa tidak memicu webhook ini.
Waktu pengiriman menentukan pada tahap penerusan mana permintaan dikirim:
- “Sebelum diproses”: permintaan dikirim sebelum penerjemahan dan pemrosesan pesan dengan kecerdasan buatan (AI).
- “Setelah diproses”: permintaan dikirim setelah terjemahan dan pemrosesan AI.
- “Setelah dikirim”: permintaan dikirim setelah pesan berhasil dikirim atau diubah di obrolan tujuan.
Waktu pengiriman yang tersedia
Ketiga pilihan tersedia untuk peristiwa “Pengiriman” dan “Pengubahan”. Untuk “Penyematan”, “Penghapusan”, dan “Klik tombol”, digunakan “Sebelum diproses”; waktu lain tidak dapat dipilih.
Deskripsi
“Deskripsi” adalah catatan untuk kemudahan Anda dan tidak memengaruhi cara kerja webhook. Bidang ini boleh dibiarkan kosong.
Tindakan yang tersedia untuk webhook
Webhook yang telah dibuat dapat dikelola dari daftar “Webhook”:
- “Ubah” membuka pengaturan utama webhook.
- “Gandakan” di menu “Lainnya” membuat salinan pengaturan webhook.
- “Pilih proyek” di menu “Lainnya” menambahkan webhook ke proyek.
- “Hapus” di menu “Lainnya” menghapus webhook.
Selain itu, setiap webhook memiliki tombol “Penerusan [N]” yang membuka pemilihan penerusan tempat webhook diterapkan. N menunjukkan jumlah penerusan yang dipilih. Jika belum ada penerusan yang dipilih, tombol “Terapkan” ditampilkan sebagai gantinya.
Pertanyaan umum
Apa itu webhook dalam bahasa sederhana?
Webhook adalah cara mengirim data secara otomatis ke aplikasi lain saat peristiwa tertentu terjadi. Misalnya, saat pesan baru diteruskan, FLOWIN mengirim teksnya ke alamat yang Anda tentukan melalui permintaan HTTP. Di sini FLOWIN yang mengirim permintaan; metode Telegram setWebhook mengatur arah yang berbeda: pengiriman pembaruan dari Telegram ke program yang melayani bot.
Apakah memasukkan alamat CRM saja sudah cukup?
Tidak. Diperlukan alamat penerimaan data dari dokumentasi CRM, beserta metode HTTP, bidang JSON, dan header yang sesuai jika diperlukan untuk akses. Alamat situs CRM biasa tidak sesuai untuk ini. FLOWIN mengirim permintaan, sedangkan pembuatan permintaan pelanggan atau tindakan lain bergantung pada cara CRM memproses data yang diterima. Nilai bidang dijelaskan di bagian “Pengaturan webhook”.
Mengapa tautan ke pesan di tujuan kosong?
Sebelum pesan baru berhasil dikirim, FLOWIN belum memiliki ID dan tautannya di tujuan. Untuk mengirim <dst-message-id> dan <dst-message-link> pilih peristiwa “Pengiriman” atau “Pengubahan” dan waktu “Setelah dikirim” di bidang “Pemicu permintaan”. Tautan dibuat untuk kanal dan supergrup. Untuk obrolan pribadi atau grup biasa, <dst-message-link> tetap kosong bahkan setelah pengiriman.
Bisakah webhook dipicu dengan mengeklik tombol URL biasa?
Tidak. Tombol URL biasa membuka tautan. Peristiwa “Klik tombol” memerlukan tombol callback di obrolan tujuan yang mengirim data klik ke bot. Perbedaan ini dijelaskan di bagian “Pemicu permintaan”.
Bagaimana cara memeriksa apakah layanan eksternal menerima data?
Kirim pesan fiktif lalu periksa permintaan yang diterima di sisi layanan. Dalam contoh webhook.site teks permintaan muncul di blok “Request Content”. Keberhasilan penerusan di Telegram saja tidak membuktikan bahwa layanan eksternal menerima data atau melakukan tindakan yang diperlukan. Untuk pemeriksaan, cukup gunakan teks tanpa nama, nomor telepon, atau data pribadi lainnya.















