REST Resource: phones.agentMessages

Resource: AgentMessage

Pesan yang dikirim dari agen kepada pengguna.

Representasi JSON
{
  "name": string,
  "sendTime": string,
  "contentMessage": {
    object (AgentContentMessage)
  },
  "messageTrafficType": enum (MessageTrafficType),

  // Union field expiration can be only one of the following:
  "expireTime": string,
  "ttl": string
  // End of list of possible types for union field expiration.
}
Kolom
name

string

Kolom ini ditetapkan oleh platform RBM. Jangan sertakan saat membuat pesan agen. Kolom ini menyelesaikan "phones/{E.164}/agentMessages/{messageId}", dengan {E.164} adalah nomor telepon pengguna dalam format E.164 dan {messageId} adalah ID pesan agen yang ditetapkan agen.

sendTime

string (Timestamp format)

Kolom ini ditetapkan oleh platform RBM. Jangan sertakan saat membuat pesan agen. Kolom ini menyelesaikan waktu saat pesan dikirim ke pengguna.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

contentMessage

object (AgentContentMessage)

Konten pesan agen.

messageTrafficType

enum (MessageTrafficType)

Jenis traffic pesan.

Kolom union expiration.

expiration hanya dapat berupa salah satu dari hal berikut:

expireTime

string (Timestamp format)

Opsional. Stempel waktu dalam UTC saat resource ini dianggap habis masa berlakunya. Nilai ini diberikan pada output jika ditetapkan atau jika kolom TTL ditetapkan.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

ttl

string (Duration format)

Opsional. Hanya input. Durasi pesan akan aktif sebelum dicabut secara otomatis.

Durasi dalam detik dengan maksimal sembilan digit pecahan, yang diakhiri dengan 's'. Contoh: "3.5s".

AgentContentMessage

Isi pesan yang dikirim dari agen kepada pengguna.

Representasi JSON
{
  "suggestions": [
    {
      object (Suggestion)
    }
  ],

  // Union field content can be only one of the following:
  "text": string,
  "fileName": string,
  "uploadedRbmFile": {
    object (UploadedRbmFile)
  },
  "richCard": {
    object (RichCard)
  },
  "contentInfo": {
    object (ContentInfo)
  }
  // End of list of possible types for union field content.
}
Kolom
suggestions[]

object (Suggestion)

Daftar balasan yang disarankan dan tindakan yang disarankan yang muncul sebagai daftar chip saran setelah pesan agen terkait. Maksimum 11 saran.

Chip hanya ditampilkan saat pesan agen terkait adalah pesan terbaru dalam percakapan (termasuk pesan agen dan pengguna). Pengguna dapat mengetuk saran balasan untuk mengirim balasan teks kembali ke agen atau mengetuk saran tindakan untuk memulai tindakan native di perangkat. Maksimum 11 saran.

Kolom union content. Konten pesan agen content hanya dapat berupa salah satu dari berikut ini:
text

string

Teks yang dienkode dalam UTF-8. Maksimum 3.072 karakter.

fileName
(deprecated)

string

Nama unik file. Platform RBM menampilkan nama file saat agen mengupload file. Tidak digunakan lagi dan digantikan dengan uploadedRbmFile di bawah

uploadedRbmFile

object (UploadedRbmFile)

Berisi ID untuk file dan thumbnail yang diupload ke dan ditayangkan oleh server RBM

richCard

object (RichCard)

Kartu informasi mandiri.

contentInfo

object (ContentInfo)

Informasi tentang file, termasuk URL file dan URL thumbnail file.

Platform RBM menayangkan konten dari cache, tetapi agen dapat memaksa platform RBM untuk mengambil konten versi baru dan memperbarui cache.

UploadedRbmFile

Pesan yang berisi informasi file dan thumbnail

Representasi JSON
{
  "fileName": string,
  "thumbnailName": string
}
Kolom
fileName

string

Nama file, yang ditampilkan oleh platform RBM saat file diupload.

thumbnailName

string

Nama thumbnail, yang ditampilkan oleh platform RBM saat thumbnail diupload.

RichCard

Kartu multimedia mandiri atau carousel kartu multimedia yang dikirim dari agen ke pengguna.

