Halaman ini menjelaskan peristiwa Chat yang dapat dilanggan aplikasi Chat menggunakan Google Workspace Events API. Setelah Anda memutuskan jenis peristiwa yang Anda butuhkan, buat langganan untuk mulai menerima peristiwa dari Chat.
Selain berlangganan peristiwa, Anda juga dapat membuat kueri untuk peristiwa dengan memanggil Google Chat API. Dengan memanggil Chat API, Anda dapat mengambil peristiwa secara berkala, atau mengejar peristiwa yang mungkin terlewat dari langganan karena gangguan. Untuk mempelajari cara menerima dan menanggapi peristiwa Chat, lihat Bekerja dengan peristiwa dari Chat di dokumentasi Chat.
Peristiwa Chat yang didukung
Langganan Google Workspace memungkinkan Anda menerima peristiwa tentang jenis perubahan berikut di Chat:
- Pesan baru, yang diperbarui, atau yang dihapus di ruang.
- Reaksi baru atau yang dihapus pada pesan.
- Anggota baru, yang diperbarui, atau yang dihapus di ruang.
- Perubahan pada ruang yang Anda ikuti, seperti nama atau deskripsi ruang yang diperbarui.
- Perubahan pada ketersediaan pengguna.
- Perubahan pada spaceReadState atau threadReadState pengguna.
Resource yang dapat Anda pantau untuk peristiwa
Untuk menerima peristiwa, Anda menentukan resource Chat yang akan dipantau, yang disebut resource target langganan.
Google Workspace Events API mendukung resource target berikut untuk Chat:
| Resource target | Format | Batasan |
|---|---|---|
| Spasi |
dengan SPACE adalah ID dalam
nama resource resource Chat API |
Pengguna Chat atau aplikasi Chat yang mengizinkan langganan harus menjadi anggota ruang melalui Akun Google atau Google Workspace miliknya. Mendukung: |
| Semua ruang untuk pengguna |
|
Langganan hanya menerima peristiwa untuk ruang tempat pengguna menjadi anggota melalui Akun Google atau Google Workspace-nya. Hanya mendukung autentikasi pengguna. |
| Pengguna |
dengan USER adalah ID dalam
nama resource resource Chat API |
Langganan hanya menerima peristiwa tentang pengguna yang mengizinkan langganan. Pengguna tidak dapat mengizinkan langganan atas nama pengguna lain. Hanya mendukung autentikasi pengguna. |
| Pelanggan (Pratinjau Developer ) |
dengan CUSTOMER adalah ID pelanggan. Anda juga dapat menggunakan alias |
Langganan menerima peristiwa untuk semua ruang dan pengguna yang dikelola oleh domain pelanggan. Hanya mendukung autentikasi aplikasi dengan persetujuan administrator. |
Jenis peristiwa untuk membuat langganan
Saat membuat langganan, gunakan kolom
eventTypes[]
untuk menentukan jenis peristiwa yang ingin Anda terima. Jenis peristiwa
diformat sesuai dengan spesifikasi CloudEvents, seperti
google.workspace.APPLICATION.RESOURCE.VERSION.ACTION.
Misalnya, untuk menerima peristiwa tentang pengguna yang bergabung ke ruang
Chat, tentukan ruang sebagai resource target, dan jenis peristiwa sebagai
google.workspace.chat.membership.v1.created. Untuk menerima peristiwa tentang pengguna tertentu yang bergabung ke ruang mana pun, tentukan pengguna sebagai resource target, dan jenis peristiwa sebagai google.workspace.chat.membership.v1.created. Untuk mempelajari lebih lanjut cara kerja peristiwa, lihat Struktur peristiwa Google Workspace.
Tabel berikut menampilkan jenis peristiwa yang didukung untuk langganan ke ruang dan langganan ke pengguna. Untuk mempelajari pengecualian tentang pemicu peristiwa, lihat Batasan.
| Event type | Format | Data resource | ||
|---|---|---|---|---|
| Langganan ke ruang | ||||
| Pesan diposting. |
|
|
||
| Pesan diperbarui. |
|
|
||
| Pesan dihapus. |
|
|
||
| Reaksi dibuat. |
|
|
||
| Reaksi dihapus. |
|
|
||
| Anggota ditambahkan ke ruang. |
|
|
||
| Anggota diperbarui di ruang. |
|
|
||
| Anggota dihapus dari ruang. |
|
|
||
| Ruang diperbarui. |
|
|
||
| Ruang dihapus. |
|
|
||
| Langganan untuk pengguna | ||||
| Pengguna menjadi anggota ruang.
Tidak semua anggota baru memicu peristiwa. Untuk mengetahui detailnya, lihat Batasan |
|
|
||
| Keanggotaan pengguna di ruang diperbarui. |
|
|
||
| Pengguna dihapus sebagai anggota langsung ruang. |
|
|
||
| Status baca ruang pengguna diperbarui. |
|
|
||
| Status sudah dibaca pada rangkaian pesan pengguna diperbarui. |
|
|
||
| Langganan untuk pelanggan (Pratinjau Developer ) | ||||
| Peristiwa terjadi pada ruang, pesan, reaksi, keanggotaan, atau status baca pengguna mana pun dalam organisasi Google Workspace Anda. |
Mendukung semua jenis peristiwa yang tercantum untuk langganan ruang dan pengguna. |
Bergantung pada jenis peristiwa (misalnya, |
||
Jenis peristiwa batch (khusus output)
Selain menerima jenis peristiwa yang Anda ikuti, aplikasi Chat Anda juga dapat menerima peristiwa batch. Peristiwa batch adalah peristiwa yang mewakili banyak peristiwa dengan jenis yang sama yang terjadi dalam jangka waktu singkat. Payload peristiwa batch berisi daftar semua resource yang diubah.
Misalnya, jika pengguna menambahkan 20 pengguna ke ruang secara bersamaan, aplikasi Chat Anda mungkin menerima peristiwa batch (google.workspace.chat.membership.v1.batchCreated). Payload peristiwa berisi daftar semua resource Membership baru yang dibuat saat pengguna menambahkan anggota ke ruang.
Anda menerima peristiwa batch untuk jenis peristiwa apa pun yang Anda ikuti, sehingga
Anda tidak perlu menentukan peristiwa batch saat membuat langganan. Misalnya, jika Anda berlangganan reaksi baru (google.workspace.chat.reaction.v1.created), aplikasi Chat Anda akan otomatis dikonfigurasi untuk menerima peristiwa reaksi batch (google.workspace.chat.reaction.v1.batchCreated).
Tabel berikut menampilkan kemungkinan peristiwa batch untuk langganan:
| Jenis peristiwa batch | Format |
|---|---|
| Beberapa pesan diposting. |
|
| Beberapa pesan diperbarui. |
|
| Beberapa pesan dihapus. |
|
| Beberapa reaksi dibuat. |
|
| Beberapa reaksi dihapus. |
|
| Beberapa anggota ditambahkan ke ruang yang diikuti, atau pengguna yang mengikuti telah ditambahkan ke beberapa ruang. |
|
| Beberapa keanggotaan diperbarui di ruang yang diikuti, atau untuk pengguna yang mengikuti. |
|
| Beberapa anggota dihapus dari ruang yang diikuti, atau pengguna yang mengikuti telah dihapus dari beberapa ruang. |
|
| Ruang memiliki beberapa info terbaru. |
|
| Beberapa status sudah dibaca ruang diperbarui untuk pengguna yang berlangganan. |
|
| Beberapa status baca thread diperbarui untuk pengguna yang berlangganan. |
|
Data peristiwa
Bagian ini menjelaskan data peristiwa dan contoh payload untuk peristiwa di Chat.
Saat langganan Google Workspace Anda menerima peristiwa dari Chat, kolom data berisi payload untuk peristiwa tersebut. Payload ini berisi informasi tentang
resource Google Workspace yang berubah. Misalnya, jika Anda telah
berlangganan ke peristiwa keanggotaan di ruang, payload untuk peristiwa ini
berisi informasi tentang
spaces.membership
resource yang berubah.
Data resource di payload peristiwa
Saat membuat langganan, Anda dapat menentukan apakah ingin payload mencakup detail tentang resource, atau hanya nama resource. Misalnya, jika Anda ingin menerima peristiwa tentang anggota di ruang Chat, tentukan kolom resource keanggotaan yang ingin Anda terima di payload peristiwa.
Tabel berikut memberikan contoh payload JSON untuk langganan ke ruang Chat spaces/AAAABBBBBB. Untuk setiap peristiwa yang diterima langganan, payload akan muncul di kolom data peristiwa:
| Contoh | Event type | Payload JSON |
|---|---|---|
Pengguna memposting pesan di ruang yang bertuliskan "Hello world". |
|
Mencakup data resource:
{
"message":
{
"name": "spaces/Mengecualikan data resource:
{
"message":
{
"name": "spaces/ |
| Pengguna menjadi pengelola ruang. |
|
Mencakup data resource:
{
"membership":
{
"name": "spaces/Mengecualikan data resource:
{
"membership":
{
"name": "spaces/ |
| Pengguna memperbarui deskripsi ruang menjadi "Tim penjualan untuk Cymbal Labs". | google.workspace.chat.space.v1.updated |
Mencakup data resource:
{
"space":
{
"name": "spaces/Mengecualikan data resource:
{
"space":
{
"name": "spaces/ |
| Dua pengguna Chat ditambahkan ke ruang secara bersamaan. | google.workspace.chat.membership.v1.batchCreated |
Mencakup data resource:
{
"memberships": [
{
"membership": {
"name": "spaces/Mengecualikan data resource:
{
"memberships": [
{
"membership": {
"name": "spaces/ |
| Pengguna bereaksi terhadap pesan dengan emoji 😊. | google.workspace.chat.reaction.v1.created |
Mencakup data resource:
{
"reaction":
{
"name": "spaces/Mengecualikan data resource:
{
"reaction":
{
"name": "spaces/ |
| Pengguna bereaksi terhadap pesan dengan emoji 😊 dan 😸. | google.workspace.chat.reaction.v1.batchCreated |
Mencakup data resource:
{
"reactions": [
{
"reaction": {
"name": "spaces/Mengecualikan data resource:
{
"reactions": [
{
"reaction": {
"name": "spaces/ |
| Pengguna membuka ruang yang belum dibaca, yang akan memperbarui status baca ruangnya. | google.workspace.chat.spaceReadState.v1.updated |
Mencakup data resource:
{
"spaceReadState": {
"name": "users/Mengecualikan data resource:
{
"spaceReadState": {
"name": "users/ |
| Pengguna membaca pesan dalam rangkaian pesan, yang memperbarui status sudah dibaca rangkaian pesan tersebut. | google.workspace.chat.threadReadState.v1.updated |
Mencakup data resource:
{
"threadReadState": {
"name": "users/Mengecualikan data resource:
{
"threadReadState": {
"name": "users/ |
| Pengguna tersedia di Chat. | google.workspace.chat.availability.v1.updated |
Mencakup data resource:
{
"availability":
{
"name": "users/USER_ID/availability",
"state": "ACTIVE"
}
}
Mengecualikan data resource:
{
"availability":
{
"name": "users/USER_ID/availability",
}
}
|
| Pengguna menjadi tidak aktif di Chat. | google.workspace.chat.availability.v1.updated |
Mencakup data resource:
{
"availability":
{
"name": "users/USER_ID/availability",
"state": "IDLE",
}
}
Mengecualikan data resource:
{
"availability":
{
"name": "users/USER_ID/availability",
}
}
|
Pengguna menyetel ketersediaannya ke Away di Chat. |
google.workspace.chat.availability.v1.updated |
Mencakup data resource:
{
"availability":
{
"name": "users/USER_ID/availability",
"state": "AWAY",
}
}
Mengecualikan data resource:
{
"availability":
{
"name": "users/USER_ID/availability",
}
}
|
Pengguna menyetel ketersediaannya ke Do not disturb di Chat. |
google.workspace.chat.availability.v1.updated |
Mencakup data resource:
{
"availability":
{
"name": "users/USER_ID/availability",
"state": "DO_NOT_DISTURB",
"doNotDisturbMetadata": {
"expirationTime": "2026-03-24T18:36:31.337Z"
}
}
}
Mengecualikan data resource:
{
"availability":
{
"name": "users/USER_ID/availability",
}
}
|
| Pengguna menetapkan status kustom di Chat. | google.workspace.chat.availability.v1.updated |
Mencakup data resource:
{
"availability":
{
"name": "users/USER_ID/availability",
"state": "ACTIVE",
"customStatus": {
"text": "Be right back",
"emoji": {
"unicode": "👟"
},
"expireTime": "2026-03-24T18:38:05.583655Z"
}
}
}
Mengecualikan data resource:
{
"availability":
{
"name": "users/USER_ID/availability",
}
}
|
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}
Topik terkait
- Struktur peristiwa Google Workspace
- Memilih cakupan OAuth
- Membuat langganan untuk menerima peristiwa Chat