Method: spaces.messages.create

Membuat pesan di ruang Google Chat. Untuk contoh, lihat Mengirim pesan.

Mendukung jenis autentikasi berikut:

  • Autentikasi aplikasi dengan cakupan otorisasi:
    • https://www.googleapis.com/auth/chat.bot
  • Autentikasi pengguna dengan salah satu cakupan otorisasi berikut:
    • https://www.googleapis.com/auth/chat.messages.create
    • https://www.googleapis.com/auth/chat.messages
    • https://www.googleapis.com/auth/chat.import (khusus ruang mode impor)

Chat mengatribusikan pengirim pesan secara berbeda, bergantung pada jenis autentikasi yang Anda gunakan dalam permintaan Anda.

Gambar berikut menunjukkan cara Chat mengatribusikan pesan saat Anda menggunakan autentikasi aplikasi. Chat menampilkan aplikasi Chat sebagai pengirim pesan. Konten pesan dapat berisi teks (text), kartu (cardsV2), dan widget aksesori (accessoryWidgets).

Pesan dikirim dengan autentikasi aplikasi

Gambar berikut menunjukkan cara Chat mengatribusikan pesan saat Anda menggunakan autentikasi pengguna. Chat menampilkan pengguna sebagai pengirim pesan dan mengatribusikan aplikasi Chat ke pesan dengan menampilkan namanya. Konten pesan hanya boleh berisi teks (text).

Pesan yang dikirim dengan autentikasi pengguna

Ukuran pesan maksimum, termasuk konten pesan, adalah 32.000 byte.

Untuk permintaan webhook, respons tidak berisi pesan lengkap. Respons hanya mengisi kolom name dan thread.name selain informasi yang ada dalam permintaan.

Permintaan HTTP

POST https://chat.googleapis.com/v1/{parent=spaces/*}/messages

URL ini menggunakan sintaksis gRPC Transcoding.

Parameter jalur

Parameter
parent

string

Wajib. Nama resource ruang tempat pesan akan dibuat.

Format: spaces/{space}

Parameter kueri

Parameter
threadKey
(deprecated)

string

Opsional. Tidak digunakan lagi: Gunakan thread.thread_key sebagai gantinya. ID untuk rangkaian pesan. Mendukung hingga 4.000 karakter. Untuk memulai atau menambahkan ke rangkaian pesan, buat pesan dan tentukan threadKey atau thread.name. Untuk contoh penggunaan, lihat Memulai atau membalas rangkaian pesan.

requestId

string

Opsional. ID unik untuk permintaan ini. UUID acak direkomendasikan. Menentukan ID permintaan membuat permintaan menjadi idempoten, yang memastikan bahwa beberapa permintaan identik dengan ID permintaan yang sama hanya menghasilkan satu pesan yang dibuat. Permintaan berikutnya dengan ID permintaan yang sama akan menampilkan pesan yang ada dan tidak memperbarui pesan, meskipun detail yang diminta berbeda dari status saat ini.

Untuk menggunakan kolom ini secara efektif:

  • Pastikan permintaan berikutnya identik dan menggunakan kredensial autentikasi yang sama dengan permintaan asli.
  • Jika pesan sudah dibuat dengan ID permintaan yang diberikan, permintaan akan menampilkan pesan tersebut. Perhatikan bahwa pesan yang ditampilkan mungkin tidak terisi sepenuhnya; API mengulangi pesan dalam permintaan Anda dengan nama resource yang ditetapkan sistem terisi. Untuk mengambil metadata terbaru untuk pesan, panggil messages.get.
  • Menggunakan kembali ID permintaan yang ada dengan pengguna terautentikasi yang berbeda akan menghasilkan error.
messageReplyOption

enum (MessageReplyOption)

Opsional. Menentukan apakah pesan memulai rangkaian pesan atau membalas rangkaian pesan. Hanya didukung di ruang bernama.