Representasi JSON
{

  // Union field card can be only one of the following:
  "carouselCard": {
    object (CarouselCard)
  },
  "standaloneCard": {
    object (StandaloneCard)
  }
  // End of list of possible types for union field card.
}
Kolom
Kolom union card. Kartu mandiri atau carousel kartu. card hanya dapat berupa salah satu dari berikut:
carouselCard

object (CarouselCard)

Carousel kartu.

standaloneCard

object (StandaloneCard)

Kartu mandiri.

CarouselCard

Carousel kartu.

Representasi JSON
{
  "cardWidth": enum (CarouselCard.CardWidth),
  "cardContents": [
    {
      object (CardContent)
    }
  ]
}
Kolom
cardWidth

enum (CarouselCard.CardWidth)

Lebar kartu dalam carousel.

cardContents[]

object (CardContent)

Daftar isi untuk setiap kartu di carousel. Carousel dapat memiliki minimal 2 kartu dan maksimal 10 kartu.

CarouselCard.CardWidth

Lebar kartu dalam carousel.

Enum
CARD_WIDTH_UNSPECIFIED Tidak ditentukan.
SMALL 120 DP. Perhatikan bahwa media vertikal tidak dapat digunakan.
MEDIUM 232 DP.

CardContent

Konten kartu

Representasi JSON
{
  "title": string,
  "description": string,
  "media": {
    object (Media)
  },
  "suggestions": [
    {
      object (Suggestion)
    }
  ]
}
Kolom
title

string

(Opsional) Judul kartu. Maksimum 200 karakter.

description

string

(Opsional) Deskripsi kartu. Maksimum 2.000 karakter.

media

object (Media)

(Opsional) Media (gambar, GIF, video, PDF) yang akan disertakan dalam kartu.

suggestions[]

object (Suggestion)

(Opsional) Daftar saran yang akan disertakan dalam kartu. Maksimum 4 saran.

Media

File media dalam kartu multimedia.

Representasi JSON
{
  "height": enum (Media.Height),

  // Union field content can be only one of the following:
  "fileName": string,
  "uploadedRbmFile": {
    object (UploadedRbmFile)
  },
  "contentInfo": {
    object (ContentInfo)
  }
  // End of list of possible types for union field content.
}
Kolom
height

enum (Media.Height)

Tinggi media dalam kartu multimedia dengan tata letak vertikal. Untuk kartu mandiri dengan tata letak horizontal, tinggi tidak dapat disesuaikan, dan kolom ini diabaikan.

Kolom union content. Konten media content hanya dapat berupa salah satu dari berikut:
fileName
(deprecated)

string

Nama unik file, yang ditampilkan oleh platform RBM saat file diupload. Tidak digunakan lagi dan digantikan dengan uploadedRbmFile di bawah

uploadedRbmFile

object (UploadedRbmFile)

Berisi ID untuk file dan thumbnail yang diupload ke dan ditayangkan oleh server RBM

contentInfo

object (ContentInfo)

Informasi tentang file, termasuk URL file dan URL thumbnail file.

Platform RBM menayangkan konten dari cache, tetapi agen dapat memaksa platform RBM untuk mengambil konten versi baru dan memperbarui cache.

ContentInfo

Pesan yang berisi informasi konten.

Representasi JSON
{
  "fileUrl": string,
  "thumbnailUrl": string,
  "forceRefresh": boolean
}
Kolom
fileUrl

string

URL file yang dapat dijangkau secara publik. Platform RBM menentukan jenis MIME file dari kolom content-type di header HTTP saat platform mengambil file. Kolom content-type harus ada dan akurat dalam respons HTTP dari URL. Ukuran file maksimum yang direkomendasikan adalah 100 MB.

Catatan: pengalihan di URL file tidak didukung. Gunakan CreateFileRequest jika pengalihan diperlukan.

thumbnailUrl

string

(Opsional, hanya untuk file gambar, audio, dan video) URL thumbnail yang dapat dijangkau secara publik. Ukuran maksimum 100 kB.

Jika Anda tidak memberikan URL thumbnail, platform RBM akan menampilkan thumbnail placeholder kosong hingga perangkat pengguna mendownload file. Bergantung pada setelan pengguna, file mungkin tidak didownload secara otomatis dan mungkin mengharuskan pengguna mengetuk tombol download.

