Berlangganan acara Google Chat

Halaman ini menjelaskan peristiwa Google Chat yang dapat diikuti aplikasi Google Chat menggunakan Google Workspace Events API.

Untuk mempelajari cara mengembangkan aplikasi Google Chat lebih lanjut, lihat Ringkasan Google Chat API.

Resource target Chat yang didukung

Google Workspace Events API mendukung langganan ke:

  • Ruang, direpresentasikan sebagai fasilitas space
  • Pengguna, direpresentasikan sebagai resource user Cloud Identity API

Peristiwa Chat yang didukung

Langganan Google Workspace memungkinkan Anda menerima peristiwa tentang jenis perubahan berikut di Chat:

  • Pesan baru atau yang diperbarui di ruang.
  • Reaksi baru atau yang dihapus terhadap pesan.
  • Anggota baru, yang diperbarui, atau dihapus di ruang.
  • Perubahan pada ruang yang Anda berlangganan, seperti nama atau deskripsi ruang yang diperbarui.

Jenis peristiwa untuk membuat langganan

Saat membuat langganan, Anda dapat menggunakan kolom eventTypes[] untuk menentukan jenis peristiwa yang ingin diterima. 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, Anda menentukan ruang tersebut 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 ruang dan langganan kepada pengguna:

Jenis peristiwa Deskripsi Data resource
Langganan ke ruang  

google.workspace.chat.message.v1.created

Pesan baru diposting.

space.message

google.workspace.chat.message.v1.updated

Pesan diperbarui.

space.message

google.workspace.chat.reaction.v1.created

Reaksi akan dibuat.

space.message.reaction

google.workspace.chat.reaction.v1.deleted

Reaksi dihapus.

space.message.reaction

google.workspace.chat.membership.v1.created

Anggota dibuat di ruang ini.

space.membership

google.workspace.chat.membership.v1.updated

Anggota diperbarui di ruang ini.

space.membership

google.workspace.chat.membership.v1.deleted

Anggota dihapus di ruang ini.

space.membership

google.workspace.chat.space.v1.updated

Ruang telah diperbarui.

space

google.workspace.chat.space.v1.deleted

Ruang akan dihapus.

space

Langganan ke pengguna  

google.workspace.chat.membership.v1.created

Pengguna menjadi anggota ruang.

space.membership

google.workspace.chat.membership.v1.updated

Keanggotaan pengguna ke ruang akan diperbarui.

space.membership

google.workspace.chat.membership.v1.deleted

Pengguna dihapus sebagai anggota ruang.

space.membership

Jenis peristiwa khusus output

Berlangganan jenis peristiwa google.workspace.APPLICATION.RESOURCE.VERSION.ACTION akan otomatis menyiapkan langganan agar juga menerima versi batch jenis peristiwa. Misalnya, jika berlangganan google.workspace.chat.membership.v1.created, Anda juga menerima peristiwa untuk google.workspace.chat.membership.v1.batchCreated.

Tabel berikut menampilkan jenis peristiwa yang hanya merupakan output untuk langganan ruang dan pengguna:

Jenis peristiwa Deskripsi Data resource

google.workspace.chat.message.v1.batchCreated

Beberapa pesan diposting sekaligus.

Daftar spaces.messages

google.workspace.chat.message.v1.batchUpdated

Beberapa pesan diperbarui secara bersamaan.

Daftar spaces.messages

google.workspace.chat.reaction.v1.batchCreated

Beberapa reaksi dibuat secara bersamaan.

Daftar spaces.messages.reactions

google.workspace.chat.reaction.v1.batchDeleted

Beberapa reaksi dihapus secara bersamaan.

Daftar spaces.messages.reactions

google.workspace.chat.membership.v1.batchCreated

  • Jika target_resource adalah ruang: beberapa anggota akan dibuat di ruang.
  • Jika target_resource adalah pengguna: pengguna menjadi anggota di beberapa ruang.

Daftar spaces.memberships

google.workspace.chat.membership.v1.batchUpdated

  • Jika target_resource adalah ruang: beberapa anggota akan diperbarui di ruang.
  • Jika target_resource adalah pengguna: keanggotaan pengguna ke ruang akan memiliki beberapa update.

Daftar spaces.memberships

google.workspace.chat.membership.v1.batchDeleted

  • Jika target_resource adalah ruang: beberapa anggota akan dihapus dalam ruang.
  • Jika target_resource adalah pengguna: pengguna akan dihapus sebagai anggota dari beberapa ruang.

Daftar spaces.memberships

google.workspace.chat.space.v1.batchUpdated

Ruang memiliki beberapa update.

Daftar spaces

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 akan berisi payload untuk peristiwa tersebut. Payload ini memiliki informasi tentang resource Google Workspace yang berubah. Misalnya, jika Anda telah berlangganan ke peristiwa keanggotaan dalam ruang, payload untuk peristiwa tersebut berisi informasi tentang resource spaces.membership yang berubah.

Data resource dalam payload peristiwa

Saat membuat langganan, Anda dapat menentukan apakah payload menyertakan detail tentang resource, atau hanya nama resource. Misalnya, jika ingin menerima peristiwa tentang anggota di ruang Chat, Anda dapat menentukan kolom resource keanggotaan mana yang ingin diterima dalam payload peristiwa.

