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

Indica el nombre del mensaje, tal como lo configuró 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 que asigna 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)

Es una lista de respuestas sugeridas que aparece como una lista de chips de sugerencias después del mensaje asociado. Máximo de 13 sugerencias.

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

fallback

string

Opcional. Es un texto alternativo que se muestra si el dispositivo del usuario no admite 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. 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, incluida la URL de la imagen y la URL de la miniatura de la imagen.

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 de tipo de contenido en los encabezados HTTP cuando la plataforma recupera el archivo. El campo content-type debe estar presente y debe ser preciso en la respuesta HTTP de la URL.

5 MB como máximo.

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

thumbnailUrl

string

Opcional. Es la URL de acceso público de la miniatura.

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.

Debe tener un máximo de 25 KB.

Tipos de contenido compatibles: image/jpeg, imagen/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 tiene copias almacenadas en caché del archivo (o de la miniatura).

altText

string

Texto que describe los detalles del contenido multimedia con fines de accesibilidad

RichCard

Una tarjeta enriquecida independiente o un carrusel de tarjetas enriquecidas que el agente envía 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. 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. Es la lista de sugerencias para incluir en la tarjeta. Se admiten 4 sugerencias como máximo.

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)

Es 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)

Es la información sobre un archivo, incluida la URL del archivo y la URL de la miniatura del archivo.

Altura

Altura de medios

Enumeraciones
HEIGHT_UNSPECIFIED No se especifica.
SHORT 112 DP.
MEDIUM 168 DP.
TALL 264 DP. No está disponible para los 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 el 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, se envía la respuesta de texto al agente.

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

string

El texto que se muestra en la respuesta sugerida y se envía al agente cuando el usuario la presiona. 25 caracteres como máximo.

postbackData

string

Es 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. 25 caracteres como máximo.

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 app de Teléfono 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 completado.

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 de la autenticación a través de OAuth.

OAuth

Detalles de la autenticación a través de OAuth.

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

string

Obligatorio. Es 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 asume 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.

Enumeraciones
CARD_WIDTH_UNSPECIFIED No especificado
SMALL 136 DP. No se puede incluir contenido multimedia alto.
MEDIUM 280 DP.

Métodos

create

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

updateReceipt

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