REST Resource: phones.agentMessages

Ресурс: AgentMessage

Сообщение, отправленное агентом пользователю.

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.
}
Поля
name

string

Это поле задаётся платформой RBM. Не включайте его при создании сообщения агента. Поле преобразуется в "phones/{E.164}/agentMessages/{messageId}", где {E.164} — номер телефона пользователя в формате E.164, а {messageId} — назначенный агентом идентификатор сообщения агента.

sendTime

string ( Timestamp format)

Это поле задаётся платформой RBM. Не включайте его при создании сообщения агента. Поле определяет время отправки сообщения пользователю.

Использует RFC 3339, согласно которому сгенерированный вывод всегда будет нормализован по оси Z и содержать 0, 3, 6 или 9 знаков после запятой. Также допускаются смещения, отличные от «Z». Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .

contentMessage

object ( AgentContentMessage )

Содержание сообщения агента.

messageTrafficType

enum ( MessageTrafficType )

Тип трафика сообщений.

expiration поля Союза.

expiration может быть только одним из следующих:

expireTime

string ( Timestamp format)

Необязательно. Временная метка в формате UTC, когда ресурс считается истёкшим. Это значение указывается на выходе, если оно установлено или если задано поле TTL.

Использует RFC 3339, согласно которому сгенерированный вывод всегда будет нормализован по оси Z и содержать 0, 3, 6 или 9 знаков после запятой. Также допускаются смещения, отличные от «Z». Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .

ttl

string ( Duration format)

Необязательно. Только ввод. Укажите, как долго сообщение будет храниться до его автоматического отзыва.

Длительность в секундах, содержащая до девяти знаков после запятой, заканчивается на « s ». Пример: "3.5s" .

AgentContentMessage

Содержание сообщения, отправленного агентом пользователю.

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.
}
Поля
suggestions[]

object ( Suggestion )

Список предлагаемых ответов и действий, отображаемый в виде фишек предложений после соответствующего сообщения агента. Максимум 11 предложений.

Чипы отображаются только в том случае, если соответствующее сообщение агента является самым последним в разговоре (включая сообщения как агента, так и пользователя). Пользователь может нажать на предложенный ответ, чтобы отправить текстовый ответ агенту, или нажать на предложенное действие, чтобы инициировать нативное действие на устройстве. Максимальное количество предложений: 11.

content поля объединения. content сообщения агента может быть только одним из следующих:
text

string

Текст в кодировке UTF-8. Максимум 3072 символа.

fileName
(deprecated)

string

Уникальное имя файла. Платформа RBM возвращает имя файла, когда агент загружает файл. Устарело в пользу uploadedRbmFile (см. ниже).

uploadedRbmFile

object ( UploadedRbmFile )

Содержит идентификаторы файла и миниатюры, которые были загружены и обслуживаются сервером RBM.

richCard

object ( RichCard )

Отдельная расширенная карта.

contentInfo

object ( ContentInfo )

Информация о файле, включая URL-адрес файла и URL-адрес миниатюры файла.

Платформа RBM обслуживает контент из кэша, но агент может заставить платформу RBM загрузить новую версию контента и обновить кэш.

ЗагруженныйRbmFile

Сообщение, содержащее информацию о файле и миниатюре

JSON-представление
{
  "fileName": string,
  "thumbnailName": string
}
Поля
fileName

string

Имя файла, возвращаемое платформой RBM при загрузке файла.

thumbnailName

string

Имя миниатюры, возвращаемое платформой RBM при загрузке миниатюры.

RichCard

Отдельная расширенная карта или карусель расширенных карт, отправляемых агентом пользователю.

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.
}
Поля
card поля Союза. Отдельная карта или набор карт. card может быть только одной из следующих:
carouselCard

object ( CarouselCard )

Карусель карт.

standaloneCard

object ( StandaloneCard )

Отдельная карта.

КарусельКарта

Карусель карт.

JSON-представление
{
  "cardWidth": enum (CarouselCard.CardWidth),
  "cardContents": [
    {
      object (CardContent)
    }
  ]
}
Поля
cardWidth

enum ( CarouselCard.CardWidth )

Ширина карточек в карусели.

cardContents[]

object ( CardContent )

Список содержимого каждой карточки в карусели. В карусели может быть минимум 2 карточки и максимум 10.

CarouselCard.CardWidth

Ширина карточек в карусели.

Перечисления
CARD_WIDTH_UNSPECIFIED Не указан.
SMALL 120 DP. Обратите внимание, что высокие носители использовать нельзя.
MEDIUM 232 ДП.

CardContent

Содержание карты

