REST Resource: conversations.messages

Recurso: Mensaje

Un mensaje en una conversación entre un agente y un usuario.

Representación JSON
{
  "name": string,
  "messageId": string,
  "representative": {
    object (Representative)
  },
  "suggestions": [
    {
      object (Suggestion)
    }
  ],
  "fallback": string,
  "containsRichText": boolean,

  // Union field content can be only one of the following:
  "text": string,
  "image": {
    object (Image)
  },
  "richCard": {
    object (RichCard)
  }
  // End of list of possible types for union field content.
}
Campos
name

string

El nombre del mensaje, tal como lo establecieron Business Messages. Se resuelve como "conversations/{conversationId}/messages/{messageId}", donde {conversationId} es el ID único de la conversación y {messageId} es el ID único del mensaje.

messageId

string

Obligatorio. El identificador único del mensaje, asignado por el agente. Si un mensaje intenta usar el mismo messageId que un mensaje anterior, la entrega adecuada del mensaje podría verse afectada.

representative

object (Representative)

Detalles sobre el representante (humano o chatbot) que envió el mensaje

suggestions[]

object (Suggestion)

Una lista de respuestas sugeridas que aparecen como una lista de chips de sugerencias después del mensaje asociado. Se admiten hasta 13 sugerencias.

Los chips solo se muestran cuando el mensaje asociado es el más reciente de la conversación (incluidos los mensajes para agentes y para usuarios). El usuario puede presionar una respuesta sugerida para enviarle el mensaje de texto al agente.

fallback

string

Opcional. Texto alternativo que se muestra si el dispositivo del usuario no es compatible con el tipo de mensaje o contenido. Se admiten hasta 3,072 caracteres.

containsRichText

boolean

Opcional. Si es true, indica que el mensaje contiene texto enriquecido. Si el mensaje contiene un formato no válido, Business Messages mostrará un error.

Campo de unión content. Es el contenido de un mensaje. Las direcciones (content) solo pueden ser una de las siguientes opciones:
text

string

Mensaje de texto. Se admiten hasta 3,072 caracteres.

image

object (Image)

Mensaje de imagen.

richCard

object (RichCard)

Mensaje de Tarjeta enriquecida.

Imagen

Una imagen.

Representación JSON
{

  // Union field content can be only one of the following:
  "contentInfo": {
    object (ContentInfo)
  }
  // End of list of possible types for union field content.
}
Campos
Campo de unión content. Contenido de la imagen. Las direcciones (content) solo pueden ser una de las siguientes opciones:
contentInfo

object (ContentInfo)

Información sobre una imagen, incluidas la URL de la imagen y la URL de su miniatura.

ContentInfo

Es un mensaje que incluye la información del contenido.

Representación JSON
{
  "fileUrl": string,
  "thumbnailUrl": string,
  "forceRefresh": boolean,
  "altText": string
}
Campos
fileUrl

string

Es la URL del archivo de acceso público. La plataforma determina el tipo de MIME del archivo a partir del campo content-type de los encabezados HTTP cuando la plataforma recupera el archivo. El campo content-type debe estar presente y ser preciso en la respuesta HTTP de la URL.

5 MB como máximo

Tipos de contenido compatibles: image/jpeg, image/jpg, image/png, image/webp

thumbnailUrl

string

Opcional. Es la URL de la miniatura accesible públicamente.

Si no proporcionas una URL en miniatura, la plataforma mostrará una miniatura de marcador de posición en blanco hasta que el dispositivo del usuario descargue el archivo.

El máximo es 25 KB.

Tipos de contenido compatibles: image/jpeg, image/jpg, image/png, image/webp

forceRefresh

boolean

Si se configura, la plataforma recupera el archivo y la miniatura de las URLs especificadas, incluso si la plataforma almacena en caché copias del archivo (o de la miniatura).

altText

string

Texto que describe los detalles sobre el contenido multimedia con fines de accesibilidad.

RichCard

Una tarjeta enriquecida independiente o un carrusel de tarjetas enriquecidas que se envía del agente al usuario

Representación JSON
{

  // Union field card can be only one of the following:
  "standaloneCard": {
    object (StandaloneCard)
  },
  "carouselCard": {
    object (CarouselCard)
  }
  // End of list of possible types for union field card.
}
Campos
Campo de unión card. Posibles tipos de tarjetas enriquecidas. Las direcciones (card) solo pueden ser una de las siguientes opciones:
standaloneCard

object (StandaloneCard)

Tarjeta independiente.

carouselCard

object (CarouselCard)

Carrusel de tarjetas

StandaloneCard

Tarjeta independiente.

Representación JSON
{
  "cardContent": {
    object (CardContent)
  }
}
Campos
cardContent

object (CardContent)

Contenido de la tarjeta.

CardContent

Contenido de la tarjeta.

Representación JSON
{
  "title": string,
  "description": string,
  "media": {
    object (Media)
  },
  "suggestions": [
    {
      object (Suggestion)
    }
  ]
}
Campos
title

string

Opcional. Es el título de la tarjeta. Se admiten hasta 200 caracteres.

description

string

Opcional. Es la descripción de la tarjeta. Se admiten hasta 2,000 caracteres.

media

object (Media)

Opcional. Contenido multimedia que se incluirá en la tarjeta.

suggestions[]

object (Suggestion)

Opcional. Lista de sugerencias para incluir en la tarjeta. Se admiten hasta 4 sugerencias.

Medios

Un archivo multimedia dentro de una tarjeta enriquecida.

Representación JSON
{
  "height": enum (Height),

  // Union field content can be only one of the following:
  "contentInfo": {
    object (ContentInfo)
  }
  // End of list of possible types for union field content.
}
Campos
height

