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)
  },

  // 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 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 atribuído pelo agente da mensagem do agente.

sendTime

string (Timestamp format)

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

Um carimbo de data/hora no formato UTC "Zulu" RFC3339, 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 esse recurso é considerado expirado. Esse valor será fornecido na saída se estiver definido ou se o campo de TTL estiver definido.

Um carimbo de data/hora no formato UTC "Zulu" RFC3339, 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. Apenas entrada. Apenas entrada. Por quanto tempo a mensagem vai ficar 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 aparece como uma lista de ícones 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 mensagens do agente e do usuário. O usuário pode tocar em uma resposta sugerida para enviá-la de volta ao agente ou tocar em uma ação sugerida para iniciar uma ação nativa no dispositivo.

Campo de união content. O conteúdo da mensagem do agente content pode ser apenas de um dos seguintes formatos:
text

string

Texto codificado em UTF-8.

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. O uso foi descontinuado e substituído pelo "UploadRbmFile" abaixo.

uploadedRbmFile

object (UploadedRbmFile)

Contém identificadores de um arquivo e uma miniatura que foram enviados e veiculados pelo servidor do RBM

richCard

object (RichCard)

Um Rich Card autônomo.

contentInfo

object (ContentInfo)

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

A plataforma do RBM exibe o 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 sobre o arquivo e a 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 enviado do 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. Card independente ou carrossel de cartas. card pode ser apenas de um dos tipos a seguir:
carouselCard

object (CarouselCard)

Carrossel de cards.

standaloneCard

object (StandaloneCard)

Card autônomo.

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.

Enums
CARD_WIDTH_UNSPECIFIED Não especificado.
SMALL 120 DP. Mídias altas não podem ser usadas.
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 cartão. 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 4 sugestões.

Mídia

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 um layout vertical. Em um card independente com layout horizontal, a altura não pode ser personalizada, e esse campo é ignorado.

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

string

O nome exclusivo do arquivo, retornado pela plataforma RBM quando o arquivo foi enviado. O uso foi descontinuado e substituído pelo "UploadRbmFile" abaixo.

uploadedRbmFile

object (UploadedRbmFile)

Contém identificadores de um arquivo e uma miniatura que foram enviados e veiculados pelo servidor do RBM

contentInfo

object (ContentInfo)

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

A plataforma do RBM exibe o 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.

ContentInfo

Mensagem com as informações do 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 nos cabeçalhos HTTP quando a plataforma busca o arquivo. O campo content-type precisa estar presente e preciso na resposta HTTP do URL. O tamanho máximo recomendado para arquivos é de 100 MB.

thumbnailUrl

string

(Opcional, somente para arquivos de imagem 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 do 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, talvez o download do arquivo não seja feito automaticamente, e o usuário precisa tocar em um botão de download.

forceRefresh

boolean

Se definido, a plataforma RBM vai buscar o arquivo e a miniatura dos URLs especificados, mesmo que a plataforma tenha cópias armazenadas 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. Indisponível para carrosséis de rich card quando a largura do card está definida como pequena.

Sugestão

É uma resposta sugerida ou uma ação sugerida incluída em um rich card 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 sugerida 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 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 para o 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 de 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 vai ser enviado ao agente no evento do usuário gerado quando o usuário toca na ação sugerida.

fallbackUrl

string

(Opcional) URL substituto que será usado se um cliente não for compatível com uma ação sugerida. Os URLs substitutos são abertos em novas janelas do navegador.

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 uma das seguintes opções:
dialAction

object (DialAction)

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

viewLocationAction

object (ViewLocationAction)

Abre o app de mapas padrão do usuário e seleciona o local especificado pelo agente ou faz pesquisas nas proximidades dele 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 pré-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 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

object (ShareLocationAction)

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

DialAction

Abre o app discador 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 mapas padrão do usuário e seleciona o local especificado pelo agente ou faz pesquisas nas proximidades dele 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 alfinete inserido em latLong.

query

string

(Opcional, compatível apenas com clientes do Android Mensagens) Em vez de especificar um latLong (e, opcionalmente, um marcador), o agente pode especificar uma string de consulta. Para apps de mapa padrão compatíveis com a funcionalidade de pesquisa (incluindo o Google Maps), tocar nessa ação sugerida resulta em uma pesquisa de local centralizada ao redor do local atual do usuário. Se a consulta for específica o suficiente, os agentes poderão usá-la para selecionar qualquer local no mundo.

Por exemplo, definir a string de consulta como "Growing Tree Bank" mostrará todos os locais do Growing Tree Bank nas proximidades do usuário. Definir a string de consulta como "1600 Amphitheater Parkway, Mountain View, CA 94043" vai selecionar o 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 estar em conformidade com 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 UTC "Zulu" RFC3339, 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 UTC "Zulu" RFC3339, 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.

description

string

Descrição do evento

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
}
Campos
url

string

URL

ShareLocationAction

Esse tipo não tem campos.

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

StandaloneCard

Cartão independente

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

enum (StandaloneCard.CardOrientation)

É a orientação do cartão.

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

É a orientação do cartão.

Enums
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 vai 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.

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.