Ресурс: 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. Допустимы и другие типы нормализации. Примеры: |
contentMessage |
Содержание сообщения агента. |
messageTrafficType |
Тип трафика сообщений. |
richMessageClassification |
Используется только для вывода. Классифицирует сообщение в соответствии с платежной моделью США. Подробнее о каждом типе классификации рассказывается в руководстве по модели оплаты в США. Это поле заполняется только для телефонных номеров США. |
totalPayloadSizeBytes |
Используется только для вывода. Общий размер полезной нагрузки сообщения в байтах. Полезная нагрузка учитывает все прикрепленные к сообщению RCS for Business файлы, например видео, изображения и PDF-документы, кроме текста сообщения и подсказок. В настоящее время это поле заполняется только для телефонных номеров США. |
carrier |
Используется только для вывода. Информация об операторе, которому принадлежит номер телефона пользователя, согласно внутренним системам Google RCS. В настоящее время это поле заполняется только для телефонных номеров США. |
Объединенное поле Поле |
|
expireTime |
Необязательное поле. Временная метка в формате UTC, указывающая, когда ресурс считается устаревшим. Это значение указывается в выходных данных, если оно задано или если задано поле TTL. Используется формат RFC 3339. Результат всегда будет Z-нормализованным, и в нем будут использоваться цифры дробных частей 0, 3, 6 или 9. Допустимы и другие типы нормализации. Примеры: |
ttl |
Необязательное поле. Используется только для ввода. Время жизни сообщения до автоматического отзыва. Продолжительность в секундах, может содержать до девяти дробных цифр и заканчиваться на символ " |
AgentContentMessage
Содержание сообщения, отправленного агентом пользователю.
| JSON-представление |
|---|
{ "suggestions": [ { object ( |
| Поля | |
|---|---|
suggestions[] |
Список предложенных ответов и действий, которые отображаются в виде чипов после сообщения агента. Максимальное количество подсказок – 11. Чипы показываются только тогда, когда связанное с ними сообщение агента является последним в чате (включая сообщения как агента, так и пользователя). Пользователь может нажать на предложенный ответ, чтобы отправить текстовое сообщение агенту, или на предложенное действие, чтобы выполнить его на устройстве. Существует два типа шаблонов подсказок: постоянные и временные. Подробнее о подсказках… |
Объединенное поле content. Содержимое сообщения агента content может быть только одним из следующих: |
|
text |
Текст, закодированный в формате UTF-8. Максимум: 3072 символа. |
fileName |
Уникальное название файла. Платформа RCS for Business возвращает название файла, когда агент загружает файл. Устаревший параметр, вместо которого следует использовать параметр uploadedRbmFile. |
uploadedRbmFile |
Содержит идентификаторы файла и его уменьшенной копии, которые были загружены на сервер RCS for Business и обслуживаются им. |
richCard |
Отдельная полезная подсказка. |
contentInfo |
Информация о файле, в том числе URL файла и URL значка файла. Платформа RCS for Business получает контент из кеша, но агент может заставить ее получить новую версию контента и обновить кеш. |
UploadedRbmFile
Сообщение с информацией о файле и его значке
| JSON-представление |
|---|
{ "fileName": string, "thumbnailName": string } |
| Поля | |
|---|---|
fileName |
Название файла, возвращенное платформой RCS for Business при загрузке файла. |
thumbnailName |
Название значка, возвращенное платформой RCS for Business при загрузке значка. |
RichCard
Отдельная полезная подсказка или карусель полезных подсказок, отправленных агентом пользователю.
| JSON-представление |
|---|
{ // Union field |
| Поля | |
|---|---|
Объединенное поле card. Отдельная карточка или карусель карточек. card может иметь одно из следующих значений: |
|
carouselCard |
карусель подсказок; |
standaloneCard |
Отдельная карточка. |
CarouselCard
карусель подсказок;
| JSON-представление |
|---|
{ "cardWidth": enum ( |
| Поля | |
|---|---|
cardWidth |
Ширина карточек в карусели. |
cardContents[] |
Список контента для каждой карточки в карусели. В карусели должно быть от двух до десяти карточек. |
CarouselCard.CardWidth
Ширина карточек в карусели.
| Перечисления | |
|---|---|
CARD_WIDTH_UNSPECIFIED |
Не указано. |
SMALL |
120 DP. |
MEDIUM |
232 DP. |
CardContent
Контент карточки
| JSON-представление |
|---|
{ "title": string, "description": string, "media": { object ( |
| Поля | |
|---|---|
title |
Название карточки (необязательно). Максимум 200 символов. |
description |
Описание карточки (необязательно). Максимум 2000 символов. |
media |
(Необязательно) Медиаконтент (изображение, GIF, видео, PDF), который нужно добавить в карточку. |
suggestions[] |
(Необязательно) Список рекомендаций, которые нужно включить в карточку. Максимум четыре варианта. |
Медиа
Медиафайл в полезной подсказке.
| JSON-представление |
|---|
{ "height": enum ( |
| Поля | |
|---|---|
height |
Высота медиаконтента в полезной подсказке с вертикальной разметкой. Для отдельной карточки с горизонтальной ориентацией высота не настраивается, и это поле игнорируется. |
Объединенное поле content. Поле "Медиаконтент" content может иметь одно из следующих значений: |
|
fileName |
Уникальное название файла, возвращенное платформой RCS for Business при загрузке файла. Устаревший параметр, вместо которого следует использовать параметр uploadedRbmFile. |
uploadedRbmFile |
Содержит идентификаторы файла и его уменьшенной копии, которые были загружены на сервер RCS for Business и обслуживаются им. |
contentInfo |
Информация о файле, в том числе URL файла и URL его значка. Платформа RCS for Business получает контент из кеша, но агент может заставить ее получить новую версию контента и обновить кеш. |
ContentInfo
Сообщение, содержащее информацию о контенте.
| JSON-представление |
|---|
{ "fileUrl": string, "thumbnailUrl": string, "forceRefresh": boolean } |
| Поля | |
|---|---|
fileUrl |
Общедоступный URL файла. Платформа RCS для бизнеса определяет MIME-тип файла по полю content-type в заголовках HTTP, когда платформа получает файл. Поле content-type должно присутствовать в HTTP-ответе от URL и содержать точную информацию. Рекомендуемый максимальный размер файла – 100 МБ. Примечание. Переадресация в URL файлов не поддерживается. Если требуется перенаправление, используйте CreateFileRequest. |
thumbnailUrl |
(Необязательно, только для файлов изображений, аудио и видео) Общедоступный URL значка. Максимальный размер – 100 КБ. Если вы не укажете URL значка, платформа RCS для бизнеса будет показывать пустой значок, пока устройство пользователя не скачает файл. В зависимости от настроек пользователя файл может не скачиваться автоматически. В этом случае пользователю нужно будет нажать кнопку скачивания. Примечание. Переадресация в URL файлов не поддерживается. Если требуется перенаправление, используйте CreateFileRequest. |
forceRefresh |
Если задано значение, платформа RCS for Business получает файл и уменьшенное изображение по указанным URL, даже если у нее есть кешированные копии файла и/или уменьшенного изображения. |
Media.Height
Высота содержания
| Перечисления | |
|---|---|
HEIGHT_UNSPECIFIED |
Не указано. |
SHORT |
112 DP. |
MEDIUM |
168 DP. |
TALL |
264 DP. |
Рекомендация
Предложенный ответ или действие, включенные в полезную подсказку или список вариантов запроса/действия.
| JSON-представление |
|---|
{ "suggestionDisplay": enum ( |
| Поля | |
|---|---|
suggestionDisplay |
Необязательное поле. Определяет поведение подсказки. Применяется только к текстовым сообщениям, отправленным клиентам Google Сообщений (версии 20260225.00 или более поздней). Это поле можно задавать только для отдельных вариантов ответов, связанных с текстовыми сообщениями. Сервер отклонит письмо, если это поле будет применено к подсказкам в полезных подсказках или к отдельным подсказкам с передачей файлов. Этот параметр сериализуется только для Google Сообщений и игнорируется другими клиентами, например iOS или Samsung. |
Объединенное поле option. Предложенный ответ или действие. option может иметь одно из следующих значений: |
|
reply |
Пользователи могут нажать на предложенный ответ, чтобы отправить его агенту. |
action |
Пользователи могут нажать на предложенное действие, чтобы выполнить его на устройстве. |
SuggestedReply
При нажатии отправляет текстовый ответ агенту.
| JSON-представление |
|---|
{ "text": string, "postbackData": string } |
| Поля | |
|---|---|
text |
Текст, который показывается в предложенном ответе и отправляется агенту, когда пользователь нажимает на него. Максимум: 25 символов. |
postbackData |
Полезная нагрузка в кодировке Base64, которую агент получает в событии пользователя, когда тот нажимает на предложенный ответ. |
SuggestedAction
При нажатии запускает соответствующее встроенное действие на устройстве.
| 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 |
Необязательный ярлык для булавки, установленной в точке latLong. |
query |
Вместо координат latLong (и, при необходимости, ярлыка) агент может указать строку запроса. Если приложение карт по умолчанию поддерживает функцию поиска (в том числе Google Карты), при нажатии на предложенное действие выполняется поиск местоположения с учетом текущего местоположения пользователя. Если запрос достаточно точный, агенты могут использовать его, чтобы выбрать любое место в мире. Например, если задать строку запроса "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. Допустимы и другие типы нормализации. Примеры: |
endTime |
Время окончания мероприятия. Используется формат RFC 3339. Результат всегда будет Z-нормализованным, и в нем будут использоваться цифры дробных частей 0, 3, 6 или 9. Допустимы и другие типы нормализации. Примеры: |
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 для открытия приложения, браузера или веб-представления. Чтобы проверить, поддерживает ли устройство пользователя режим WebView, сначала выполните проверку возможностей. Подробная информация приведена в документации: https://developers.google.com/business-communications/rcs-business-messaging/guides/build/capabilities. |
webviewViewMode |
Режим просмотра для WebView. |
description |
Описание специальных возможностей для элемента webview. |
OpenUrlApplication
Тип приложения, открываемого по URL
| Перечисления | |
|---|---|
OPEN_URL_APPLICATION_UNSPECIFIED |
Не указано. Для открытия будет использоваться браузер. |
BROWSER |
Используйте браузер, чтобы открыть URL. |
WEBVIEW |
Открыть URL в окне встроенного веб-браузера |
WebviewViewMode
Тип режима просмотра WebView.
| Перечисления | |
|---|---|
WEBVIEW_VIEW_MODE_UNSPECIFIED |
Не указано. Чтобы использовать WebView, необходимо указать режим просмотра. |
FULL |
Требуется полноэкранный оверлей с разговором с чат-ботом, который должен быть обозначен в строке состояния. |
HALF |
Требуется наложение на половину экрана. |
TALL |
Требуется наложение на три четверти экрана. |
Suggestion.SuggestionDisplay
Поведение при показе отдельных текстовых подсказок.
| Перечисления | |
|---|---|
SUGGESTION_DISPLAY_UNSPECIFIED |
Клиенты используют поведение по умолчанию:
|
PERSISTENT |
Подсказка будет постоянно видна в пузыре сообщения, даже если в чат будут добавлены новые сообщения. |
StandaloneCard
Отдельная карточка
| 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 |
Поведение по умолчанию: тип трафика сообщений определяется вариантом использования агента. При необходимости обновите тип трафика в зависимости от содержания письма. Для многофункциональных агентов значение по умолчанию не задано. Тип трафика необходимо задать вручную (например, TRANSACTION или PROMOTION). |
AUTHENTICATION |
Для сообщений аутентификации в варианте использования агента OTP. |
TRANSACTION |
Для транзакционных сообщений в транзакционных или многофункциональных агентах. |
PROMOTION |
Для рекламных сообщений в рамках промоакций или многофункциональных агентов. |
SERVICEREQUEST |
Для сообщений о сервисах, на получение которых пользователь дал согласие. Используется в сценариях с одноразовыми кодами, транзакциями, промоакциями или многоразовыми агентами. |
ACKNOWLEDGEMENT |
Для писем, подтверждающих запрос пользователя на отмену подписки. Используется в сценариях с одноразовыми кодами, транзакциями, промоакциями или многоразовыми агентами. |
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", которые не используют WebView. |
RICH_MEDIA_MESSAGE |
Любое сообщение, не соответствующее критериям RICH_MESSAGE. К ним относятся сообщения с расширенной карточкой, медиафайлом или любым предложенным действием, кроме "Позвонить" или "Открыть URL в браузере". |
SUGGESTED_ACTION_CLICK |
Нажатие пользователем на предложенное действие (не на предложенный ответ). Эта классификация применяется только к действиям пользователя и появляется исключительно в полезной нагрузке UserMessage веб-перехватчика. Оно не распространяется на сообщения A2P. |
Методы |
|
|---|---|
|
Отправляет сообщение от агента пользователю. |
|
Отменяет сообщение агента, которое было отправлено, но ещё не доставлено. |