Mengatur webhook saat meneruskan pesan di Telegram

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.

Mengirim pesan dari Telegram ke situs atau aplikasi lain

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.

  1. Buka @flow_in_bot, kirim perintah /start, lalu tekan “Panel kontrol”.

    Masuk ke panel kontrol melalui @flow_in_bot
    Masuk ke panel kontrol melalui @flow_in_bot.
  2. Buka webhook.site di tab terpisah. Salin alamat untuk menerima permintaan dari bidang “Your unique URL”.

    Alamat untuk menerima permintaan pengujian
    Alamat untuk menerima permintaan pengujian.
  3. Di panel FLOWIN, buka “Menu” → “Webhook” lalu klik “Buat”.

    Bagian “Webhook” di menu FLOWIN
    Bagian “Webhook” di menu FLOWIN.
    Membuat webhook pertama
    Membuat webhook pertama.
  4. 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 bidang message.

    Alamat dan isi permintaan pengujian
    Alamat dan isi permintaan pengujian.
  5. Klik “Terapkan” pada webhook yang telah dibuat. Centang penerusan yang diperlukan lalu klik “Simpan”.

    Menghubungkan webhook ke penerusan
    Menghubungkan webhook ke penerusan.
    Memilih penerusan untuk webhook
    Memilih penerusan untuk webhook.
  6. 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.

    Permintaan pengujian di obrolan sumber
    Permintaan pengujian di obrolan sumber.
    Teks permintaan yang diterima di webhook.site
    Teks permintaan yang diterima di webhook.site.

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

  1. Di daftar “Webhook”, klik “Ubah” pada webhook yang diperlukan.

    Membuka pengaturan webhook
    Membuka pengaturan webhook.
  2. Ubah bidang yang diperlukan lalu klik “Simpan”.

    Menyimpan pengaturan yang diubah
    Menyimpan pengaturan yang diubah.
    Deskripsi tersimpan dalam pengaturan webhook
    Deskripsi tersimpan dalam pengaturan webhook.

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.

Metode HTTP yang tersedia
Metode HTTP yang tersedia.

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 dengan short atau sell.
  • 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.
Peristiwa yang memicu permintaan
Peristiwa yang memicu permintaan.

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 permintaan
Waktu pengiriman permintaan.

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.
Tindakan tambahan untuk webhook
Tindakan tambahan untuk 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”.

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.