REST Resource: phones.agentMessages

Ресурс: AgentMessage

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

JSON-представление
{
  "name": string,
  "sendTime": string,
  "contentMessage": {
    object (AgentContentMessage)
  },

  // 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} — это назначенный агентом идентификатор сообщения агента.

send Time

string ( Timestamp format)

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

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

content Message

object ( AgentContentMessage )

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

expiration поля объединения .

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

expire Time

string ( Timestamp format)

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

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

ttl

string ( Duration format)

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

Длительность в секундах, содержащая до девяти дробных цифр и оканчивающаяся на « s ». Пример: "3.5s" .

АгентСодержимоеСообщение

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

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 возвращает имя файла, когда агент загружает файл. Устарело в пользу загруженного RbmFile ниже.

uploaded Rbm File

object ( UploadedRbmFile )

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

rich Card

object ( RichCard )

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

content Info

object ( ContentInfo )

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

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

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

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

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

string

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

thumbnail Name

string

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

РичКард

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

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 может быть только одной из следующих:
carousel Card

object ( CarouselCard )

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

standalone Card

object ( StandaloneCard )

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

КарусельКарточка

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

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

enum ( CarouselCard.CardWidth )

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

card Contents[]

object ( CardContent )

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

CarouselCard.CardWidth

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

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

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

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

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

string

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

description

string

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

media

object ( Media )

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

suggestions[]

object ( Suggestion )

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

СМИ

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

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

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

uploaded Rbm File

object ( UploadedRbmFile )

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

content Info

object ( ContentInfo )

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

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

СодержаниеИнформация

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

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

string

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

thumbnail Url

string

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

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

force Refresh

boolean

Если этот параметр установлен, платформа RBM извлекает файл и миниатюру из указанных 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 символов.

postback Data

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)
  },
  "composeAction": {
    object (ComposeAction)
  }
  // End of list of possible types for union field action.
}
Поля
text

string

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

postback Data

string

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

fallback Url

string

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

Полевые action Союза. Собственное действие, инициируемое на устройстве, когда пользователь нажимает предложенное action может быть только одним из следующих:
dial Action

object ( DialAction )

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

view Location Action

object ( ViewLocationAction )

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

create Calendar Event Action

object ( CreateCalendarEventAction )

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

open Url Action

object ( OpenUrlAction )

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

share Location Action

object ( ShareLocationAction )

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

compose Action

object ( ComposeAction )

Составьте и отправьте сообщение в заранее заданный пункт назначения с помощью чат-бота.

DialAction

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

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

string

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

ПросмотрМестоположениеДействие

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

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

object ( LatLng )

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

label

string

(Необязательно) Метка булавки расположена на координате latLong.

query

string

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

Например, установка строки запроса «Банк растущих деревьев» покажет все местоположения Банка растущих деревьев поблизости от пользователя. Установка строки запроса «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
}
Поля
start Time

string ( Timestamp format)

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

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

end Time

string ( Timestamp format)

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

Временная метка в формате RFC3339 UTC «Зулу» с наносекундным разрешением и до девяти дробных цифр. Примеры: "2014-10-02T15:01:23Z" и "2014-10-02T15:01:23.045123456Z" .

title

string

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

description

string

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

Опенурлэкшн

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

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

string

URL-адрес. Должен быть действительным URI, как определено в RFC 3986. Максимум 2048 символов.

application

enum ( OpenUrlApplication )

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

webview View Mode

enum ( WebviewViewMode )

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

description

string

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

OpenUrlApplication

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

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

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

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

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

ПоделитьсяМестоположениеДействие

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

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

ComposeAction

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

JSON-представление
{

  // Union field action can be only one of the following:
  "composeTextMessage": {
    object (ComposeAction.ComposeTextMessage)
  },
  "composeRecordingMessage": {
    object (ComposeAction.ComposeRecordingMessage)
  }
  // End of list of possible types for union field action.
}
Поля

Полевые action Союза.

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

compose Text Message

object ( ComposeAction.ComposeTextMessage )

Составьте и отправьте текстовое сообщение.

compose Recording Message

object ( ComposeAction.ComposeRecordingMessage )

Инициировать запись и отправку аудио- или видеосообщения.

ComposeAction.ComposeTextMessage

Составьте и отправьте текстовое сообщение.

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

string

Предварительно заполненный номер телефона получателя с помощью чат-бота.

text

string

Черновик, чтобы перейти в текстовое поле отправки сообщения.

ComposeAction.ComposeRecordingMessage

Инициировать запись и отправку аудио- или видеосообщения.

JSON-представление
{
  "phoneNumber": string,
  "type": enum (ComposeRecordingActionType)
}
Поля
phone Number

string

Предварительно заполненный номер телефона получателя с помощью чат-бота.

type

enum ( ComposeRecordingActionType )

Тип действия записи.

Компосерекордингэкшнтипе

Тип действия создания записи.

Перечисления
COMPOSE_RECORDING_ACTION_TYPE_UNSPECIFIED Не указан.
ACTION_TYPE_AUDIO Тип аудио.
ACTION_TYPE_VIDEO Тип видео.

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

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

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

enum ( StandaloneCard.CardOrientation )

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

thumbnail Image Alignment

enum ( StandaloneCard.ThumbnailImageAlignment )

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

card Content

object ( CardContent )

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

StandaloneCard.CardOrientation

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

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

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

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

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

StandaloneCard.ThumbnailImageAlignment

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

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

Методы

create

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

delete

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