JSON-представление
{
  "title": string,
  "description": string,
  "media": {
    object (Media)
  },
  "suggestions": [
    {
      object (Suggestion)
    }
  ]
}
Поля
title

string

(Необязательно) Название карты. Максимум 200 символов.

description

string

(Необязательно) Описание карты. Максимум 2000 символов.

media

object ( Media )

(Необязательно) Медиафайлы (изображение, GIF, видео, PDF-файл) для включения в открытку.

suggestions[]

object ( Suggestion )

(Необязательно) Список предложений для включения в карточку. Максимум 4 предложения.

СМИ

Медиа-файл в расширенной карточке.

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.
}
Поля
height

enum ( Media.Height )

Высота медиа-контента в карточке с вертикальным макетом. Для отдельной карточки с горизонтальным макетом высота не настраивается, и это поле игнорируется.

content поля Union. Медиа- content может быть только одним из следующих:
fileName
(deprecated)

string

Уникальное имя файла, возвращаемое платформой RBM при загрузке файла. Устарело в пользу uploadedRbmFile (см. ниже).

uploadedRbmFile

object ( UploadedRbmFile )

Содержит идентификаторы файла и миниатюры, которые были загружены и обслуживаются сервером RBM.

contentInfo

object ( ContentInfo )

Информация о файле, включая URL-адрес файла и URL-адрес миниатюры файла.

Платформа RBM обслуживает контент из кэша, но агент может заставить платформу RBM загрузить новую версию контента и обновить кэш.

ContentInfo

Сообщение, содержащее информацию о содержании.

JSON-представление
{
  "fileUrl": string,
  "thumbnailUrl": string,
  "forceRefresh": boolean
}
Поля
fileUrl

string

Публично доступный URL-адрес файла. Платформа RBM определяет MIME-тип файла по полю content-type в HTTP-заголовках при загрузке файла. Поле content-type должно присутствовать и быть точным в HTTP-ответе от URL-адреса. Рекомендуемый максимальный размер файла — 100 МБ.

Примечание: перенаправления в URL-адресах файлов не поддерживаются. Если перенаправление необходимо, используйте CreateFileRequest.

thumbnailUrl

string

(Необязательно, только для изображений, аудио- и видеофайлов.) Публично доступный URL-адрес миниатюры. Максимальный размер — 100 КБ.

Если вы не предоставите URL-адрес миниатюры, платформа RBM будет отображать пустую миниатюру до тех пор, пока устройство пользователя не загрузит файл. В зависимости от настроек пользователя, файл может не загружаться автоматически и может потребовать от пользователя нажатия кнопки загрузки.

Примечание: перенаправления в URL-адресах файлов не поддерживаются. Если перенаправление необходимо, используйте CreateFileRequest.

forceRefresh

boolean

Если установлено, платформа RBM извлекает файл и миниатюру из указанных URL-адресов, даже если платформа кэширует копии файла (и/или миниатюры).

Медиа.Высота

Высота носителя

Перечисления
HEIGHT_UNSPECIFIED Не указан.
SHORT 112 ДП.
MEDIUM 168 ДП.
TALL 264 DP. Недоступно для каруселей с расширенными карточками, если задана малая ширина карточки.

Предположение

Предлагаемый ответ или предлагаемое действие, включенные в расширенную карточку или в список фишек предложений.

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.
}
Поля
option поля «Объединение». Предлагаемый ответ или option действия может быть только одним из следующих:
reply

object ( SuggestedReply )

Пользователи могут нажать на предложенный ответ, чтобы отправить текстовый ответ агенту.

action

object ( SuggestedAction )

Пользователи могут нажать на предлагаемое действие, чтобы инициировать соответствующее собственное действие на устройстве.

ПредложенныйОтвет

При нажатии отправляет текстовый ответ обратно агенту.

JSON-представление
{
  "text": string,
  "postbackData": string
}
Поля
text

string

Текст, который отображается в предлагаемом ответе и отправляется агенту при нажатии пользователем. Максимум 25 символов.

postbackData

string

Полезные данные в кодировке base64, которые агент получает в пользовательском событии, когда пользователь нажимает на предлагаемый ответ.

Предлагаемое действие

При нажатии инициирует соответствующее собственное действие на устройстве.

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.
}
Поля
text

string

Текст, отображаемый в предлагаемом действии. Максимум 25 символов.

postbackData

string

Полезная нагрузка (в кодировке Base64), которая будет отправлена ​​агенту в пользовательском событии, возникающем при нажатии пользователем предлагаемого действия. Максимум 2048 символов.

fallbackUrl

string

(Необязательно) Резервный URL-адрес, который будет использоваться, если клиент не поддерживает предлагаемое действие. Резервные URL-адреса открываются в новых окнах браузера. Должен быть допустимым URI, как определено в RFC 3986. Максимальная длина — 2048 символов.

