REST Resource: phones.agentMessages

Recurso: AgentMessage

Uma mensagem enviada do agente para um usuário.

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

string

Esse campo é definido pela plataforma RBM. Não inclua esse texto ao criar uma mensagem do 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 da mensagem do agente atribuído pelo agente.

sendTime

string (Timestamp format)

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

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

contentMessage

object (AgentContentMessage)

O conteúdo da mensagem do agente.

messageTrafficType

enum (MessageTrafficType)

O tipo de tráfego de mensagens.

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.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

ttl

string (Duration format)

Opcional. Somente entrada. Por quanto tempo a mensagem vai 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 do agente para 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 associada do agente é a mais recente na conversa (incluindo mensagens 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 um dos seguintes:
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 upload de um arquivo. Obsoleto, substituído por "uploadedRbmFile" abaixo.

uploadedRbmFile

object (UploadedRbmFile)

Contém identificadores de um arquivo e uma miniatura enviados e veiculados pelo servidor RBM.

richCard

object (RichCard)

Um Rich Card independente.

contentInfo

object (ContentInfo)

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

A plataforma RBM veicula 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.

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 ela foi enviada.

RichCard

Um Rich Card independente ou um carrossel de Rich Cards enviados do agente para o 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. Card 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údo 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.

Tipos enumerados
CARD_WIDTH_UNSPECIFIED Não especificado.
SMALL 120 DP. Não é possível usar mídia alta.
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, PDF) para incluir no card.

suggestions[]

object (Suggestion)

(Opcional) Lista de sugestões a serem incluídas no card. Máximo de quatro 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 enviados e veiculados pelo servidor RBM.

contentInfo

object (ContentInfo)

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

A plataforma RBM veicula 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 que contém as informações de conteúdo.

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

string

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

Observação: redirecionamentos em URLs de arquivos não são compatíveis. Use CreateFileRequest se for necessário redirecionamento.

thumbnailUrl

string

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

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

Observação: redirecionamentos em URLs de arquivos não são compatíveis. Use CreateFileRequest se for necessário redirecionamento.

forceRefresh

boolean

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

Media.Height

Altura da mídia

Tipos enumerados
HEIGHT_UNSPECIFIED Não especificado.
SHORT 112 DP.
MEDIUM 168 DP.
TALL 264 DP. Não 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 rich card ou em uma lista de chips 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 opções:
reply

object (SuggestedReply)

Os usuários podem tocar em uma resposta sugerida para enviar o 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 nele. Máximo de 25 caracteres.

postbackData

string

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

SuggestedAction

Quando 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)
  }
  // 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 resultante quando o usuário tocar na ação sugerida. Máximo de 2.048 caracteres.

fallbackUrl

string

(Opcional) URL alternativo a ser usado se um cliente não for compatível com uma ação sugerida. Os URLs de substituição são abertos em novas janelas do navegador. Precisa ser um URI válido, conforme definido na 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 pode ser apenas 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 uma pesquisa 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 previamente.

openUrlAction

object (OpenUrlAction)

Abre o app de navegador da Web padrão do usuário no URL especificado. Se o usuário tiver um app instalado que esteja registrado como o manipulador padrão do URL, esse app será aberto, e o ícone dele será usado na interface de 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.

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 uma pesquisa 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 inserido em latLong.

query

string

(Opcional, compatível apenas com clientes do Android Mensagens) 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 "Banco Bela Vista" vai mostrar todas as agências do Banco Bela Vista na proximidade do usuário. Definir a string de consulta como "1600 Amphitheater Parkway, Mountain View, CA 94043" vai selecionar esse endereço específico, independente 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 preenchidos previamente.

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

string (Timestamp format)

Horário de início do evento.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

endTime

string (Timestamp format)

Horário de término do evento.

Usa o padrão RFC 3339, em que a saída gerada é sempre convertida em Z e tem 0, 3, 6 ou 9 dígitos fracionários. Além de Z, outros ajustes também são aceitos. Exemplos: "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

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 que esteja registrado como o manipulador padrão do URL, esse app será aberto, e o ícone dele será usado na interface de ação sugerida.

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