enum (Height)

La altura del contenido multimedia dentro de una tarjeta enriquecida.

Campo de unión content. Contenido multimedia: Las direcciones (content) solo pueden ser una de las siguientes opciones:
contentInfo

object (ContentInfo)

Información sobre un archivo, incluidas la URL del archivo y la URL de su miniatura.

Altura

Altura de medios

Enumeradores
HEIGHT_UNSPECIFIED No se especifica.
SHORT 112 DP.
MEDIUM 168 DP.
TALL 264 DP. No está disponible para carruseles de tarjetas enriquecidas cuando el ancho de la tarjeta se establece en SMALL.

Sugerencia

Una sugerencia dentro de una lista de chips.

Representación JSON
{

  // Union field option can be only one of the following:
  "reply": {
    object (SuggestedReply)
  },
  "action": {
    object (SuggestedAction)
  },
  "liveAgentRequest": {
    object (LiveAgentRequest)
  },
  "authenticationRequest": {
    object (AuthenticationRequest)
  }
  // End of list of possible types for union field option.
}
Campos
Campo de unión option. Una respuesta sugerida Las direcciones (option) solo pueden ser una de las siguientes opciones:
reply

object (SuggestedReply)

Una sugerencia para que el usuario responda con un texto especificado.

action

object (SuggestedAction)

Una acción sugerida que inicia una acción nativa en el dispositivo.

liveAgentRequest

object (LiveAgentRequest)

Una solicitud para que un agente humano se una a la conversación.

authenticationRequest

object (AuthenticationRequest)

Una solicitud para iniciar el flujo de autenticación.

SuggestedReply

Cuando se presiona, envía la respuesta de texto al agente.

Representación JSON
{
  "text": string,
  "postbackData": string
}
Campos
text

string

Texto que se muestra en la respuesta sugerida y se envía al agente cuando el usuario lo presiona. Se admiten hasta 25 caracteres.

postbackData

string

La cadena que recibe el agente cuando un usuario presiona la respuesta sugerida. Se admiten hasta 2,048 caracteres.

SuggestedAction

Cuando se presiona, inicia la acción nativa correspondiente en el dispositivo.

Representación JSON
{
  "text": string,
  "postbackData": string,

  // Union field action can be only one of the following:
  "openUrlAction": {
    object (OpenUrlAction)
  },
  "dialAction": {
    object (DialAction)
  }
  // End of list of possible types for union field action.
}
Campos
text

string

Texto que se muestra en la acción sugerida. Se admiten hasta 25 caracteres.

postbackData

string

La cadena que recibe el agente cuando un usuario presiona la acción sugerida. Se admiten hasta 2,048 caracteres.

Campo de unión action. Es la acción nativa que se inicia en el dispositivo cuando el usuario presiona la acción sugerida. Las direcciones (action) solo pueden ser una de las siguientes opciones:
openUrlAction

object (OpenUrlAction)

Abre la URL especificada.

dialAction

object (DialAction)

Abre la aplicación de marcador predeterminada del usuario.

OpenUrlAction

Abre la URL especificada.

Representación JSON
{
  "url": string
}
Campos
url

string

URL

DialAction

Abre la app de marcador predeterminada del usuario con el número de teléfono especificado ingresado.

Representación JSON
{
  "phoneNumber": string
}
Campos
phoneNumber

string

Obligatorio. Es el número de teléfono especificado en formato RFC 3966. Por ejemplo, “+1-201-555-0123”.

LiveAgentRequest

Este tipo no tiene campos.

Cuando se presiona, envía una solicitud para que un agente humano se una a la conversación.

AuthenticationRequest

Solicita autenticar una conversación.

Representación JSON
{

  // Union field authentication_type can be only one of the following:
  "oauth": {
    object (Oauth)
  }
  // End of list of possible types for union field authentication_type.
}
Campos
Campo de unión authentication_type. El tipo de autenticación. Las direcciones (authentication_type) solo pueden ser una de las siguientes opciones:
oauth

object (Oauth)

Detalles para la autenticación mediante OAuth.

OAuth

Detalles para la autenticación mediante OAuth.

Representación JSON
{
  "clientId": string,
  "codeChallenge": string,
  "scopes": [
    string
  ],
  "codeChallengeMethod": string
}
Campos
clientId

string

Obligatorio. El ID de la aplicación que solicita autorización.

codeChallenge

string

Obligatorio. El desafío de código que se usa para intercambiar tokens de acceso.

scopes[]

string

Obligatorio. Un array que especifica los alcances de la solicitud.

codeChallengeMethod

string

Opcional. Es el método de desafío de código que se usa para generarlo. Si se omite este parámetro, el servidor supone plain.

CarouselCard

Carrusel de tarjetas

Representación JSON
{
  "cardWidth": enum (CardWidth),
  "cardContents": [
    {
      object (CardContent)
    }
  ]
}
Campos
cardWidth

enum (CardWidth)

Es el ancho de las tarjetas en el carrusel.

cardContents[]

object (CardContent)

Es la lista de contenido de cada tarjeta del carrusel. Un carrusel puede tener un mínimo de 2 tarjetas y un máximo de 10.

CardWidth

Es el ancho de las tarjetas en el carrusel.

Enumeradores
CARD_WIDTH_UNSPECIFIED No especificado
SMALL 136 DP. No se pueden incluir medios altos.
MEDIUM 280 DP

Métodos

create

Envía un mensaje de un agente a un usuario.

updateReceipt

Envía una confirmación de un mensaje de un agente a un usuario.