Menggunakan acara dari Google Chat

Halaman ini menjelaskan cara aplikasi Google Chat dapat menerima dan merespons peristiwa di Google Chat.

Peristiwa Google Chat mewakili aktivitas atau perubahan di Chat, seperti pesan baru dalam ruang. Aplikasi Chat Anda dapat menggunakan peristiwa untuk memahami apa yang terjadi dan mengambil tindakan atau merespons dengan cara yang bermakna bagi pengguna.

Berikut beberapa contoh cara menggunakan peristiwa:

  • Pantau dan balas pesan baru dalam ruang, seperti memeriksa kata kunci atau frasa.
  • Kirim pesan selamat datang kepada pengguna saat mereka bergabung ke ruang, untuk menjelaskan panduan ruang, atau membagikan tips tentang cara menggunakan aplikasi Chat secara efektif.
  • Melacak dan menganalisis aktivitas Chat. Misalnya, untuk mengirim laporan bulanan tentang anggota baru atau pesan yang mendapatkan reaksi atau balasan paling banyak.
  • Berkomunikasi di seluruh platform pesan. Misalnya, pengguna dapat mengirim dan menerima pesan dari pengguna di platform pesan lain tanpa keluar dari Chat.

Cara kerja peristiwa

Setiap kali terjadi sesuatu di Google Chat, resource Google Chat API dibuat, diperbarui, atau dihapus. Chat menggunakan peristiwa untuk mengirimkan informasi ke aplikasi Chat Anda tentang jenis aktivitas yang terjadi, dan resource Chat API yang terpengaruh.

Contoh cara pesan yang diposting ke ruang Google Chat akan memicu peristiwa.
Gambar 1. Pengguna memposting pesan di ruang Chat, yang membuat resource Message. Chat kemudian membuat peristiwa yang berisi data tentang pesan baru tersebut.

Chat mengategorikan acara menurut jenis. Jenis peristiwa membantu Anda memfilter dan menerima jenis informasi yang diperlukan saja, dan memungkinkan Anda menangani aktivitas serupa dengan cara yang sama.

Tabel berikut menunjukkan pengaruh aktivitas di Chat terhadap resource Chat API terkait, serta jenis peristiwa yang diterima aplikasi Chat Anda:

Aktivitas Referensi Chat API Jenis peristiwa
Pengguna memposting pesan di ruang Chat Resource Message dibuat. Pesan baru
Pengguna menjadi pengelola ruang. Resource Membership diperbarui. Keanggotaan yang diperbarui
Pengguna bereaksi pada pesan. Resource Reaction dibuat. Reaksi baru
Pengguna keluar dari ruang. Resource Membership dihapus. Langganan yang dihapus

Terima peristiwa dari Google Chat

Untuk menerima peristiwa, aplikasi Chat Anda dapat melakukan salah satu hal berikut:

  • Berlangganan peristiwa menggunakan Google Workspace Events API untuk menerima peristiwa saat terjadi.
  • Buat kueri untuk peristiwa terbaru dengan memanggil Chat API.

Tabel berikut menjelaskan perbedaan dan alasan pembuatan kueri atau langganan peristiwa:

Berlangganan peristiwa Kueri untuk peristiwa
Kasus penggunaan
  • Memproses atau merespons peristiwa secara real time.
  • Pantau aktivitas keanggotaan pengguna dan temukan ruang baru untuk dipantau.
  • Memproses atau merespons peristiwa secara berkala, atau melalui pemicu.
  • Mengambil peristiwa yang terlewatkan dari langganan (karena gangguan atau langganan tidak aktif).
API Google Workspace Events API Chat API
Sumber peristiwa Ruang dan pengguna Hanya spasi
Peristiwa yang didukung
  • Pesan
  • Langganan
  • Reaksi
  • Ruang

Untuk mengetahui daftar jenis peristiwa yang didukung, lihat Jenis peristiwa untuk membuat langganan dalam dokumentasi Google Workspace Events API.
  • Pesan
  • Langganan
  • Reaksi
  • Ruang