Catatan: pengalihan di URL file tidak didukung. Gunakan CreateFileRequest jika pengalihan diperlukan.

forceRefresh

boolean

Jika disetel, platform RBM akan mengambil file dan thumbnail dari URL yang ditentukan, meskipun platform telah menyimpan salinan file (dan/atau thumbnail) dalam cache.

Media.Height

Tinggi media

Enum
HEIGHT_UNSPECIFIED Tidak ditentukan.
SHORT 112 DP.
MEDIUM 168 DP.
TALL 264 DP. Tidak tersedia untuk carousel kartu multimedia jika lebar kartu ditetapkan ke kecil.

Saran

Balasan yang disarankan atau tindakan yang disarankan disertakan dalam kartu multimedia atau dalam daftar chip saran.

Representasi JSON
{

  // Union field option can be only one of the following:
  "reply": {
    object (SuggestedReply)
  },
  "action": {
    object (SuggestedAction)
  }
  // End of list of possible types for union field option.
}
Kolom
Kolom union option. Balasan atau tindakan yang disarankan option hanya dapat berupa salah satu dari berikut ini:
reply

object (SuggestedReply)

Pengguna dapat mengetuk saran balasan untuk mengirimkan balasan teks kembali ke agen.

action

object (SuggestedAction)

Pengguna dapat mengetuk tindakan yang disarankan untuk memulai tindakan native yang sesuai di perangkat.

SuggestedReply

Saat diketuk, akan mengirimkan balasan teks kembali ke agen.

Representasi JSON
{
  "text": string,
  "postbackData": string
}
Kolom
text

string

Teks yang ditampilkan dalam balasan yang disarankan dan dikirim kembali ke agen saat pengguna mengetuknya. Maksimum 25 karakter.

postbackData

string

Payload yang dienkode base64 yang diterima agen dalam peristiwa pengguna saat pengguna mengetuk balasan yang disarankan.

SuggestedAction

Saat diketuk, akan memulai tindakan native yang sesuai di perangkat.

Representasi JSON
{
  "text": string,
  "postbackData": string,
  "fallbackUrl": string,

  // Union field action can be only one of the following:
  "dialAction": {
    object (DialAction)
  },
  "viewLocationAction": {
    object (ViewLocationAction)
  },
  "createCalendarEventAction": {
    object (CreateCalendarEventAction)
  },
  "openUrlAction": {
    object (OpenUrlAction)
  },
  "shareLocationAction": {
    object (ShareLocationAction)
  }
  // End of list of possible types for union field action.
}
Kolom
text

string

Teks yang ditampilkan dalam saran tindakan. Maksimum 25 karakter.

postbackData

string

Payload (berenkode base64) yang akan dikirim ke agen dalam peristiwa pengguna yang dihasilkan saat pengguna mengetuk tindakan yang disarankan. Maksimum 2.048 karakter.

fallbackUrl

string

(Opsional) URL pengganti yang akan digunakan jika klien tidak mendukung tindakan yang disarankan. URL pengganti terbuka di jendela browser baru. Harus berupa URI yang valid sebagaimana didefinisikan dalam RFC 3986. Maksimum 2.048 karakter.

Kolom union action. Tindakan native yang dimulai di perangkat saat pengguna mengetuk tindakan yang disarankan action hanya dapat berupa salah satu dari berikut ini:
dialAction

object (DialAction)

Membuka aplikasi telepon default pengguna dengan nomor telepon yang ditentukan agen terisi.

viewLocationAction

object (ViewLocationAction)

Membuka aplikasi peta default pengguna dan memilih lokasi yang ditentukan agen atau menelusuri di sekitar lokasi pengguna berdasarkan kueri yang ditentukan agen.

createCalendarEventAction

object (CreateCalendarEventAction)

Membuka aplikasi kalender default pengguna dan memulai alur acara kalender baru dengan data acara yang ditentukan agen sudah terisi.

openUrlAction

object (OpenUrlAction)

Membuka aplikasi browser web default pengguna ke URL yang diberikan. Jika pengguna telah menginstal aplikasi yang terdaftar sebagai pengendali default untuk URL, aplikasi ini akan dibuka, dan ikonnya akan digunakan di UI tindakan yang disarankan.

shareLocationAction

