REST Resource: phones.agentMessages

Recurso: AgentMessage

Uma mensagem enviada pelo agente a um usuário.

Representação 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.
}
Campos
name

string

Esse campo é definido pela plataforma RBM. Não o inclua ao criar uma mensagem para o agente. O campo resolve "phones/{E.164}/agentMessages/{messageId}", em que {E.164} é o número de telefone do usuário no formato E.164 e {messageId} é o ID atribuído pelo agente à mensagem do agente.

sendTime

string (Timestamp format)

Esse campo é definido pela plataforma RBM. Não a inclua ao criar uma mensagem de agente. O campo resolve o horário em que a mensagem é enviada ao usuário.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

contentMessage

object (AgentContentMessage)

O conteúdo da mensagem do agente.

Campo de união expiration.

expiration pode ser apenas de um dos tipos a seguir:

expireTime

string (Timestamp format)

Opcional. Carimbo de data/hora em UTC de quando o recurso será considerado expirado. Esse valor é fornecido na saída se estiver definido ou se o campo TTL estiver definido.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

ttl

string (Duration format)

Opcional. Somente entrada. Por quanto tempo a mensagem ficará ativa antes de ser revogada automaticamente.

Duração em segundos com até nove dígitos fracionários, terminando em "s". Exemplo: "3.5s".

AgentContentMessage

O conteúdo de uma mensagem enviada pelo agente a um usuário.

Representação 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.
}
Campos
suggestions[]

object (Suggestion)

Uma lista de respostas e ações sugeridas que aparecem como uma lista de chips de sugestão após a mensagem do agente associada. Máximo de 11 sugestões.

Os ícones só aparecem quando a mensagem do agente associada é a mais recente na conversa (incluindo as do agente e do usuário). O usuário pode tocar em uma resposta sugerida para enviar a resposta de texto de volta ao agente ou tocar em uma ação sugerida para iniciar uma ação nativa no dispositivo. Máximo de 11 sugestões.

Campo de união content. O conteúdo da mensagem do agente content pode ser apenas uma das seguintes opções:
text

string

Texto codificado em UTF-8. Máximo de 3.072 caracteres.

fileName
(deprecated)

string

O nome exclusivo de um arquivo. A plataforma RBM retorna um nome de arquivo quando um agente faz o upload de um arquivo. Obsoleto, substituído por uploadedRbmFile abaixo

uploadedRbmFile

object (UploadedRbmFile)

Contém identificadores de um arquivo e uma miniatura que foram enviados para o servidor RBM e veiculados por ele

richCard

object (RichCard)

Um Rich Card independente.

contentInfo

object (ContentInfo)

Informações sobre um arquivo, incluindo o URL dele e o URL da miniatura.

A plataforma RBM exibe conteúdo de um cache, mas um agente pode forçar essa plataforma a buscar uma nova versão do conteúdo e atualizar o cache.

UploadedRbmFile

Mensagem com informações de arquivo e miniatura

Representação JSON
{
  "fileName": string,
  "thumbnailName": string
}
Campos
fileName

string

O nome do arquivo, retornado pela plataforma RBM quando o arquivo foi enviado.

thumbnailName

string

O nome da miniatura, retornado pela plataforma RBM quando a miniatura foi enviada.

RichCard

Um Rich Card independente ou um carrossel de Rich Cards enviados pelo agente ao usuário.

Representação 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.
}
Campos
Campo de união card. Cartão independente ou carrossel de cards. card pode ser apenas de um dos tipos a seguir:
carouselCard

object (CarouselCard)

Carrossel de cards.

standaloneCard

object (StandaloneCard)

Card independente.

CarouselCard

Carrossel de cards.

Representação JSON
{
  "cardWidth": enum (CarouselCard.CardWidth),
  "cardContents": [
    {
      object (CardContent)
    }
  ]
}
Campos
cardWidth

enum (CarouselCard.CardWidth)

A largura dos cards no carrossel.

cardContents[]

object (CardContent)

A lista de conteúdos de cada card no carrossel. Um carrossel pode ter no mínimo 2 e no máximo 10 cards.

CarouselCard.CardWidth

A largura dos cards no carrossel.

Enums
CARD_WIDTH_UNSPECIFIED Não especificado.
SMALL 120 DP. Não é possível usar mídias altas.
MEDIUM 232 DP.

CardContent

Conteúdo do card

Representação JSON
{
  "title": string,
  "description": string,
  "media": {
    object (Media)
  },
  "suggestions": [
    {
      object (Suggestion)
    }
  ]
}
Campos
title

string

