Menggunakan acara dari Google Chat

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

Acara 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 Anda.

Berikut beberapa contoh cara menggunakan peristiwa:

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

Cara kerja acara

Setiap kali terjadi sesuatu di Google Chat, resource Google Chat API akan 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 memicu peristiwa.
Gambar 1. Pengguna memposting pesan di ruang Chat, yang membuat resource Message. Kemudian, Chat membuat peristiwa yang berisi data tentang pesan baru.

Chat mengategorikan peristiwa menurut jenisnya. Jenis peristiwa membantu Anda memfilter dan menerima hanya jenis informasi yang Anda butuhkan, serta memungkinkan Anda menangani aktivitas serupa dengan cara yang sama.

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

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

Menerima 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 untuk membuat kueri atau berlangganan ke peristiwa:

Berlangganan peristiwa Mengirim kueri untuk acara
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 terlewat dari langganan (karena gangguan atau langganan tidak aktif).
API Google Workspace Events API Chat API
Sumber peristiwa Ruang, pengguna, dan organisasi Google Workspace ( Pratinjau Developer) Khusus ruang
Acara yang didukung
  • Pesan
  • Langganan
  • Reaksi
  • Spasi

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

Untuk mengetahui daftar jenis peristiwa yang didukung, lihat resource spaceEvents di 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 contoh payload, lihat dokumentasi referensi.

Contoh: Mengirim 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 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 menghapus resource Membership untuk pengguna dan memicu peristiwa anggota dihapus.

Berlangganan peristiwa keanggotaan

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

Aplikasi Chat yang berlangganan peristiwa 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 di ruang berubah. Aplikasi Chat kemudian dapat memproses atau merespons secara real time setiap aktivitas, 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.

Mengirim kueri untuk peristiwa keanggotaan terbaru

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

Aplikasi Chat yang membuat kueri untuk peristiwa menggunakan
        Chat API.
Gambar 3. A Aplikasi Chat menerima peristiwa keanggotaan terbaru dengan mengirimkan kueri untuk 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 yang dihapus. Chat API menampilkan daftar resource spaceEvent yang merepresentasikan setiap perubahan keanggotaan. Aplikasi Chat kemudian dapat memproses atau merespons berdasarkan aktivitas terbaru, seperti memposting pesan mingguan dengan ringkasan aktivitas keanggotaan ruang dalam 7 hari terakhir.

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

Batasan dan perilaku pengiriman

Batasan umum

  • Untuk menerima peristiwa keanggotaan, pengguna atau aplikasi Chat harus menjadi anggota langsung ruang. Jika mereka ditambahkan, diperbarui, atau dihapus secara tidak langsung ke ruang melalui Google Grup, langganan tidak menerima peristiwa keanggotaan tersebut. Untuk memahami cara kerja keanggotaan Grup Google, lihat Menambahkan Grup Google ke ruang.

Langganan pengguna

  • Untuk langganan 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.

Langganan pelanggan (Pratinjau Developer )

Untuk langganan pelanggan, batasan berikut berlaku:

  • Organisasi Google Workspace harus memiliki minimal satu lisensi SKU Enterprise. Perhatikan bahwa persyaratan ini tidak diterapkan secara ketat selama tahap Program Pratinjau Developer, tetapi akan diterapkan pada masa mendatang (akan diumumkan secara terpisah).
  • Aplikasi Chat hanya dapat membuat satu langganan pelanggan untuk organisasi Google Workspace tertentu. Organisasi Google Workspace dapat memiliki total hingga lima langganan pelanggan (dibuat oleh aplikasi Chat yang berbeda).

Untuk langganan pelanggan, pengiriman peristiwa mengikuti aturan umum berikut:

  • Acara ruang: Dikirim hanya jika acara terjadi di ruang yang dikelola oleh organisasi Google Workspace Anda.
  • Peristiwa pengguna: Hanya dikirimkan jika peristiwa terjadi untuk pengguna yang termasuk dalam organisasi Google Workspace Anda.

Satu-satunya pengecualian untuk aturan ini adalah untuk acara khusus anggota. Langganan Anda dapat menerima peristiwa keanggotaan dari ruang yang dikelola oleh organisasi Anda dan ruang yang dikelola oleh organisasi eksternal, tetapi cara pengirimannya bergantung pada organisasi mana yang mengelola ruang:

Ruang yang dikelola oleh organisasi Google Workspace Anda

Jika perubahan keanggotaan terjadi di ruang yang dikelola oleh organisasi Google Workspace, perubahan tersebut akan dikirimkan sebagai peristiwa ruang.

Nama resource peristiwa ruang menggunakan format berikut:

spaces/{spaceId}/spaceEvents/{spaceEventId}

Ruang yang dikelola oleh organisasi eksternal

Jika keanggotaan pengguna yang dikelola oleh organisasi Google Workspace Anda berubah di ruang yang dikelola oleh organisasi eksternal (misalnya, ruang bernama eksternal atau pesan langsung yang dibuat oleh pengguna eksternal), langganan Anda akan menerima peristiwa ini sebagai peristiwa pengguna.

Nama resource peristiwa pengguna menggunakan format berikut:

users/{userId}/userEvents/{userEventId}