object (ShareLocationAction)

Membuka pemilih lokasi aplikasi RCS sehingga pengguna dapat memilih lokasi untuk dikirim ke agen.

DialAction

Membuka aplikasi telepon default pengguna dengan nomor telepon yang ditentukan agen terisi.

Representasi JSON
{
  "phoneNumber": string
}
Kolom
phoneNumber

string

Nomor telepon dalam format E.164, misalnya, +12223334444.

ViewLocationAction

Membuka aplikasi peta default pengguna dan memilih lokasi yang ditentukan agen atau menelusuri di sekitar lokasi pengguna berdasarkan kueri yang ditentukan agen.

Representasi JSON
{
  "latLong": {
    object (LatLng)
  },
  "label": string,
  "query": string
}
Kolom
latLong

object (LatLng)

(Opsional) Lintang dan bujur lokasi yang ditentukan.

label

string

(Opsional) Label pin yang dilepas di latLong.

query

string

(Opsional, hanya didukung di klien Android Message) Daripada menentukan latLong (dan secara opsional, label), agen dapat menentukan string kueri. Untuk aplikasi peta default yang mendukung fungsi penelusuran (termasuk Google Maps), mengetuk tindakan yang disarankan ini akan menghasilkan penelusuran lokasi yang berpusat di sekitar lokasi pengguna saat ini. Jika kueri cukup spesifik, agen dapat menggunakannya untuk memilih lokasi mana pun di dunia.

Misalnya, menyetel string kueri ke "Bank Sumber Makmur" akan menampilkan semua lokasi Bank Sumber Makmur di sekitar pengguna. Menetapkan string kueri ke "1600 Amphitheater Parkway, Mountain View, CA 94043" akan memilih alamat tertentu tersebut, terlepas dari lokasi pengguna.

LatLng

Objek yang merepresentasikan pasangan garis lintang/bujur. Objek ini dinyatakan sebagai pasangan nilai ganda untuk mewakili derajat lintang dan derajat bujur. Kecuali jika ditentukan lain, objek ini harus sesuai dengan standar WGS84. Nilai harus berada dalam rentang yang dinormalisasi.

Representasi JSON
{
  "latitude": number,
  "longitude": number
}
Kolom
latitude

number

Lintang dalam derajat. Harus dalam rentang [-90.0, +90.0].

longitude

number

Bujur dalam derajat. Harus dalam rentang [-180.0, +180.0].

CreateCalendarEventAction

Membuka aplikasi kalender default pengguna dan memulai alur acara kalender baru dengan data acara yang ditentukan agen sudah terisi.

Representasi JSON
{
  "startTime": string,
  "endTime": string,
  "title": string,
  "description": string
}
Kolom
startTime

string (Timestamp format)

Waktu mulai acara.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

endTime

string (Timestamp format)

Waktu berakhir acara.

Menggunakan RFC 3339 yang outputnya akan selalu dinormalisasi Z dan menggunakan 0, 3, 6, atau 9 digit pecahan. Offset selain "Z" juga diterima. Contoh: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z", atau "2014-10-02T15:01:23+05:30".

title

string

Judul acara. Maksimum 100 karakter.

description

string

Deskripsi acara. Maksimum 500 karakter.

OpenUrlAction

Membuka aplikasi browser web default pengguna ke URL yang ditentukan. Jika pengguna telah menginstal aplikasi yang terdaftar sebagai pengendali default untuk URL, aplikasi ini akan dibuka, dan ikonnya akan digunakan di UI tindakan yang disarankan.

Representasi JSON
{
  "url": string,
  "application": enum (OpenUrlApplication),
  "webviewViewMode": enum (WebviewViewMode),
  "description": string
}
Kolom
url

string

URL yang akan dibuka. Mulai 1 November 2025, skema URL harus https:// atau http://. Permintaan API yang menggunakan skema lain (misalnya, tel:, mailto:, sms:) akan ditolak dengan error 400 Bad Request setelah tanggal ini. URL harus berupa URI yang valid seperti yang ditentukan dalam RFC 3986. Maksimum 2.048 karakter.

application

enum (OpenUrlApplication)

