Halaman ini menjelaskan cara menyiapkan webhook untuk mengirim pesan asinkron ke Ruang Chat menggunakan pemicu eksternal. Sebagai contoh, Anda dapat mengkonfigurasi aplikasi pemantauan untuk memberi tahu personel {i>on-call<i} tentang Melakukan chat saat server mati. Untuk mengirim pesan sinkron dengan aplikasi Chat, lihat Kirim pesan.
Dengan jenis arsitektur ini, pengguna tidak dapat berinteraksi dengan webhook atau dengan antarmuka eksternal aplikasi karena komunikasi bersifat satu arah. Webhook tidak bersifat seperti percakapan. Mereka tidak dapat membalas atau menerima pesan dari pengguna atau Peristiwa interaksi aplikasi Chat. Untuk membalas pesan, membangun aplikasi Chat bukan webhook.
Meskipun secara teknis webhook aplikasi Chat—webhook menghubungkan aplikasi menggunakan Permintaan HTTP—halaman ini menyebutnya sebagai aplikasi Chat untuk penyederhanaan. Setiap webhook hanya berfungsi di ruang Chat di tempatnya terdaftar. Webhook masuk berfungsi di pesan langsung, tetapi hanya jika semua pengguna memiliki Aplikasi Chat diaktifkan. Anda tidak dapat memublikasikan webhook ke Google Workspace Marketplace.
Diagram berikut menunjukkan arsitektur webhook yang terhubung ke {i>Chat<i}:
Dalam diagram sebelumnya, aplikasi Chat memiliki hal-hal berikut aliran informasi:
- Logika aplikasi Chat menerima informasi dari layanan pihak ketiga eksternal, seperti sistem manajemen proyek atau alat penjualan tiket.
- Logika aplikasi Chat dihosting di cloud atau lokal yang dapat mengirim pesan dengan menggunakan URL webhook ke ruang Chat tertentu.
- Pengguna dapat menerima pesan dari aplikasi Chat di ruang Chat tertentu, tetapi tidak dapat berinteraksi dengan Aplikasi Chat.
Prasyarat
Python
- Sebuah Business atau Enterprise Akun Google Workspace yang memiliki akses ke Google Chat. Organisasi Google Workspace Anda harus mengizinkan pengguna menambahkan dan menggunakan webhook masuk.
- Python 3.6 atau yang lebih baru
- Alat pengelolaan paket pip
Library
httplib2
. Untuk menginstal library, jalankan perintah berikut di antarmuka command line Anda:pip install httplib2
Ruang Google Chat. Untuk membuatnya menggunakan Google Chat API, lihat Membuat ruang. Untuk membuatnya di Chat, kunjungi Dokumentasi Pusat Bantuan.
Node.js
- Sebuah Business atau Enterprise Akun Google Workspace yang memiliki akses ke Google Chat. Organisasi Google Workspace Anda harus mengizinkan pengguna menambahkan dan menggunakan webhook masuk.
- Node.js 14 atau yang lebih baru
- npm alat pengelolaan paket
- Ruang Google Chat. Untuk membuatnya menggunakan Google Chat API, lihat Membuat ruang. Untuk membuatnya di Chat, kunjungi Dokumentasi Pusat Bantuan.
Java
- Sebuah Business atau Enterprise Akun Google Workspace yang memiliki akses ke Google Chat. Organisasi Google Workspace Anda harus mengizinkan pengguna menambahkan dan menggunakan webhook masuk.
- Java 11 atau yang lebih baru
- Alat pengelolaan paket Maven
- Ruang Google Chat. Untuk membuatnya menggunakan Google Chat API, lihat Membuat ruang. Untuk membuatnya di Chat, kunjungi Dokumentasi Pusat Bantuan.
Apps Script
- Sebuah Business atau Enterprise Akun Google Workspace yang memiliki akses ke Google Chat. Organisasi Google Workspace Anda harus mengizinkan pengguna menambahkan dan menggunakan webhook masuk.
- Membuat project Apps Script mandiri, dan aktifkan Layanan Chat Lanjutan.
- Ruang Google Chat. Untuk membuatnya menggunakan Google Chat API, lihat Membuat ruang. Untuk membuatnya di Chat, kunjungi Dokumentasi Pusat Bantuan.
Membuat webhook
Untuk membuat webhook, daftarkan webhook di ruang Chat tempat Anda ingin untuk menerima pesan, dan kemudian menulis skrip untuk mengirim pesan.
Mendaftarkan webhook masuk
- Di browser, buka Chat. Webhook tidak dapat dikonfigurasi dari aplikasi seluler Chat.
- Buka ruang tempat Anda ingin menambahkan webhook.
- Di samping judul ruang, klik perluas panah lainnya, lalu klik Aplikasi & integrasi.
Klik
Tambahkan webhook.Di kolom Name, masukkan
Quickstart Webhook
.Di kolom Avatar URL, masukkan
https://developers.google.com/chat/images/chat-product-icon.png
.Klik Simpan.
Untuk menyalin URL webhook, klik
Lainnya, lalu klik Salin link.
Tulis skrip webhook
Contoh skrip webhook mengirim pesan ke ruang tempat webhook
terdaftar dengan mengirim permintaan POST
ke URL webhook. Tujuan
Chat API merespons dengan instance
Message
Pilih bahasa untuk mempelajari cara membuat skrip webhook:
Python
Di direktori kerja, buat file bernama
quickstart.py
.Di
quickstart.py
, tempel kode berikut:Ganti nilai untuk variabel
url
dengan URL webhook yang yang disalin saat Anda mendaftarkan webhook.
Node.js
Di direktori kerja, buat file bernama
index.js
.Di
index.js
, tempel kode berikut:Ganti nilai untuk variabel
url
dengan URL webhook yang yang disalin saat Anda mendaftarkan webhook.
Java
Di direktori kerja, buat file bernama
pom.xml
.Di
pom.xml
, salin dan tempel teks berikut:Pada direktori kerja Anda, buat struktur direktori berikut
src/main/java
.Di direktori
src/main/java
, buat file bernamaApp.java
.Di
App.java
, tempel kode berikut:Ganti nilai untuk variabel
URL
dengan URL webhook yang Anda yang disalin saat Anda mendaftarkan webhook.
Apps Script
Di browser, buka Apps Script.
Klik New Project
Tempelkan kode berikut:
Ganti nilai untuk variabel
url
dengan URL webhook yang Anda yang disalin saat Anda mendaftarkan webhook.
Jalankan skrip webhook
Di CLI, jalankan skrip:
Python
python3 quickstart.py
Node.js
node index.js
Java
mvn compile exec:java -Dexec.mainClass=App
Apps Script
- Klik Run.
Saat Anda menjalankan kode, webhook akan mengirim pesan ke ruang tempat Anda mendaftarkannya.
Memulai atau membalas rangkaian pesan
Menentukan
spaces.messages.thread.threadKey
sebagai bagian dari isi permintaan pesan. Tergantung apakah Anda memulai atau membalas rangkaian pesan, gunakan nilai berikut untukthreadKey
:Jika memulai thread, setel
threadKey
ke string arbitrer, tetapi mencatat nilai ini untuk memposting balasan ke rangkaian pesan.Jika membalas rangkaian pesan, tentukan
threadKey
yang disetel saat rangkaian pesan dimulai. Misalnya, untuk memposting balasan ke rangkaian pesan tempat pesan awal yang digunakanMY-THREAD
, tetapkanMY-THREAD
.
Tentukan perilaku thread jika
threadKey
yang ditentukan tidak ditemukan:Membalas rangkaian pesan atau memulai rangkaian pesan baru. Tambahkan Parameter
messageReplyOption=REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD
ke URL webhook. Meneruskan parameter URL ini akan menyebabkan Chat untuk mencari thread yang ada menggunakanthreadKey
yang ditentukan. Jika satu ditemukan, maka pesan akan diposting sebagai balasan ke utas tersebut. Jika tidak ada yang ditemukan, maka pesan akan memulai thread baru yang sesuai denganthreadKey
.Membalas rangkaian pesan atau tidak melakukan apa pun. Tambahkan
messageReplyOption=REPLY_MESSAGE_OR_FAIL
ke URL webhook. Meneruskan parameter URL ini akan menyebabkan Chat untuk mencari thread yang ada menggunakanthreadKey
yang ditentukan. Jika satu ditemukan, maka pesan akan diposting sebagai balasan ke utas tersebut. Jika tidak ada yang ditemukan, maka pesan tersebut tidak akan dikirim.
Untuk mempelajari lebih lanjut, lihat
messageReplyOption
.
Contoh kode berikut memulai atau membalas rangkaian pesan: