Recurso: AgentMessage
Uma mensagem enviada do agente para um usuário.
| Representação JSON |
|---|
{ "name": string, "sendTime": string, "contentMessage": { object ( |
| Campos | |
|---|---|
name |
Esse campo é definido pela plataforma RCS for Business. Não inclua esse campo ao criar uma mensagem de 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. |
sendTime |
Esse campo é definido pela plataforma RCS for Business. Não inclua esse campo ao criar uma mensagem de 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: |
contentMessage |
O conteúdo da mensagem do agente. |
messageTrafficType |
O tipo de tráfego da mensagem. |
richMessageClassification |
Apenas saída. Classifica a mensagem de acordo com o modelo de faturamento dos EUA. Para mais detalhes sobre cada tipo de classificação, consulte o guia Modelo de faturamento dos EUA. Este campo é preenchido apenas para números de telefone dos EUA. |
totalPayloadSizeBytes |
Apenas saída. O tamanho total do payload da mensagem em bytes. O payload conta todos os anexos em uma mensagem do RCS for Business, que podem ser vídeos, imagens, PDFs etc., exceto o texto da mensagem ou as sugestões. No momento, esse campo é preenchido apenas para números de telefone dos EUA. |
carrier |
Apenas saída. As informações da operadora a que o número de telefone do usuário pertence, de acordo com os back-ends do Google RCS. No momento, esse campo é preenchido apenas para números de telefone dos EUA. |
Campo de união
|
|
expireTime |
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: |
ttl |
Opcional. Somente entrada. Por quanto tempo a mensagem vai existir antes de ser revogada automaticamente. Duração em segundos com até nove dígitos fracionários, terminando em " |
AgentContentMessage
O conteúdo de uma mensagem enviada do agente para um usuário.
| Representação JSON |
|---|
{ "suggestions": [ { object ( |
| Campos | |
|---|---|
suggestions[] |
Uma lista de respostas sugeridas e ações sugeridas que aparecem como uma lista de chips de sugestão de resposta 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 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. Há dois tipos de padrões de sugestão: persistentes e transitórios. Para mais detalhes, consulte Sugestões. |
Campo de união content. O conteúdo da mensagem do agente content só pode ser um dos seguintes: |
|
text |
Texto codificado em UTF-8. Máximo de 3.072 caracteres. |
fileName |
O nome exclusivo de um arquivo. A plataforma RCS for Business retorna um nome de arquivo quando um agente faz upload de um arquivo. Descontinuado em favor de uploadedRbmFile abaixo. |
uploadedRbmFile |
Contém identificadores de um arquivo e uma miniatura que foram enviados e veiculados pelo servidor do RCS for Business. |
richCard |
Um Rich Card independente. |
contentInfo |
Informações sobre um arquivo, incluindo o URL dele e o URL da miniatura. A plataforma RCS for Business exibe conteúdo de um cache, mas um agente pode forçar a plataforma a buscar uma nova versão do conteúdo e atualizar o cache. |
UploadedRbmFile
Mensagem com informações sobre o arquivo e a miniatura
| Representação JSON |
|---|
{ "fileName": string, "thumbnailName": string } |
| Campos | |
|---|---|
fileName |
O nome do arquivo, retornado pela plataforma RCS for Business quando o arquivo foi enviado. |
thumbnailName |
O nome da miniatura, retornado pela plataforma RCS for Business 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 |
| Campos | |
|---|---|
Campo de união card. Card independente ou carrossel de cards. card pode ser apenas de um dos tipos a seguir: |
|
carouselCard |
Carrossel de cards. |
standaloneCard |
Cartão independente. |
CarouselCard
Carrossel de cards.
| Representação JSON |
|---|
{ "cardWidth": enum ( |
| Campos | |
|---|---|
cardWidth |
A largura dos cards no carrossel. |
cardContents[] |
A lista de conteúdo de cada card no carrossel. Um carrossel pode ter de 2 a 10 cards. |
CarouselCard.CardWidth
A largura dos cards no carrossel.
| Tipos enumerados | |
|---|---|
CARD_WIDTH_UNSPECIFIED |
Não especificado. |
SMALL |
120 DP. |
MEDIUM |
232 DP. |
CardContent
Conteúdo do card
| Representação JSON |
|---|
{ "title": string, "description": string, "media": { object ( |
| Campos | |
|---|---|
title |
(Opcional) Título do card. Máximo de 200 caracteres. |
description |
(Opcional) Descrição do card. Máximo de 2.000 caracteres. |
media |
(Opcional) Mídia (imagem, GIF, vídeo, PDF) para incluir no card. |
suggestions[] |
(Opcional) Lista de sugestões para incluir no card. Máximo de 4 sugestões. |
Mídia
Um arquivo de mídia em um Rich Card.
| Representação JSON |
|---|
{ "height": enum ( |
| Campos | |
|---|---|
height |
A altura da mídia em um Rich Card com layout vertical. Para um cartão independente com layout horizontal, use |
Campo de união content. O conteúdo de mídia content pode ser apenas de um dos tipos a seguir: |
|
fileName |
O nome exclusivo do arquivo, retornado pela plataforma RCS for Business quando o arquivo foi enviado. Descontinuado em favor de uploadedRbmFile abaixo. |
uploadedRbmFile |
Contém identificadores de um arquivo e uma miniatura que foram enviados e veiculados pelo servidor do RCS for Business. |
contentInfo |
Informações sobre um arquivo, incluindo o URL dele e o URL da miniatura. A plataforma RCS for Business exibe conteúdo de um cache, mas um agente pode forçar a plataforma 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 |
URL do arquivo acessível publicamente. A plataforma RCS para Empresas 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. O tamanho máximo recomendado do arquivo é de 100 MB. Observação: não há suporte para redirecionamentos em URLs de arquivos. Use CreateFileRequest se o redirecionamento for necessário. |
thumbnailUrl |
(Opcional, apenas 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 RCS for Business 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: não há suporte para redirecionamentos em URLs de arquivos. Use CreateFileRequest se o redirecionamento for necessário. |
forceRefresh |
Se definido, a plataforma RCS for Business busca 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. |
Sugestão
Uma resposta sugerida ou uma ação sugerida incluída em um Rich Card ou em uma lista de chips de sugestão de resposta.
| Representação JSON |
|---|
{ "suggestionDisplay": enum ( |
| Campos | |
|---|---|
suggestionDisplay |
Opcional. Controla o comportamento de exibição da sugestão. Aplicável apenas a mensagens de texto simples enviadas para clientes do Google Mensagens (versão 20260225.00 ou mais recente). Esse campo só pode ser definido em sugestões independentes associadas a mensagens de texto simples. O servidor vai rejeitar a mensagem se esse campo for aplicado a sugestões em Rich Cards ou sugestões independentes com transferências de arquivos. Essa configuração é serializada apenas para o Google Mensagens e é ignorada por outros clientes (como iOS ou Samsung). |
Campo de união option. Uma resposta ou ação sugerida. option pode ser apenas de um dos tipos a seguir: |
|
reply |
Os usuários podem tocar em uma resposta sugerida para enviar a resposta de texto de volta ao agente. |
action |
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 |
Texto que aparece na resposta sugerida e é enviado de volta ao agente quando o usuário toca nele. No máximo 25 caracteres. |
postbackData |
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 |
| Campos | |
|---|---|
text |
Texto que aparece na ação sugerida. No máximo 25 caracteres. |
postbackData |
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 |
(Opcional) URL alternativo para usar se um cliente não for compatível com uma ação sugerida. Os URLs alternativos 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 de um dos tipos a seguir: |
|
dialAction |
Abre o app de discagem padrão do usuário com o número de telefone especificado pelo agente preenchido. |
viewLocationAction |
Abre o app de mapas padrão do usuário e seleciona o local especificado pelo agente ou pesquisa ao redor do local do usuário com base em uma consulta especificada pelo agente. |
createCalendarEventAction |
Abre o app de agenda padrão do usuário e inicia o fluxo de criação de um novo evento da agenda com os dados de eventos especificados pelo agente preenchidos automaticamente. |
openUrlAction |
Abre o app de navegador da Web padrão do usuário no URL fornecido. Se o usuário tiver um app instalado que esteja registrado como o gerenciador padrão do URL, esse app será aberto, e o ícone dele será usado na interface da ação sugerida. |
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 |
O número de telefone no formato E.164, por exemplo, +12223334444. |
ViewLocationAction
Abre o app de mapas padrão do usuário e seleciona o local especificado pelo agente ou pesquisa ao redor do local do usuário com base em uma consulta especificada pelo agente.
| Representação JSON |
|---|
{
"latLong": {
object ( |
| Campos | |
|---|---|
latLong |
(Opcional) A latitude e a longitude do local especificado. |
label |
(Opcional) O rótulo do alfinete colocado em latLong. |
query |
(Opcional) Em vez de especificar um latLong (e, opcionalmente, um marcador), 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 centralizada na localização atual do usuário. Se a consulta for suficientemente específica, os agentes poderão usá-la para selecionar qualquer local no mundo. Por exemplo, definir a string de consulta como "Banco Bela Vista" vai mostrar todas as agências do Banco Bela Vista nas proximidades do usuário. Definir a string de consulta como "1600 Amphitheater Parkway, Mountain View, CA 94043" vai 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 |
A latitude em graus. Precisa estar no intervalo [-90,0, +90,0]. |
longitude |
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 fluxo de criação de um novo evento da agenda com os dados de eventos especificados pelo agente já preenchidos automaticamente.
| Representação JSON |
|---|
{ "startTime": string, "endTime": string, "title": string, "description": string } |
| Campos | |
|---|---|
startTime |
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: |
endTime |
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: |
title |
Título do evento. Máximo de 100 caracteres. |
description |
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 gerenciador padrão do URL, esse app será aberto, e o ícone dele será usado na interface da ação sugerida.
| Representação JSON |
|---|
{ "url": string, "application": enum ( |
| Campos | |
|---|---|
url |
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 |
URL para abrir o aplicativo, navegador ou WebView. Para verificar se o dispositivo de um usuário é compatível com o modo WebView, faça uma verificação de capability primeiro. Consulte a documentação para mais detalhes: https://developers.google.com/business-communications/rcs-business-messaging/guides/build/capabilities. |
webviewViewMode |
Modo de visualização para webview. |
description |
Descrição de acessibilidade para 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 de modo de visualização da webview.
| Tipos enumerados | |
|---|---|
WEBVIEW_VIEW_MODE_UNSPECIFIED |
Não especificado. Para usar a visualização da Web, é necessário especificar um modo de visualização. |
FULL |
Exige uma sobreposição de tela cheia com a conversa do chatbot identificada na barra de status. |
HALF |
Requer uma sobreposição de meia tela. |
TALL |
Requer uma sobreposição de três quartos da tela. |
Suggestion.SuggestionDisplay
O comportamento de exibição de sugestões de texto independentes.
| Tipos enumerados | |
|---|---|
SUGGESTION_DISPLAY_UNSPECIFIED |
Os clientes aplicam o comportamento de exibição padrão:
|
PERSISTENT |
A sugestão permanece visível no balão de mensagem, mesmo quando novas mensagens são adicionadas à conversa. |
StandaloneCard
Cartão independente
| Representação JSON |
|---|
{ "cardOrientation": enum ( |
| Campos | |
|---|---|
cardOrientation |
Orientação do card. |
thumbnailImageAlignment |
Alinhamento da prévia de imagem para cards independentes com layout horizontal. |
cardContent |
Conteúdo do card. |
StandaloneCard.CardOrientation
Orientação do card.
| Tipos enumerados | |
|---|---|
CARD_ORIENTATION_UNSPECIFIED |
Não especificado. |
HORIZONTAL |
Layout horizontal. Se o |
VERTICAL |
Layout vertical. |
StandaloneCard.ThumbnailImageAlignment
Alinhamento da prévia de imagem para cards independentes com layout horizontal.
| Tipos enumerados | |
|---|---|
THUMBNAIL_IMAGE_ALIGNMENT_UNSPECIFIED |
Não especificado. |
LEFT |
A prévia do arquivo é alinhada à esquerda. |
RIGHT |
A visualização do arquivo está alinhada à direita. |
MessageTrafficType
Tipos de tráfego de mensagens compatíveis. O tipo enumerado será estendido para oferecer suporte a outros tipos de tráfego. Embora o caso de uso do agente possa fornecer orientações sobre o tipo de tráfego a ser usado, não há aplicação de API na relação entre eles.
| 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 múltiplo, nenhum padrão é fornecido. O tipo de tráfego precisa ser definido manualmente (por exemplo, TRANSACTION, PROMOTION). |
AUTHENTICATION |
Para mensagens de autenticação (recomendado para o caso de uso do agente de OTP). |
TRANSACTION |
Para mensagens de transação (recomendado para casos de uso de agentes transacionais ou multiuso). |
PROMOTION |
Para mensagens promocionais (recomendado para casos de uso de agentes promocionais ou de uso múltiplo). |
SERVICEREQUEST |
Para mensagens sobre serviços que o usuário consentiu em receber (recomendado para casos de uso de agentes de OTP, transacionais, promocionais ou de uso múltiplo). |
ACKNOWLEDGEMENT |
Para mensagens que confirmam o pedido de cancelamento de inscrição do usuário (recomendado para casos de uso de OTP, transacionais, promocionais ou de agentes multiuso). |
RichMessageClassification
Somente para faturamento nos EUA: detalhes sobre as classificações de mensagens usadas para faturamento.
| Representação JSON |
|---|
{
"classificationType": enum ( |
| Campos | |
|---|---|
classificationType |
|
segmentCount |
O número de segmentos de 160 bytes para o texto da mensagem, sempre arredondado para cima. Calculado apenas com base no tamanho total em bytes UTF-8 do conteúdo de texto. Os dados de respostas sugeridas ou ações são excluídos. Por exemplo, uma mensagem de texto com 300 bytes tem um segmentCount de 2. Esse campo é preenchido apenas para tipos RICH_MESSAGE. |
RichMessageClassificationType
Somente para faturamento nos EUA: especifica a classificação da mensagem para faturamento.
Importante:as operadoras dos EUA definem o preço dos tipos de mensagens faturáveis descritos nesta página. As operadoras dos EUA também determinam a cobrança final do desenvolvedor pelo envio de mensagens do RCS for Business. Para mais informações sobre preços ou faturamento, entre em contato com os representantes da operadora.
| Tipos enumerados | |
|---|---|
RICH_MESSAGE_CLASSIFICATION_TYPE_UNSPECIFIED |
Não especificado |
RICH_MESSAGE |
A mensagem é classificada como RICH nas seguintes condições: 1. Não contém Rich Cards. 2. Ele não contém anexos de arquivo. 3. As ações sugeridas precisam ser de discagem ou de abertura de URL que não use uma WebView. |
RICH_MEDIA_MESSAGE |
Qualquer mensagem que não atenda aos critérios de RICH_MESSAGE. Isso inclui mensagens que contêm um Rich Card, um arquivo de mídia ou qualquer ação sugerida, exceto "Ligar" ou "Abrir URL no navegador". |
SUGGESTED_ACTION_CLICK |
Representa o toque de um usuário em uma ação sugerida (não em uma resposta sugerida). Essa classificação se aplica apenas às ações do usuário e aparece exclusivamente no payload UserMessage de um webhook. Ela não se aplica a mensagens A2P. |
Métodos |
|
|---|---|
|
Envia uma mensagem do agente para um usuário. |
|
Revoga uma mensagem do agente que foi enviada, mas ainda não foi entregue. |