Tabel berikut menyediakan contoh payload JSON untuk langganan ruang Chat spaces/AAAABBBBBB. Untuk setiap peristiwa yang diterima langganan, payload akan muncul di kolom data peristiwa:

Contoh Jenis peristiwa Payload JSON

Pengguna memposting pesan dalam ruang yang bertuliskan "Halo dunia".

google.workspace.chat.message.v1.created

Menyertakan data resource
{
    "message":
    {
        "name": "spaces/AAAABBBBBB/messages/CCCCCCCCC.DDDDDDDDD",
        "sender":
        {
            "name": "users/1234567890987654321",
            "type": "HUMAN"
        },
        "createTime": "2023-09-07T21:37:36.260127Z",
        "text": "Hello world",
        "thread":
        {
            "name": "spaces/AAAABBBBBB/threads/EEEEEEEEEEEE"
        },
        "space":
        {
            "name": "spaces/AAAABBBBBB"
        },
        "argumentText": "Hello world"
    }
}
      
Mengecualikan data resource
{
    "message":
    {
        "name": "spaces/AAAABBBBBB/messages/CCCCCCCCC.DDDDDDDDD"
    }
}
      
Pengguna menjadi pengelola ruang.

google.workspace.chat.membership.v1.updated

Menyertakan data resource
{
    "membership":
    {
        "name": "spaces/AAAABBBBBB/members/1234567890987654321",
        "state": "JOINED",
        "member":
        {
            "name": "users/1234567890987654321",
            "type": "HUMAN"
        },
        "createTime": "1970-01-01T00:00:00Z",
        "role": "ROLE_MANAGER"
    }
}
      
Mengecualikan data resource
{
    "membership":
    {
        "name": "spaces/AAAABBBBBB/members/1234567890987654321"
    }
}
      
Pengguna memperbarui deskripsi ruang menjadi "Tim penjualan untuk Cymbal Labs". google.workspace.chat.space.v1.updated
Menyertakan data resource
{
    "space":
    {
        "name": "spaces/AAAABBBBBB",
        "displayName": "Cymbal Sales",
        "spaceThreadingState": "THREADED_MESSAGES",
        "spaceType": "SPACE",
        "spaceDetails":
        {
            "description": "Sales team for Cymbal Labs."
        },
        "spaceHistoryState": "HISTORY_ON"
    }
}
      
Mengecualikan data resource
{
    "space":
    {
        "name": "spaces/AAAABBBBBB"
    }
}
      
Dua pengguna Chat ditambahkan ke ruang secara bersamaan. google.workspace.chat.membership.v1.batchCreated
Menyertakan data resource
{
    "memberships": [
        {
          "membership": {
            "name": "spaces/AAAABBBBBB/members/1234567890987654321",
            "state": "JOINED",
            "member":
            {
                "name": "users/1234567890987654321",
                "type": "HUMAN"
            },
            "createTime": "1970-01-01T00:00:00Z",
            "role": "ROLE_MEMBER"
          }
        },
        {
          "membership": {
            "name": "spaces/AAAABBBBBB/members/987654321234567890",
            "state": "JOINED",
            "member":
            {
                "name": "users/987654321234567890",
                "type": "HUMAN"
            },
            "createTime": "1970-01-01T00:00:00Z",
            "role": "ROLE_MEMBER"
          }
        }
    ]
}
      
Mengecualikan data resource
{
    "memberships": [
        {
          "membership": {
            "name": "spaces/AAAABBBBBB/members/1234567890987654321"
          }
        },
        {
          "membership": {
            "name": "spaces/AAAABBBBBB/members/98765432123456789019"
          }
        }
    ]
}
      
Pengguna bereaksi pada pesan dengan emoji 😊. google.workspace.chat.reaction.v1.created
Menyertakan data resource
{
    "reaction":
    {
        "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222",
        "user":
        {
            "name": "users/1234567890987654321",
            "type": "HUMAN"
        },
        "emoji":
        {
            "unicode": "😊"
        }
    }
}
      
Menghapus data resource
{
    "reaction":
    {
        "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222"
    }
}
      
Pengguna bereaksi pada pesan dengan 😊 emoji dan beroperasi emoji. google.workspace.chat.reaction.v1.batchCreated
Menyertakan data resource
{
    "reactions": [
        {
          "reaction": {
            "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222",
            "user":
            {
                "name": "users/1234567890987654321",
                "type": "HUMAN"
            },
            "emoji":
            {
                "unicode": "😊"
            }
          }
        },
        {
          "reaction": {
            "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/3333333333333333.444444444444444",
            "user":
            {
                "name": "users/98765431234564321",
                "type": "HUMAN"
            },
            "emoji":
            {
                "unicode": "😸"
            }
          }
        }
    ]
}
      
Menghapus data resource
{
    "reactions": [
      {
        "reaction": {
            "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/1111111111111111.222222222222222"
        },
        "reaction": {
            "name": "spaces/AAAABBBBBB/messages/123456789.123456789/reactions/3333333333333333.444444444444444",
        }
      }
    ]
}