(Opcional) Título do card. Máximo de 200 caracteres.

description

string

(Opcional) Descrição do card. Máximo de 2.000 caracteres.

media

object (Media)

(Opcional) Mídia (imagem, GIF, vídeo) a ser incluída no card.

suggestions[]

object (Suggestion)

(Opcional) Lista de sugestões a serem incluídas no card. Máximo de 10 sugestões.

Mídia

Um arquivo de mídia em um Rich Card.

Representação 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.
}
Campos
height

enum (Media.Height)

A altura da mídia em um rich card com layout vertical. Para um card independente com layout horizontal, a altura não é personalizável, e esse campo é ignorado.

Campo de união content. O conteúdo de mídia content pode ser apenas um dos seguintes:
fileName
(deprecated)

string

O nome exclusivo do arquivo, retornado pela plataforma RBM quando o arquivo foi enviado. Obsoleto, substituído por uploadedRbmFile abaixo

uploadedRbmFile

object (UploadedRbmFile)

Contém identificadores de um arquivo e uma miniatura que foram enviados para o servidor RBM e veiculados por ele

contentInfo

object (ContentInfo)

Informações sobre um arquivo, incluindo o URL do arquivo e o URL da miniatura dele.

A plataforma RBM disponibiliza conteúdo de um cache, mas um agente pode forçar a plataforma RBM a buscar uma nova versão do conteúdo e atualizar o cache.

ContentInfo

Mensagem com as informações do conteúdo.

Representação JSON
{
  "fileUrl": string,
  "thumbnailUrl": string,
  "forceRefresh": boolean
}
Campos
fileUrl

string

URL acessível publicamente do arquivo. A plataforma RBM determina o tipo MIME do arquivo no campo content-type nos cabeçalhos HTTP quando a plataforma busca o arquivo. O campo content-type precisa estar presente e ser preciso na resposta HTTP do URL. Tamanho máximo de arquivo recomendado de 100 MB.

thumbnailUrl

string

(Opcional, apenas para arquivos de imagem, áudio e vídeo) URL acessível publicamente da miniatura. Tamanho máximo de 100 kB.

Se você não fornecer um URL de miniatura, a plataforma RBM vai mostrar uma miniatura de marcador em branco até que o dispositivo do usuário faça o download do arquivo. Dependendo da configuração do usuário, o download do arquivo pode não ser automático e pode exigir que o usuário toque em um botão de download.

forceRefresh

boolean

Se definido, a plataforma RBM vai buscar o arquivo e a miniatura nos URLs especificados, mesmo que ela tenha cópias em cache do arquivo (e/ou da miniatura).

Media.Height

Altura da mídia

Enums
HEIGHT_UNSPECIFIED Não especificado.
SHORT 112 DP.
MEDIUM 168 DP.
TALL 264 DP. Não está disponível para carrosséis de cards avançados quando a largura do card está definida como pequena.

Sugestão

Uma resposta ou ação sugerida incluída em um card avançado ou em uma lista de ícones de sugestão.

Representação 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.
}
Campos
Campo de união option. Uma resposta ou ação sugerida option pode ser apenas uma das seguintes:
reply

object (SuggestedReply)

Os usuários podem tocar em uma resposta sugerida para enviar a resposta de texto de volta ao agente.

action

object (SuggestedAction)

Os usuários podem tocar em uma ação sugerida para iniciar a ação nativa correspondente no dispositivo.

SuggestedReply

Quando tocado, envia a resposta de texto de volta ao agente.

Representação JSON
{
  "text": string,
  "postbackData": string
}
Campos
text

string

Texto mostrado na resposta sugerida e enviado de volta ao agente quando o usuário toca nela. Máximo de 25 caracteres.

postbackData

string

O payload codificado em base64 que o agente recebe em um evento do usuário quando o usuário toca na resposta sugerida.

SuggestedAction

Ao ser tocado, inicia a ação nativa correspondente no dispositivo.

Representação 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.
}
Campos
text

string

Texto mostrado na ação sugerida. Máximo de 25 caracteres.

postbackData

string

Payload (codificado em base64) que será enviado ao agente no evento do usuário que resulta quando o usuário toca na ação sugerida. Máximo de 2.048 caracteres.

fallbackUrl

string

(Opcional) URL de fallback usado se um cliente não aceitar uma ação sugerida. Os URLs substitutos são abertos em novas janelas do navegador. Precisa ser um URI válido, conforme definido no RFC 3986. Máximo de 2.048 caracteres.

Campo de união action. A ação nativa iniciada no dispositivo quando o usuário toca na ação sugerida action só pode ser uma das seguintes:
dialAction