Saat merespons interaksi pengguna, kolom ini diabaikan. Untuk interaksi dalam rangkaian pesan, balasan dibuat dalam rangkaian pesan yang sama. Jika tidak, balasan akan dibuat sebagai rangkaian pesan baru.

messageId

string

Opsional. ID kustom untuk pesan. Memungkinkan aplikasi Chat mendapatkan, memperbarui, atau menghapus pesan tanpa perlu menyimpan ID yang ditetapkan sistem dalam nama resource pesan (ditampilkan di kolom name pesan).

Nilai untuk kolom ini harus memenuhi persyaratan berikut:

  • Dimulai dengan client-. Misalnya, client-custom-name adalah ID kustom yang valid, tetapi custom-name tidak.
  • Berisi hingga 63 karakter dan hanya huruf kecil, angka, dan tanda hubung.
  • Bersifat unik dalam ruang. Aplikasi Chat tidak dapat menggunakan ID kustom yang sama untuk pesan yang berbeda.

Untuk mengetahui detailnya, lihat Memberi nama pesan.

createMessageNotificationOptions

object (CreateMessageNotificationOptions)

Opsional. Mengontrol perilaku notifikasi saat pesan diposting. Untuk mempelajari lebih lanjut, lihat Memaksa notifikasi atau mengirim pesan senyap.

Isi permintaan

Isi permintaan memuat instance Message.

Isi respons

Jika berhasil, isi respons akan memuat instance Message yang baru dibuat.

Cakupan otorisasi

Memerlukan salah satu cakupan OAuth berikut:

  • https://www.googleapis.com/auth/chat.bot
  • https://www.googleapis.com/auth/chat.import
  • https://www.googleapis.com/auth/chat.messages
  • https://www.googleapis.com/auth/chat.messages.create

Untuk mengetahui informasi selengkapnya, lihat Panduan otorisasi.

MessageReplyOption

Menentukan cara membalas pesan. Negara bagian lainnya mungkin akan ditambahkan pada masa mendatang.

Enum
MESSAGE_REPLY_OPTION_UNSPECIFIED Default. Memulai rangkaian pesan baru. Menggunakan opsi ini akan mengabaikan thread ID atau threadKey yang disertakan.
REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD Membuat pesan sebagai balasan ke rangkaian pesan yang ditentukan oleh thread ID atau threadKey. Jika gagal, pesan akan memulai rangkaian pesan baru.
REPLY_MESSAGE_OR_FAIL Membuat pesan sebagai balasan ke rangkaian pesan yang ditentukan oleh thread ID atau threadKey. Jika threadKey baru digunakan, thread baru akan dibuat. Jika pembuatan pesan gagal, error NOT_FOUND akan ditampilkan.

CreateMessageNotificationOptions

Opsi untuk perilaku notifikasi saat pesan diposting.

Representasi JSON
{
  "notificationType": enum (NotificationType)
}
Kolom
notificationType

enum (NotificationType)

Jenis notifikasi untuk pesan.

NotificationType

Opsi jenis notifikasi untuk pesan.

Enum
NOTIFICATION_TYPE_NONE Perilaku default. Perilaku notifikasi serupa dengan saat pengguna manusia mengirim pesan menggunakan UI Chat: tidak ada notifikasi yang dikirim ke pengirim manusia.
NOTIFICATION_TYPE_FORCE_NOTIFY

Memaksa penerima untuk menerima notifikasi. Tindakan ini akan mengabaikan setelan notifikasi ruang pengguna dan setelan Jangan Ganggu Chat. Opsi ini tidak melewati setelan Jangan Ganggu tingkat perangkat.

Memerlukan autentikasi aplikasi.

NOTIFICATION_TYPE_SILENT

Jangan memberi tahu penerima, dan jangan menandai pesan sebagai belum dibaca. Perilaku ini mirip dengan pengguna yang membisukan percakapan atau mengaktifkan Jangan Ganggu Chat.

Memerlukan autentikasi aplikasi.