action поля «Union». Собственное действие, инициируемое на устройстве при нажатии пользователем предлагаемого action может быть только одним из следующих:
dialAction

object ( DialAction )

Открывает приложение для набора номера по умолчанию для пользователя с заполненным номером телефона, указанным агентом.

viewLocationAction

object ( ViewLocationAction )

Открывает приложение карты пользователя по умолчанию и выбирает указанное агентом местоположение или выполняет поиск в районе местоположения пользователя с учетом указанного агентом запроса.

createCalendarEventAction

object ( CreateCalendarEventAction )

Открывает приложение календаря пользователя по умолчанию и запускает новый поток событий календаря с предварительно заполненными данными о событиях, указанными агентом.

openUrlAction

object ( OpenUrlAction )

Открывает веб-браузер пользователя по умолчанию для указанного URL-адреса. Если у пользователя установлено приложение, зарегистрированное как обработчик по умолчанию для этого URL-адреса, то будет открыто это приложение, а его значок будет использован в интерфейсе предлагаемых действий.

shareLocationAction

object ( ShareLocationAction )

Открывает средство выбора местоположения в приложении RCS, чтобы пользователь мог выбрать местоположение для отправки агенту.

DialAction

Открывает приложение для набора номера по умолчанию для пользователя с заполненным номером телефона, указанным агентом.

JSON-представление
{
  "phoneNumber": string
}
Поля
phoneNumber

string

Номер телефона в формате E.164, например, +12223334444.

ВидМестоположениеДействие

Открывает приложение карты пользователя по умолчанию и выбирает указанное агентом местоположение или выполняет поиск в районе местоположения пользователя с учетом указанного агентом запроса.

JSON-представление
{
  "latLong": {
    object (LatLng)
  },
  "label": string,
  "query": string
}
Поля
latLong

object ( LatLng )

(Необязательно) Широта и долгота указанного местоположения.

label

string

(Необязательно) Метка булавки, установленной в точке latLong.

query

string

(Необязательно, поддерживается только в клиентах Android Messages) Вместо указания координат latLong (и, при необходимости, метки) агент может указать строку запроса. В приложениях карт по умолчанию, поддерживающих функцию поиска (включая Google Maps), нажатие этого предлагаемого действия приводит к поиску местоположения, сосредоточенному вокруг текущего местоположения пользователя. Если запрос достаточно конкретен, агенты могут использовать его для выбора любого местоположения в мире.

Например, если указать в строке запроса «Growing Tree Bank», будут показаны все филиалы Growing Tree Bank поблизости от пользователя. Если указать в строке запроса «1600 Amphitheatre Parkway, Mountain View, CA 94043», будет выбран конкретный адрес, независимо от местоположения пользователя.

Широта и долгота

Объект, представляющий пару широта/долгота. Выражается в виде пары чисел двойной точности, представляющих градусы широты и долготы. Если не указано иное, этот объект должен соответствовать стандарту WGS84 . Значения должны находиться в нормализованных диапазонах.

JSON-представление
{
  "latitude": number,
  "longitude": number
}
Поля
latitude

number

Широта в градусах. Должна быть в диапазоне [-90,0, +90,0].

longitude

number

Долгота в градусах. Должна быть в диапазоне [-180,0, +180,0].

CreateCalendarEventAction

Открывает приложение календаря пользователя по умолчанию и запускает новый поток событий календаря с предварительно заполненными данными о событиях, указанными агентом.

JSON-представление
{
  "startTime": string,
  "endTime": string,
  "title": string,
  "description": string
}
Поля
startTime

string ( Timestamp format)

Время начала мероприятия.

Использует RFC 3339, согласно которому сгенерированный вывод всегда будет нормализован по оси Z и содержать 0, 3, 6 или 9 знаков после запятой. Также допускаются смещения, отличные от «Z». Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .

endTime

string ( Timestamp format)

Время окончания мероприятия.

Использует RFC 3339, согласно которому сгенерированный вывод всегда будет нормализован по оси Z и содержать 0, 3, 6 или 9 знаков после запятой. Также допускаются смещения, отличные от «Z». Примеры: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" или "2014-10-02T15:01:23+05:30" .

title

string

Название мероприятия. Максимум 100 символов.

description

string

Описание события. Максимум 500 символов.

OpenUrlAction

Открывает веб-браузер пользователя по умолчанию для указанного URL-адреса. Если у пользователя установлено приложение, зарегистрированное как обработчик по умолчанию для этого URL-адреса, то будет открыто это приложение, а его значок будет использован в интерфейсе предлагаемых действий.