Untuk mengetahui daftar jenis peristiwa yang didukung, lihat referensi spaceEvents dalam dokumentasi referensi Chat API.
Format peristiwa Pesan Google Cloud Pub/Sub, yang diformat sesuai dengan spesifikasi CloudEvent. Untuk mengetahui detailnya, lihat Struktur peristiwa Google Workspace. Resource Chat API ( spaces.spaceEvent)
Data peristiwa String berenkode base64 dengan atau tanpa data resource. Untuk contoh payload, lihat Data peristiwa. Payload JSON yang berisi data resource. Beberapa jenis peristiwa hanya menyertakan kolom resource tertentu. Untuk mengetahui contoh payload, lihat dokumentasi referensi.

Contoh: Membuat kueri atau berlangganan acara tentang keanggotaan di ruang

Dalam contoh ini, aplikasi Chat ingin menerima informasi tentang perubahan pada anggota ruang Chat. Di ruang, aktivitas keanggotaan berikut akan terjadi:

  • Pengguna bergabung ke ruang, yang membuat resource Membership dan memicu peristiwa anggota baru.
  • Pengguna menjadi pengelola ruang, yang memperbarui resource Membership untuk pengguna dan memicu peristiwa anggota yang diperbarui.
  • Pengguna keluar dari ruang, yang akan menghapus resource Membership untuk pengguna dan memicu peristiwa anggota yang dihapus.

Berlangganan peristiwa keanggotaan

Untuk menerima peristiwa secara real time, aplikasi Chat akan memanggil metode subscriptions.create() Google Workspace Events API untuk berlangganan ruang bagi semua jenis peristiwa keanggotaan. Setelah membuat langganan, aplikasi Chat dapat mulai menerima peristiwa keanggotaan.

Aplikasi Chat yang berlangganan acara menggunakan Google Workspace Events API.
Gambar 2. Aplikasi Chat menerima peristiwa keanggotaan melalui langganan menggunakan Google Workspace Events API.

Pada Gambar 2, aplikasi Chat memiliki langganan aktif ke ruang, sehingga aplikasi menerima peristiwa setiap kali keanggotaan dalam ruang berubah. Aplikasi Chat kemudian dapat memproses atau merespons aktivitas apa pun secara real time, seperti memposting pesan selamat datang pribadi kepada anggota yang bergabung ke ruang.

Untuk mempelajari cara membuat langganan menggunakan Google Workspace Events API, lihat dokumentasi Google Workspace Events API.

Kueri untuk peristiwa keanggotaan terbaru

Daripada menerima peristiwa keanggotaan saat sedang berlangsung, aplikasi Chat dapat memanggil Chat API untuk mencantumkan peristiwa ruang terbaru yang terkait dengan aktivitas keanggotaan.

Aplikasi Chat yang mengkueri peristiwa menggunakan Chat API.
Gambar 3. Aplikasi Chat menerima peristiwa keanggotaan terbaru dengan membuat kueri peristiwa ruang menggunakan Chat API.

Pada Gambar 3, aplikasi Chat memanggil metode spaces.spaceEvents.list() Chat API setelah semua aktivitas keanggotaan terjadi, dan memfilter kueri untuk peristiwa keanggotaan baru, yang diperbarui, dan dihapus. Chat API menampilkan daftar resource spaceEvent yang mewakili setiap perubahan keanggotaan. Selanjutnya, aplikasi Chat dapat memproses atau merespons berdasarkan aktivitas terbaru, seperti memposting pesan mingguan yang berisi ringkasan aktivitas keanggotaan ruang dalam 7 hari terakhir.

Untuk membuat kueri peristiwa menggunakan Chat API, lihat Mencantumkan peristiwa dari ruang Google Chat.

Batasan

  • Untuk langganan bagi pengguna, peristiwa tentang anggota baru dalam pesan langsung, atau chat grup tanpa nama (google.workspace.chat.membership.v1.created), hanya dipicu setelah pesan pertama diposting.
  • Perubahan pada histori ruang tidak memicu peristiwa ruang yang diperbarui (Jenis peristiwa: google.workspace.chat.spaces.v1.updated).
  • Untuk menerima peristiwa keanggotaan, pengguna harus menjadi anggota langsung ruang tersebut. Jika pengguna ditambahkan, diperbarui, atau dihapus secara tidak langsung ke ruang melalui Google Grup, langganan tidak akan menerima peristiwa keanggotaan tersebut. Untuk memahami cara kerja keanggotaan Google Grup, lihat Menambahkan grup Google ke ruang.