Membuka aplikasi, browser, atau webview URL. Untuk memeriksa apakah perangkat pengguna mendukung mode webview, jalankan pemeriksaan kemampuan terlebih dahulu. Lihat dokumentasi untuk mengetahui detailnya: https://developers.google.com/business-communications/rcs-business-messaging/guides/build/capabilities.

webviewViewMode

enum (WebviewViewMode)

Mode tampilan untuk webview

description

string

Deskripsi aksesibilitas untuk webview.

OpenUrlApplication

Jenis aplikasi pembuka URL

Enum
OPEN_URL_APPLICATION_UNSPECIFIED Tidak ditentukan, akan menggunakan browser untuk membuka.
BROWSER Gunakan browser untuk membuka URL.
WEBVIEW Membuka URL di jendela tampilan web terintegrasi

WebviewViewMode

Jenis mode tampilan webview.

Enum
WEBVIEW_VIEW_MODE_UNSPECIFIED Tidak ditentukan. Untuk menggunakan webview, mode tampilan harus ditentukan.
FULL Memerlukan overlay layar penuh dengan percakapan Chatbot yang diberi label dalam status bar.
HALF Memerlukan overlay setengah layar.
TALL Memerlukan overlay layar tiga perempat.

ShareLocationAction

Jenis ini tidak memiliki kolom.

Membuka pemilih lokasi aplikasi RCS sehingga pengguna dapat memilih lokasi untuk dikirim kembali ke agen.

StandaloneCard

Kartu mandiri

Representasi JSON
{
  "cardOrientation": enum (StandaloneCard.CardOrientation),
  "thumbnailImageAlignment": enum (StandaloneCard.ThumbnailImageAlignment),
  "cardContent": {
    object (CardContent)
  }
}
Kolom
cardOrientation

enum (StandaloneCard.CardOrientation)

Orientasi kartu.

thumbnailImageAlignment

enum (StandaloneCard.ThumbnailImageAlignment)

Penyesuaian pratinjau gambar untuk kartu mandiri dengan tata letak horizontal.

cardContent

object (CardContent)

Konten kartu.

StandaloneCard.CardOrientation

Orientasi kartu.

Enum
CARD_ORIENTATION_UNSPECIFIED Tidak ditentukan.
HORIZONTAL

Tata letak horizontal.

Jika object(CardContent) kartu informasi horizontal berisi kolom media, kartu tersebut juga harus menyertakan setidaknya kolom title, description, atau suggestions[].

VERTICAL Tata letak vertikal.

StandaloneCard.ThumbnailImageAlignment

Penyesuaian pratinjau gambar untuk kartu mandiri dengan tata letak horizontal.

Enum
THUMBNAIL_IMAGE_ALIGNMENT_UNSPECIFIED Tidak ditentukan.
LEFT Pratinjau file diratakan kiri.
RIGHT Pratinjau file diratakan kanan.

MessageTrafficType

Jenis traffic pesan yang didukung. Enum akan diperluas untuk mendukung jenis traffic tambahan.

Enum
MESSAGE_TRAFFIC_TYPE_UNSPECIFIED Perilaku default: Jenis traffic pesan ditentukan oleh kasus penggunaan agen. Perbarui jenis traffic sesuai kebutuhan berdasarkan konten pesan. Untuk agen multi-penggunaan, tidak ada default yang diberikan. Jenis traffic harus ditetapkan secara manual (misalnya, TRANSAKSI, PROMOSI).
AUTHENTICATION Untuk pesan autentikasi dalam kasus penggunaan agen OTP.
TRANSACTION Untuk pesan transaksional dalam kasus penggunaan Agen transaksional atau Multi-penggunaan.
PROMOTION Untuk pesan promosi dalam kasus penggunaan agen Promosi atau Multi-penggunaan.
SERVICEREQUEST Untuk pesan tentang layanan yang telah disetujui pengguna untuk diterima. Digunakan dalam kasus penggunaan agen OTP, Transaksional, Promosi, atau Multi-penggunaan.
ACKNOWLEDGEMENT Untuk pesan yang mengonfirmasi permintaan Berhenti Berlangganan pengguna. Digunakan dalam kasus penggunaan agen OTP, Transaksional, Promosi, atau Multi-penggunaan.

Metode

create

Mengirim pesan dari agen ke pengguna.

delete

Mencabut pesan agen yang telah dikirim, tetapi belum terkirim.