JSON-представление
{
  "url": string,
  "application": enum (OpenUrlApplication),
  "webviewViewMode": enum (WebviewViewMode),
  "description": string
}
Поля
url

string

URL-адрес для открытия. С 1 ноября 2025 года схема URL должна быть https:// или http://. API-запросы, использующие любые другие схемы (например, tel:, mailto:, sms:) после этой даты будут отклоняться с ошибкой 400 Bad Request. URL-адрес должен быть допустимым URI, как определено в RFC 3986. Максимальная длина — 2048 символов.

application

enum ( OpenUrlApplication )

URL-адрес для открытия приложения, браузера или веб-просмотра. Чтобы проверить, поддерживает ли устройство пользователя режим веб-просмотра, сначала запустите проверку возможностей. Подробности см. в документации: https://developers.google.com/business-communications/rcs-business-messaging/guides/build/capabilities .

webviewViewMode

enum ( WebviewViewMode )

Режим просмотра для веб-просмотра

description

string

Описание доступности для веб-просмотра.

OpenUrlApplication

Тип URL открытого приложения

Перечисления
OPEN_URL_APPLICATION_UNSPECIFIED Не указано, для открытия будет использоваться браузер.
BROWSER Используйте браузер для открытия URL.
WEBVIEW Открыть URL в интегрированном окне веб-просмотра

WebviewViewMode

Тип режима просмотра веб-просмотра.

Перечисления
WEBVIEW_VIEW_MODE_UNSPECIFIED Не указано. Для использования WebView необходимо указать режим просмотра.
FULL Требуется полноэкранное наложение с пометкой беседы чат-бота в строке состояния.
HALF Требуется наложение на половину экрана.
TALL Требуется наложение на три четверти экрана.

ShareLocationAction

Этот тип не имеет полей.

Открывает средство выбора местоположения в приложении RCS, чтобы пользователь мог выбрать местоположение для отправки агенту.

Автономная карта

Отдельная карта

JSON-представление
{
  "cardOrientation": enum (StandaloneCard.CardOrientation),
  "thumbnailImageAlignment": enum (StandaloneCard.ThumbnailImageAlignment),
  "cardContent": {
    object (CardContent)
  }
}
Поля
cardOrientation

enum ( StandaloneCard.CardOrientation )

Ориентация карты.

thumbnailImageAlignment

enum ( StandaloneCard.ThumbnailImageAlignment )

Выравнивание предварительного просмотра изображений для отдельных карточек с горизонтальным макетом.

cardContent

object ( CardContent )

Содержание карты.

StandaloneCard.CardOrientation

Ориентация карты.

Перечисления
CARD_ORIENTATION_UNSPECIFIED Не указан.
HORIZONTAL

Горизонтальная компоновка.

Если object( CardContent ) содержит поле media , он также должен включать как минимум поле title , description или suggestions[] .

VERTICAL Вертикальная компоновка.

StandaloneCard.ThumbnailImageAlignment

Выравнивание предварительного просмотра изображений для отдельных карточек с горизонтальным макетом.

Перечисления
THUMBNAIL_IMAGE_ALIGNMENT_UNSPECIFIED Не указан.
LEFT Предварительный просмотр файла выравнивается по левому краю.
RIGHT Предварительный просмотр файла выравнивается по правому краю.

MessageTrafficType

Поддерживаемые типы трафика сообщений. Перечисление будет расширено для поддержки дополнительных типов трафика.

Перечисления
MESSAGE_TRAFFIC_TYPE_UNSPECIFIED Поведение по умолчанию: тип трафика сообщений определяется вариантом использования агента. Обновляйте тип трафика по мере необходимости в зависимости от содержания сообщения. Для многоцелевых агентов значение по умолчанию не предусмотрено. Тип трафика необходимо задать вручную (например, ТРАНЗАКЦИЯ, АКЦИЯ).
AUTHENTICATION Для сообщений аутентификации в сценарии использования агента OTP.
TRANSACTION Для транзакционных сообщений в случаях использования транзакционного или многоцелевого агента.
PROMOTION Для рекламных сообщений в рекламных или многоцелевых случаях использования агента.
SERVICEREQUEST Для сообщений об услугах, на получение которых пользователь дал согласие. Используется в одноразовых, транзакционных, рекламных или многоцелевых агентах.
ACKNOWLEDGEMENT Для сообщений, подтверждающих запрос пользователя на отмену подписки. Используется в одноразовых, транзакционных, рекламных или многоцелевых агентах.

Методы

create

Отправляет сообщение от агента пользователю.

delete

Отменяет сообщение агента, которое было отправлено, но еще не доставлено.