REST Resource: phones.agentMessages

Источник: AgentMessage

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

JSON-представление
{
  "name": string,
  "sendTime": string,
  "contentMessage": {
    object (AgentContentMessage)
  },
  "messageTrafficType": enum (MessageTrafficType),
  "richMessageClassification": {
    object (RichMessageClassification)
  },
  "totalPayloadSizeBytes": string,
  "carrier": string,

  // 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

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

sendTime

string ( Timestamp format)

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

Используется 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 )

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

richMessageClassification

object ( RichMessageClassification )

Только для вывода. Классифицирует сообщение в соответствии с американской моделью выставления счетов. Подробную информацию о каждом типе классификации см. в руководстве по американской модели выставления счетов . Это поле заполняется только для телефонных номеров США.

totalPayloadSizeBytes

string ( int64 format)

Только для вывода. Общий размер полезной нагрузки сообщения в байтах. Полезная нагрузка включает все вложения в сообщении RCS for Business, которые могут быть видео, изображениями, PDF-файлами и т. д., за исключением текста сообщения или подсказок. В настоящее время это поле заполняется только для телефонных номеров США.

carrier

string

Только для вывода. Информация о операторе связи, к которому принадлежит номер телефона пользователя, согласно данным бэкэнда Google RCS. В настоящее время это поле заполняется только для номеров телефонов из США.

Срок действия соглашения о создании профсоюзного поля 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

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

uploadedRbmFile

object ( UploadedRbmFile )

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

richCard

object ( RichCard )

Автономная многофункциональная карта.

contentInfo

object ( ContentInfo )

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

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

UploadedRbmFile

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

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

string

Название файла, возвращаемое платформой RCS for Business при загрузке файла.

thumbnailName

string

Название миниатюры, возвращаемое платформой RCS for Business при загрузке миниатюры.

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

object ( CarouselCard )

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

standaloneCard

object ( StandaloneCard )

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

CarouselCard

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

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

enum ( CarouselCard.CardWidth )

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

cardContents[]

object ( CardContent )

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

CarouselCard.CardWidth

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

Перечисления
CARD_WIDTH_UNSPECIFIED Не указан.
SMALL 120 ДП.
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 раздела «Объединение полей». content может быть только одним из следующих:
fileName
(deprecated)

string

Уникальное имя файла, возвращаемое платформой RCS for Business при загрузке файла. Устарело в пользу метода uploadedRbmFile, описанного ниже.

uploadedRbmFile

object ( UploadedRbmFile )

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

contentInfo

object ( ContentInfo )

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

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

ContentInfo

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

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

string

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

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

thumbnailUrl

string

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

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

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

forceRefresh

boolean

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

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

Высота медиафайлов

Перечисления
HEIGHT_UNSPECIFIED Не указан.
SHORT 112 ДП.
MEDIUM 168 ДП.
TALL 264 ДП.

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

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

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 в поле объединения. Это действие запускается на устройстве при нажатии пользователем на предложенное действие. 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.

ViewLocationAction

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

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

object ( LatLng )

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

label

string

(Необязательно) Метка точки, установленной в точке с координатами широты и долготы.

query

string

(Необязательно, поддерживается только в клиентах 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

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 Не указано. Для использования веб-просмотра необходимо указать режим отображения.
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 Для сообщений об услугах, на получение которых пользователь дал согласие. Используется в сценариях использования OTP, транзакционных, рекламных сообщений или многоцелевых агентов.
ACKNOWLEDGEMENT Для сообщений, подтверждающих запрос пользователя на отписку. Используется в сценариях с одноразовыми паролями (OTP), транзакционными сообщениями, рекламными сообщениями или сообщениями от нескольких агентов.

RichMessageClassification

Только для выставления счетов в США: Подробная информация о классификации сообщений, используемой для выставления счетов.

JSON-представление
{
  "classificationType": enum (RichMessageClassificationType),
  "segmentCount": integer
}
Поля
classificationType

enum ( RichMessageClassificationType )

segmentCount

integer

Количество 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.

Методы

create

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

delete

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