Источник: AgentMessage
Сообщение, отправленное агентом пользователю.
| JSON-представление |
|---|
{ "name": string, "sendTime": string, "contentMessage": { object ( |
| Поля | |
|---|---|
name | Это поле задается платформой RCS for Business. Не включайте его при создании сообщения для агента. Поле преобразуется в "phones/{E.164}/agentMessages/{messageId}", где {E.164} — это номер телефона пользователя в формате E.164, а {messageId} — идентификатор сообщения, присвоенный агентом. |
sendTime | Это поле задается платформой RCS for Business. Не включайте его при создании сообщения для агента. Поле определяет время отправки сообщения пользователю. Используется RFC 3339, согласно которому генерируемый вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: |
contentMessage | Содержание сообщения от агента. |
messageTrafficType | Тип трафика сообщений. |
richMessageClassification | Только для вывода. Классифицирует сообщение в соответствии с американской моделью выставления счетов. Подробную информацию о каждом типе классификации см. в руководстве по американской модели выставления счетов . Это поле заполняется только для телефонных номеров США. |
totalPayloadSizeBytes | Только для вывода. Общий размер полезной нагрузки сообщения в байтах. Полезная нагрузка включает все вложения в сообщении RCS for Business, которые могут быть видео, изображениями, PDF-файлами и т. д., за исключением текста сообщения или подсказок. В настоящее время это поле заполняется только для телефонных номеров США. |
carrier | Только для вывода. Информация о операторе связи, к которому принадлежит номер телефона пользователя, согласно данным бэкэнда Google RCS. В настоящее время это поле заполняется только для номеров телефонов из США. |
Срок действия соглашения о создании профсоюзного поля | |
expireTime | Необязательный параметр. Временная метка в формате UTC, указывающая на момент истечения срока действия ресурса. Это значение отображается в выходных данных, если оно задано или если задано поле TTL. Используется RFC 3339, согласно которому генерируемый вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: |
ttl | Необязательно. Только для ввода. Как долго сообщение будет действовать до его автоматической отмены. Длительность в секундах, содержащая до девяти знаков после запятой, заканчивающаяся на « |
AgentContentMessage
Содержание сообщения, отправленного агентом пользователю.
| JSON-представление |
|---|
{ "suggestions": [ { object ( |
| Поля | |
|---|---|
suggestions[] | Список предлагаемых ответов и действий, отображаемый в виде списка подсказок после соответствующего сообщения от агента. Максимальное количество подсказок — 11. Чипы отображаются только тогда, когда связанное с агентом сообщение является самым последним сообщением в беседе (включая сообщения как агента, так и пользователя). Пользователь может нажать на предложенный ответ, чтобы отправить текстовый ответ обратно агенту, или нажать на предложенное действие, чтобы инициировать стандартное действие на устройстве. Максимальное количество предложений — 11. |
content поля объединения. content сообщения агента может быть только одним из следующих: | |
text | Текст закодирован в UTF-8. Максимальное количество символов: 3072. |
fileName | Уникальное имя файла. Платформа RCS for Business возвращает имя файла, когда агент загружает файл. Устарело в пользу метода uploadedRbmFile, описанного ниже. |
uploadedRbmFile | Содержит идентификаторы файла и миниатюры, которые были загружены на сервер RCS for Business и предоставлены им. |
richCard | Автономная многофункциональная карта. |
contentInfo | Информация о файле, включая URL-адрес файла и URL-адрес его миниатюры. Платформа RCS for Business предоставляет контент из кэша, но агент может принудительно заставить платформу RCS for Business загрузить новую версию контента и обновить кэш. |
UploadedRbmFile
Сообщение, содержащее информацию о файле и его миниатюре.
| JSON-представление |
|---|
{ "fileName": string, "thumbnailName": string } |
| Поля | |
|---|---|
fileName | Название файла, возвращаемое платформой RCS for Business при загрузке файла. |
thumbnailName | Название миниатюры, возвращаемое платформой RCS for Business при загрузке миниатюры. |
RichCard
Отдельная расширенная карточка или карусель расширенных карточек, отправляемых агентом пользователю.
| JSON-представление |
|---|
{ // Union field |
| Поля | |
|---|---|
card Union Field Card. Отдельная карточка или карточка из набора. card может быть только одной из следующих: | |
carouselCard | Карусель карт. |
standaloneCard | Отдельная карта. |
CarouselCard
Карусель карт.
| JSON-представление |
|---|
{ "cardWidth": enum ( |
| Поля | |
|---|---|
cardWidth | Ширина карточек в карусели. |
cardContents[] | Список содержимого каждой карточки в карусели. Карусель может содержать от 2 до 10 карточек. |
CarouselCard.CardWidth
Ширина карточек в карусели.
| Перечисления | |
|---|---|
CARD_WIDTH_UNSPECIFIED | Не указан. |
SMALL | 120 ДП. |
MEDIUM | 232 ДП. |
CardContent
Содержимое карты
| JSON-представление |
|---|
{ "title": string, "description": string, "media": { object ( |
| Поля | |
|---|---|
title | (Необязательно) Заголовок карты. Максимум 200 символов. |
description | (Необязательно) Описание карты. Максимум 2000 символов. |
media | (Необязательно) Медиафайлы (изображение, GIF, видео, PDF), которые можно включить в открытку. |
suggestions[] | (Необязательно) Список предложений для включения в карточку. Максимум 4 предложения. |
СМИ
Медиафайл, встроенный в расширенную вкладку.
| JSON-представление |
|---|
{ "height": enum ( |
| Поля | |
|---|---|
height | Высота медиаконтента в расширенной карточке с вертикальной компоновкой. Для автономной карточки с горизонтальной компоновкой высота не настраивается, и это поле игнорируется. |
content раздела «Объединение полей». content может быть только одним из следующих: | |
fileName | Уникальное имя файла, возвращаемое платформой RCS for Business при загрузке файла. Устарело в пользу метода uploadedRbmFile, описанного ниже. |
uploadedRbmFile | Содержит идентификаторы файла и миниатюры, которые были загружены на сервер RCS for Business и предоставлены им. |
contentInfo | Информация о файле, включая URL-адрес файла и URL-адрес его миниатюры. Платформа RCS for Business предоставляет контент из кэша, но агент может принудительно заставить платформу RCS for Business загрузить новую версию контента и обновить кэш. |
ContentInfo
Сообщение, содержащее информацию о содержимом.
| JSON-представление |
|---|
{ "fileUrl": string, "thumbnailUrl": string, "forceRefresh": boolean } |
| Поля | |
|---|---|
fileUrl | Общедоступный URL-адрес файла. Платформа RCS for Business определяет MIME-тип файла по полю content-type в заголовках HTTP при загрузке файла. Поле content-type должно присутствовать и быть корректным в ответе HTTP-запроса на указанный URL. Рекомендуемый максимальный размер файла — 100 МБ. Примечание: перенаправления в URL-адресах файлов не поддерживаются. Если перенаправление необходимо, используйте CreateFileRequest. |
thumbnailUrl | (Необязательно, только для изображений, аудио- и видеофайлов) Общедоступный URL-адрес миниатюры. Максимальный размер 100 КБ. Если вы не укажете URL-адрес миниатюры, платформа RCS for Business отобразит пустую миниатюру-заполнитель до тех пор, пока устройство пользователя не загрузит файл. В зависимости от настроек пользователя, файл может не загрузиться автоматически, и ему может потребоваться нажать кнопку загрузки. Примечание: перенаправления в URL-адресах файлов не поддерживаются. Если перенаправление необходимо, используйте CreateFileRequest. |
forceRefresh | Если эта настройка задана, платформа RCS for Business получает файл и миниатюру с указанных URL-адресов, даже если платформа имеет кэшированные копии файла (и/или миниатюры). |
Медиа.Высота
Высота медиафайлов
| Перечисления | |
|---|---|
HEIGHT_UNSPECIFIED | Не указан. |
SHORT | 112 ДП. |
MEDIUM | 168 ДП. |
TALL | 264 ДП. |
Предположение
Предлагаемый ответ или предлагаемое действие, включенные в расширенную карточку или в список подсказок.
| JSON-представление |
|---|
{ // Union field |
| Поля | |
|---|---|
option поля объединения. Предлагаемый ответ или предлагаемое действие. option может быть только одним из следующих: | |
reply | Пользователи могут нажать на предложенный ответ, чтобы отправить текстовый ответ обратно оператору. |
action | Пользователи могут нажать на предложенное действие, чтобы запустить соответствующее встроенное действие на устройстве. |
Предложенный ответ
При нажатии отправляет текстовый ответ обратно агенту.
| JSON-представление |
|---|
{ "text": string, "postbackData": string } |
| Поля | |
|---|---|
text | Текст, отображаемый в предложенном ответе и отправляемый обратно агенту при нажатии пользователем. Максимум 25 символов. |
postbackData | Закодированная в base64 полезная нагрузка, которую агент получает в событии пользователя, когда пользователь нажимает на предложенный ответ. |
Предлагаемое действие
При нажатии инициирует соответствующее встроенное действие на устройстве.
| JSON-представление |
|---|
{ "text": string, "postbackData": string, "fallbackUrl": string, // Union field |
| Поля | |
|---|---|
text | Текст, отображаемый в предлагаемом действии. Максимум 25 символов. |
postbackData | Полезная нагрузка (закодированная в base64), которая будет отправлена агенту в результате пользовательского события, возникающего при нажатии пользователем на предложенное действие. Максимальное количество символов: 2048. |
fallbackUrl | (Необязательно) Резервный URL-адрес для использования, если клиент не поддерживает предлагаемое действие. Резервные URL-адреса открываются в новых окнах браузера. Должен быть допустимым URI, как определено в RFC 3986. Максимальная длина 2048 символов. |
action в поле объединения. Это действие запускается на устройстве при нажатии пользователем на предложенное действие. action может быть только одним из следующих: | |
dialAction | Открывает стандартное приложение для набора номера пользователя, в котором уже указан номер телефона, предоставленный агентом. |
viewLocationAction | Открывает стандартное картографическое приложение пользователя и выбирает указанное агентом местоположение или выполняет поиск в окрестностях местоположения пользователя по запросу, заданному агентом. |
createCalendarEventAction | Открывает приложение календаря пользователя по умолчанию и запускает процесс создания нового события календаря с предварительно заполненными данными события, указанными агентом. |
openUrlAction | Открывает веб-браузер пользователя по умолчанию по указанному URL-адресу. Если у пользователя установлено приложение, зарегистрированное в качестве обработчика по умолчанию для этого URL-адреса, то будет открыто именно это приложение, и в предлагаемом пользовательском интерфейсе будет использоваться его значок. |
shareLocationAction | Открывает окно выбора местоположения в приложении RCS, позволяя пользователю выбрать местоположение для отправки агенту. |
DialAction
Открывает стандартное приложение для набора номера пользователя, в котором уже указан номер телефона, предоставленный агентом.
| JSON-представление |
|---|
{ "phoneNumber": string } |
| Поля | |
|---|---|
phoneNumber | Номер телефона в формате E.164, например, +12223334444. |
ViewLocationAction
Открывает стандартное картографическое приложение пользователя и выбирает указанное агентом местоположение или выполняет поиск в окрестностях местоположения пользователя по запросу, заданному агентом.
| JSON-представление |
|---|
{
"latLong": {
object ( |
| Поля | |
|---|---|
latLong | (Необязательно) Широта и долгота указанного местоположения. |
label | (Необязательно) Метка точки, установленной в точке с координатами широты и долготы. |
query | (Необязательно, поддерживается только в клиентах Android Messages) Вместо указания широты и долготы (и, при необходимости, метки) агент может указать строку запроса. Для стандартных картографических приложений, поддерживающих функцию поиска (включая Google Maps), нажатие на это предлагаемое действие приводит к поиску местоположения, центрированному вокруг текущего местоположения пользователя. Если запрос достаточно конкретен, агенты могут использовать его для выбора любого местоположения в мире. Например, если задать в строке запроса "Growing Tree Bank", отобразятся все отделения Growing Tree Bank в окрестностях пользователя. Если же задать в строке запроса "1600 Amphitheater Parkway, Mountain View, CA 94043", будет выбран именно этот адрес, независимо от местоположения пользователя. |
LatLng
Объект, представляющий пару координат широты и долготы. Он выражается в виде пары чисел с плавающей запятой (double), обозначающих градусы широты и долготы. Если не указано иное, этот объект должен соответствовать стандарту WGS84 . Значения должны находиться в пределах нормализованных диапазонов.
| JSON-представление |
|---|
{ "latitude": number, "longitude": number } |
| Поля | |
|---|---|
latitude | Широта в градусах. Она должна находиться в диапазоне [-90,0, +90,0]. |
longitude | Долгота в градусах. Она должна находиться в диапазоне [-180,0, +180,0]. |
CreateCalendarEventAction
Открывает приложение календаря пользователя по умолчанию и запускает процесс создания нового события календаря с предварительно заполненными данными события, указанными агентом.
| JSON-представление |
|---|
{ "startTime": string, "endTime": string, "title": string, "description": string } |
| Поля | |
|---|---|
startTime | Время начала мероприятия. Используется RFC 3339, согласно которому генерируемый вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: |
endTime | Время окончания мероприятия. Используется RFC 3339, согласно которому генерируемый вывод всегда будет Z-нормализован и будет содержать 0, 3, 6 или 9 дробных знаков. Допускаются также смещения, отличные от "Z". Примеры: |
title | Название мероприятия. Максимум 100 символов. |
description | Описание события. Максимум 500 символов. |
OpenUrlAction
Открывает веб-браузер пользователя по умолчанию по указанному URL-адресу. Если у пользователя установлено приложение, зарегистрированное в качестве обработчика по умолчанию для этого URL-адреса, то будет открыто именно это приложение, и в предлагаемом пользовательском интерфейсе будет использоваться его значок.
| JSON-представление |
|---|
{ "url": string, "application": enum ( |
| Поля | |
|---|---|
url | URL-адрес для открытия. С 1 ноября 2025 года схема URL должна быть https:// или http://. Запросы API, использующие любые другие схемы (например, tel:, mailto:, sms:), будут отклонены с ошибкой 400 Bad Request после этой даты. URL должен быть допустимым URI, как определено в RFC 3986. Максимальная длина — 2048 символов. |
application | Откройте приложение, браузер или веб-просмотр по URL-адресу. Чтобы проверить, поддерживает ли устройство пользователя режим веб-просмотра, сначала выполните проверку возможностей. Подробности см. в документации: https://developers.google.com/business-communications/rcs-business-messaging/guides/build/capabilities . |
webviewViewMode | Режим просмотра для веб-просмотра. |
description | Описание доступности для веб-просмотра. |
OpenUrlApplication
Тип URL-адреса, открытого приложения
| Перечисления | |
|---|---|
OPEN_URL_APPLICATION_UNSPECIFIED | Не указано, буду использовать браузер для открытия. |
BROWSER | Для открытия URL-адреса используйте браузер. |
WEBVIEW | Откройте URL-адрес во встроенном окне веб-просмотра. |
WebviewViewMode
Тип режима отображения веб-представления.
| Перечисления | |
|---|---|
WEBVIEW_VIEW_MODE_UNSPECIFIED | Не указано. Для использования веб-просмотра необходимо указать режим отображения. |
FULL | Требуется полноэкранное наложение, при этом диалог с чат-ботом будет отображаться в строке состояния. |
HALF | Требуется наложение изображения на половину экрана. |
TALL | Требуется наложение изображения на три четверти экрана. |
Автономная карта
Автономная карта
| JSON-представление |
|---|
{ "cardOrientation": enum ( |
| Поля | |
|---|---|
cardOrientation | Ориентация карты. |
thumbnailImageAlignment | Выравнивание предварительного просмотра изображения для отдельных карточек с горизонтальным расположением. |
cardContent | Содержимое карты. |
StandaloneCard.CardOrientation
Ориентация карты.
| Перечисления | |
|---|---|
CARD_ORIENTATION_UNSPECIFIED | Не указан. |
HORIZONTAL | Горизонтальное расположение. Если |
VERTICAL | Вертикальное расположение. |
StandaloneCard.ThumbnailImageAlignment
Выравнивание предварительного просмотра изображения для отдельных карточек с горизонтальным расположением.
| Перечисления | |
|---|---|
THUMBNAIL_IMAGE_ALIGNMENT_UNSPECIFIED | Не указан. |
LEFT | Предварительный просмотр файла выровнен по левому краю. |
RIGHT | Предварительный просмотр файла выровнен по правому краю. |
MessageTrafficType
Поддерживаемые типы сообщений. Перечисление будет расширено для поддержки дополнительных типов сообщений.
| Перечисления | |
|---|---|
MESSAGE_TRAFFIC_TYPE_UNSPECIFIED | Поведение по умолчанию: тип трафика сообщений определяется сценарием использования агента. При необходимости обновляйте тип трафика в зависимости от содержимого сообщения. Для агентов, используемых несколькими агентами, тип трафика по умолчанию не предусмотрен. Тип трафика необходимо устанавливать вручную (например, ТРАНЗАКЦИЯ, ПРОМОЦИЯ). |
AUTHENTICATION | Для аутентификационных сообщений в сценарии использования OTP-агента. |
TRANSACTION | Для транзакционных сообщений в сценариях использования транзакционных или многоцелевых агентов. |
PROMOTION | Для рекламных сообщений в сценариях использования рекламных или многоцелевых агентов. |
SERVICEREQUEST | Для сообщений об услугах, на получение которых пользователь дал согласие. Используется в сценариях использования OTP, транзакционных, рекламных сообщений или многоцелевых агентов. |
ACKNOWLEDGEMENT | Для сообщений, подтверждающих запрос пользователя на отписку. Используется в сценариях с одноразовыми паролями (OTP), транзакционными сообщениями, рекламными сообщениями или сообщениями от нескольких агентов. |
RichMessageClassification
Только для выставления счетов в США: Подробная информация о классификации сообщений, используемой для выставления счетов.
| JSON-представление |
|---|
{
"classificationType": enum ( |
| Поля | |
|---|---|
classificationType | |
segmentCount | Количество 160-байтовых сегментов для текста сообщения, всегда округляемое в большую сторону. Расчет производится только на основе общей длины текста в формате UTF-8; данные из предлагаемых ответов или действий исключаются. Например, текстовое сообщение длиной 300 байт имеет значение segmentCount, равное 2. Это поле заполняется только для типов данных RICH_MESSAGE. |
RichMessageClassificationType
Только для выставления счетов в США: указывает классификацию сообщения для выставления счетов.
Важно: цены на платные типы сообщений, описанные на этой странице, устанавливаются операторами связи США. Операторы связи США также определяют окончательную стоимость отправки сообщений RCS for Business для разработчика. Для получения дополнительной информации о ценах или выставлении счетов, пожалуйста, свяжитесь с представителями соответствующего оператора связи.
| Перечисления | |
|---|---|
RICH_MESSAGE_CLASSIFICATION_TYPE_UNSPECIFIED | Не указан |
RICH_MESSAGE | Сообщение классифицируется как RICH при следующих условиях: 1. Оно не содержит расширенных карточек. 2. Оно не содержит вложений файлов. 3. Любые предлагаемые действия, содержащиеся в нем, должны быть либо действием «Набрать номер», либо действием «Открыть URL-адрес», не использующим веб-представление. |
RICH_MEDIA_MESSAGE | Любое сообщение, не соответствующее критериям RICH_MESSAGE. Сюда входят сообщения, содержащие расширенную карточку, медиафайл или любое предлагаемое действие, кроме «Набрать номер» или «Открыть URL в браузере». |
SUGGESTED_ACTION_CLICK | Представляет собой касание пользователем предлагаемого действия (а не предлагаемого ответа). Эта классификация применяется только к действиям пользователя и отображается исключительно в полезной нагрузке UserMessage веб-хука. Она не применяется к сообщениям A2P. |
Методы | |
|---|---|
| Отправляет сообщение от агента пользователю. |
| Отменяет отправленное, но еще не доставленное сообщение агента. |