object (DialAction)

Abre o app de discagem padrão do usuário com o número de telefone especificado pelo agente preenchido.

viewLocationAction

object (ViewLocationAction)

Abre o app de mapa padrão do usuário e seleciona o local especificado pelo agente ou faz pesquisas ao redor do local do usuário com base em uma consulta especificada pelo agente.

createCalendarEventAction

object (CreateCalendarEventAction)

Abre o app de agenda padrão do usuário e inicia o novo fluxo de eventos da agenda com os dados de eventos especificados pelo agente preenchidos.

openUrlAction

object (OpenUrlAction)

Abre o app de navegador da Web padrão do usuário no URL fornecido. Se o usuário tiver um app instalado registrado como o gerenciador padrão do URL, ele será aberto e o ícone será usado na interface da ação sugerida.

shareLocationAction

object (ShareLocationAction)

Abre o seletor de local do app RCS para que o usuário possa escolher um local para enviar ao agente.

composeAction

object (ComposeAction)

Escrever e enviar uma mensagem para um destino predefinido pelo chatbot.

DialAction

Abre o app de discagem padrão do usuário com o número de telefone especificado pelo agente preenchido.

Representação JSON
{
  "phoneNumber": string
}
Campos
phoneNumber

string

O número de telefone no formato E.164, por exemplo, +12223334444.

ViewLocationAction

Abre o app de mapa padrão do usuário e seleciona o local especificado pelo agente ou faz pesquisas ao redor do local do usuário com base em uma consulta especificada pelo agente.

Representação JSON
{
  "latLong": {
    object (LatLng)
  },
  "label": string,
  "query": string
}
Campos
latLong

object (LatLng)

(Opcional) A latitude e a longitude do local especificado.

label

string

(Opcional) O rótulo do marcador adicionado em latLong.

query

string

(Opcional, compatível apenas com clientes do Android Messages) Em vez de especificar um latLong (e, opcionalmente, um rótulo), o agente pode especificar uma string de consulta. Para apps de mapa padrão que oferecem suporte à funcionalidade de pesquisa (incluindo o Google Maps), tocar nessa ação sugerida resulta em uma pesquisa de local centrada na localização atual do usuário. Se a consulta for específica o suficiente, os agentes poderão usá-la para selecionar qualquer local do mundo.

Por exemplo, definir a string de consulta como "Growing Tree Bank" vai mostrar todos os locais do Growing Tree Bank nas proximidades do usuário. Definir a string de consulta como "1600 Amphitheatre Parkway, Mountain View, CA 94043" selecionará esse endereço específico, independentemente da localização do usuário.

LatLng

Um objeto que representa um par de latitude/longitude. Ele é expresso como um par de valores duplos para representar graus de latitude e longitude. A menos que especificado de outra forma, esse objeto precisa seguir o padrão WGS84. Os valores precisam estar dentro de intervalos normalizados.

Representação JSON
{
  "latitude": number,
  "longitude": number
}
Campos
latitude

number

A latitude em graus. Precisa estar no intervalo [-90,0, +90,0].

longitude

number

A longitude em graus. Precisa estar no intervalo [-180,0, +180,0].

CreateCalendarEventAction

Abre o app de agenda padrão do usuário e inicia o novo fluxo de eventos da agenda com os dados de eventos especificados pelo agente pré-preenchidos.

Representação JSON
{
  "startTime": string,
  "endTime": string,
  "title": string,
  "description": string
}
Campos
startTime

string (Timestamp format)

Horário de início do evento.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

endTime

string (Timestamp format)

Horário de término do evento.

Um carimbo de data/hora no formato RFC3339 UTC "Zulu", com resolução de nanossegundos e até nove dígitos fracionários. Exemplos: "2014-10-02T15:01:23Z" e "2014-10-02T15:01:23.045123456Z".

title

string

Título do evento. Máximo de 100 caracteres.

description

string

Descrição do evento. Máximo de 500 caracteres.

OpenUrlAction

Abre o app de navegador da Web padrão do usuário no URL especificado. Se o usuário tiver um app instalado registrado como o gerenciador padrão do URL, ele será aberto e o ícone será usado na interface da ação sugerida.

Representação JSON
{
  "url": string,
  "application": enum (OpenUrlApplication),
  "webviewViewMode": enum (WebviewViewMode),
  "description": string
}
Campos
url

string

URL. Precisa ser um URI válido, conforme definido no RFC 3986. Máximo de 2.048 caracteres.

application

enum (OpenUrlApplication)