string

O URL a ser aberto. A partir de 1º de novembro de 2025, o esquema de URL precisa ser https:// ou http://. As solicitações de API que usam outros esquemas (por exemplo, tel:, mailto:, sms:) serão rejeitadas com um erro 400 Bad Request após essa data. O URL precisa ser um URI válido, conforme definido na RFC 3986. Máximo de 2.048 caracteres.

application

enum (OpenUrlApplication)

Aplicativo, navegador ou WebView para abrir o URL. Para verificar se o dispositivo de um usuário é compatível com o modo de visualização da Web, execute uma verificação de capacidade primeiro. Consulte a documentação para mais detalhes: https://developers.google.com/business-communications/rcs-business-messaging/guides/build/capabilities.

webviewViewMode

enum (WebviewViewMode)

Modo de visualização para WebView

description

string

Descrição de acessibilidade para a WebView.

OpenUrlApplication

Tipo do aplicativo de abertura de URL.

Tipos enumerados
OPEN_URL_APPLICATION_UNSPECIFIED Não especificado. O navegador será usado para abrir.
BROWSER Use o navegador para abrir o URL.
WEBVIEW Abrir URL em uma janela de visualização da Web integrada

WebviewViewMode

Tipo do modo de visualização da WebView.

Tipos enumerados
WEBVIEW_VIEW_MODE_UNSPECIFIED Não especificado. Para usar a webview, é necessário especificar um modo de visualização.
FULL Requer uma sobreposição em tela cheia com a conversa do chatbot rotulada na barra de status.
HALF Exige uma sobreposição de meia 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.

StandaloneCard

Card independente

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

enum (StandaloneCard.CardOrientation)

Orientação do card.

thumbnailImageAlignment

enum (StandaloneCard.ThumbnailImageAlignment)

Alinhamento da prévia da imagem para cards independentes com layout horizontal.

cardContent

object (CardContent)

Conteúdo do card.

StandaloneCard.CardOrientation

Orientação do card.

Tipos enumerados
CARD_ORIENTATION_UNSPECIFIED Não especificado.
HORIZONTAL

Layout horizontal.

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

VERTICAL Layout vertical.

StandaloneCard.ThumbnailImageAlignment

Alinhamento da prévia da imagem para cards independentes com layout horizontal.

Tipos enumerados
THUMBNAIL_IMAGE_ALIGNMENT_UNSPECIFIED Não especificado.
LEFT A prévia do arquivo está alinhada à esquerda.
RIGHT A prévia do arquivo está alinhada à direita.

MessageTrafficType

Tipos de tráfego de mensagens compatíveis. O enum será estendido para oferecer suporte a outros tipos de tráfego.

Tipos enumerados
MESSAGE_TRAFFIC_TYPE_UNSPECIFIED Comportamento padrão: o tipo de tráfego de mensagens é determinado pelo caso de uso do agente. Atualize o tipo de tráfego conforme necessário com base no conteúdo da mensagem. Para agentes de uso variado, nenhum padrão é fornecido. O tipo de tráfego precisa ser definido manualmente (por exemplo, TRANSACTION, PROMOTION).
AUTHENTICATION Para mensagens de autenticação no caso de uso do agente de senha única.
TRANSACTION Para mensagens transacionais em casos de uso de agentes transacionais ou multiuso.
PROMOTION Para mensagens promocionais em casos de uso de agentes promocionais ou multiuso.
SERVICEREQUEST Para mensagens sobre serviços que o usuário consentiu em receber. Usado em casos de uso de agentes de uso único, transacionais, promocionais ou multiuso.
ACKNOWLEDGEMENT Para mensagens que confirmam o pedido de cancelamento de inscrição do usuário. Usado em casos de uso de agentes de uso único, transacionais, promocionais ou multiuso.

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.