URL para abrir um aplicativo, navegador ou WebView. Para verificar se o dispositivo de um usuário oferece suporte ao modo de visualização da Web, primeiro execute uma verificação de recursos. Consulte a documentação para saber mais detalhes: https://developers.google.com/business-communications/rcs-business-messaging/guides/build/capabilities.

webviewViewMode

enum (WebviewViewMode)

Modo de leitura para WebView

description

string

Descrição da acessibilidade para o WebView.

OpenUrlApplication

Tipo de aplicativo de abertura de URL

Enums
OPEN_URL_APPLICATION_UNSPECIFIED Se não for especificado, o navegador será usado para abrir.
BROWSER Use o navegador para abrir o URL.
WEBVIEW Abrir o URL em uma janela de visualização da Web integrada

WebviewViewMode

Tipo do modo de visualização da webview.

Enums
WEBVIEW_VIEW_MODE_UNSPECIFIED Não especificado. Para usar a visualização da Web, é necessário especificar um modo de visualização.
FULL Requer uma sobreposição de tela cheia com a conversa do Chatbot identificada na barra de status.
HALF Requer uma sobreposição de metade da tela.
TALL Requer uma sobreposição de tela de três quartos.

ShareLocationAction

Esse tipo não tem campos.

Abre o seletor de local do app RCS para que o usuário possa escolher um local para enviar de volta ao agente.

ComposeAction

Escrever e enviar uma mensagem para um destino predefinido pelo chatbot. Para verificar se o dispositivo de um usuário oferece suporte a essa ação, execute uma verificação de recursos primeiro. Para mais detalhes, consulte a documentação: https://developers.google.com/business-communications/rcs-business-messaging/guides/build/capabilities.

Representação 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.
}
Campos

Campo de união action.

action pode ser apenas de um dos tipos a seguir:

composeTextMessage

object (ComposeAction.ComposeTextMessage)

Escreva e envie uma mensagem de texto.

composeRecordingMessage

object (ComposeAction.ComposeRecordingMessage)

Iniciar a gravação e o envio de uma mensagem de áudio ou vídeo.

ComposeAction.ComposeTextMessage

Escreva e envie uma mensagem de texto.

Representação JSON
{
  "phoneNumber": string,
  "text": string
}
Campos
phoneNumber

string

Número de telefone de destino preenchido automaticamente pelo chatbot.

text

string

Rascunho para entrar no campo de texto da mensagem de envio.

ComposeAction.ComposeRecordingMessage

Iniciar a gravação e o envio de uma mensagem de áudio ou vídeo.

Representação JSON
{
  "phoneNumber": string,
  "type": enum (ComposeRecordingActionType)
}
Campos
phoneNumber

string

Número de telefone de destino preenchido automaticamente pelo chatbot.

type

enum (ComposeRecordingActionType)

O tipo de ação de gravação.

ComposeRecordingActionType

Tipo de ação de gravação de composição.

Enums
COMPOSE_RECORDING_ACTION_TYPE_UNSPECIFIED Não especificado.
ACTION_TYPE_AUDIO Tipo de áudio.
ACTION_TYPE_VIDEO Tipo de vídeo.

StandaloneCard

Card independente

Representação JSON
{
  "cardOrientation": enum (StandaloneCard.CardOrientation),
  "thumbnailImageAlignment": enum (StandaloneCard.ThumbnailImageAlignment),
  "cardContent": {
    object (CardContent)
  }
}
Campos
cardOrientation

enum (StandaloneCard.CardOrientation)

É a orientação do card.

thumbnailImageAlignment

enum (StandaloneCard.ThumbnailImageAlignment)

Alinhamento da visualização de imagem para cards independentes com layout horizontal.

cardContent

object (CardContent)

Conteúdo do card.

StandaloneCard.CardOrientation

Orientação do card.

Enums
CARD_ORIENTATION_UNSPECIFIED Não especificado.
HORIZONTAL

Layout horizontal.

Se o object(CardContent) de um rich card horizontal contiver o campo media, ele também precisará incluir pelo menos um campo title, description ou suggestions[].

VERTICAL Layout vertical.

StandaloneCard.ThumbnailImageAlignment

Alinhamento da visualização de imagem para cards independentes com layout horizontal.

Enums
THUMBNAIL_IMAGE_ALIGNMENT_UNSPECIFIED Não especificado.
LEFT A visualização do arquivo está alinhada à esquerda.
RIGHT A visualização do arquivo está alinhada à direita.

Métodos

create

Envia uma mensagem do agente para um usuário.

delete

Revoga uma mensagem do agente que foi enviada, mas ainda não foi entregue.