REST Resource: phones.agentMessages

Recurso: AgentMessage

Un mensaje que envía el agente a un usuario.

Representación 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

La plataforma RBM establece este campo. No la incluyas cuando crees un mensaje del agente. El campo resuelve "phones/{E.164}/agentMessages/{messageId}", donde {E.164} es el número de teléfono del usuario en formato E.164 y {messageId} es el ID asignado por el agente al mensaje del agente.

sendTime

string (Timestamp format)

La plataforma de RBM establece este campo. No la incluyas cuando crees un mensaje del agente. El campo resuelve la hora en la que se envía el mensaje al usuario.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

contentMessage

object (AgentContentMessage)

Es el contenido del mensaje del agente.

Campo de unión expiration.

expiration puede ser una de las siguientes opciones:

expireTime

string (Timestamp format)

Opcional. Marca de tiempo en UTC del momento en que este recurso se consideró vencido. Este valor se proporciona en la salida si está configurado o si el campo TTL está configurado.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

ttl

string (Duration format)

Opcional. Solo entrada. Es la cantidad de tiempo que el mensaje permanecerá activo antes de que se revoque automáticamente.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

AgentContentMessage

Es el contenido de un mensaje que se envía del agente a un usuario.

Representación 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)

Es una lista de respuestas y acciones sugeridas que aparecen como una lista de chips de sugerencias después del mensaje del agente asociado. Máximo de 11 sugerencias.

Los chips solo se muestran cuando el mensaje del agente asociado es el más reciente de la conversación (incluidos los mensajes del agente y del usuario). El usuario puede presionar una respuesta sugerida para enviarla al agente o presionar una acción sugerida para iniciar una acción nativa en el dispositivo. Máximo de 11 sugerencias.

Campo de unión content. El contenido del mensaje del agente content puede ser uno de los siguientes:
text

string

Texto codificado en UTF-8. Se admiten hasta 3,072 caracteres.

fileName
(deprecated)

string

Es el nombre único de un archivo. La plataforma de RBM muestra un nombre de archivo cuando un agente sube un archivo. Obsoleto y reemplazado por uploadedRbmFile a continuación

uploadedRbmFile

object (UploadedRbmFile)

Contiene identificadores para un archivo y una miniatura que se subieron al servidor de RBM y que este entregó.

richCard

object (RichCard)

Una tarjeta enriquecida independiente.

contentInfo

object (ContentInfo)

Información sobre un archivo, incluida la URL del archivo y la URL de la miniatura del archivo

La plataforma de RBM publica contenido desde una caché, pero un agente puede forzar a la plataforma de RBM a recuperar una versión nueva del contenido y actualizar la caché.

UploadedRbmFile

Mensaje que contiene información del archivo y la miniatura

Representación JSON
{
  "fileName": string,
  "thumbnailName": string
}
Campos
fileName

string

Es el nombre del archivo que muestra la plataforma de RBM cuando se sube el archivo.

thumbnailName

string

Es el nombre de la miniatura que muestra la plataforma de RBM cuando se sube.

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:
  "carouselCard": {
    object (CarouselCard)
  },
  "standaloneCard": {
    object (StandaloneCard)
  }
  // End of list of possible types for union field card.
}
Campos
Campo de unión card. Tarjeta independiente o carrusel de tarjetas. Las direcciones (card) solo pueden ser una de las siguientes opciones:
carouselCard

object (CarouselCard)

Carrusel de tarjetas.

standaloneCard

object (StandaloneCard)

Tarjeta independiente.

CarouselCard

Carrusel de tarjetas.

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

enum (CarouselCard.CardWidth)

Es el ancho de las tarjetas del 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.

CarouselCard.CardWidth

Es el ancho de las tarjetas del carrusel.

Enumeraciones
CARD_WIDTH_UNSPECIFIED No se especifica.
SMALL 120 DP Ten en cuenta que no se puede usar contenido multimedia alto.
MEDIUM 232 dp

CardContent

Contenido de la tarjeta

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

string

(Opcional) Título de la tarjeta. 200 caracteres como máximo.

description

string

Descripción de la tarjeta (opcional). Se admiten 2,000 caracteres como máximo.

media

object (Media)

Es el contenido multimedia (imagen, GIF o video) que se incluirá en la tarjeta (opcional).

suggestions[]

object (Suggestion)

Lista opcional de sugerencias para incluir en la tarjeta. Máximo de 10 sugerencias.

Medios

Un archivo multimedia dentro de una tarjeta enriquecida.

Representación 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)

Es la altura del contenido multimedia dentro de una tarjeta enriquecida con un diseño vertical. En el caso de una tarjeta independiente con diseño horizontal, la altura no se puede personalizar y se ignora este campo.

Campo de unión content. El content de contenido multimedia solo puede ser uno de los siguientes:
fileName
(deprecated)

string

Es el nombre único del archivo que muestra la plataforma de RBM cuando se sube el archivo. Obsoleto y reemplazado por uploadedRbmFile a continuación

uploadedRbmFile

object (UploadedRbmFile)

Contiene identificadores para un archivo y una miniatura que se subieron al servidor de RBM y que este entregó.

contentInfo

object (ContentInfo)

Información sobre un archivo, incluida la URL del archivo y la URL de la miniatura del archivo

La plataforma de RBM publica contenido desde una caché, pero un agente puede forzar a la plataforma de RBM a recuperar una versión nueva del contenido y actualizar la caché.

ContentInfo

Es el mensaje que contiene la información del contenido.

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

string

Es la URL del archivo de acceso público. La plataforma de RBM determina el tipo de MIME del archivo a partir del campo de tipo de contenido en los encabezados HTTP cuando recupera el archivo. El campo content-type debe estar presente y ser preciso en la respuesta HTTP de la URL. Tamaño máximo recomendado del archivo: 100 MB

thumbnailUrl

string

(Opcional, solo para archivos de imagen, audio y video) URL de acceso público de la miniatura. Tamaño máximo de 100 KB

Si no proporcionas una URL de miniatura, la plataforma de RBM mostrará una miniatura de marcador de posición en blanco hasta que el dispositivo del usuario descargue el archivo. Según la configuración del usuario, es posible que el archivo no se descargue automáticamente y que deba presionar un botón de descarga.

forceRefresh

boolean

Si se establece, la plataforma de RBM 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).

Media.Height

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 está configurado como pequeño.

Sugerencia

Es una respuesta sugerida o una acción sugerida incluida en una tarjeta enriquecida o en una lista de chips de sugerencias.

Representación 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ón option. Una respuesta sugerida o una acción sugerida option solo puede ser una de las siguientes:
reply

object (SuggestedReply)

Los usuarios pueden presionar una respuesta sugerida para enviarle la respuesta de texto al agente.

action

object (SuggestedAction)

Los usuarios pueden presionar una acción sugerida para iniciar la acción nativa correspondiente en el dispositivo.

SuggestedReply

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

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

string

Es el texto que se muestra en la respuesta sugerida y se vuelve a enviar al agente cuando el usuario lo presiona. 25 caracteres como máximo.

postbackData

string

Es la carga útil codificada en base64 que el agente recibe en un evento del usuario cuando este presiona la respuesta sugerida.

SuggestedAction

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

Representación 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)
  },
  "composeAction": {
    object (ComposeAction)
  }
  // End of list of possible types for union field action.
}
Campos
text

string

Es el texto que se muestra en la acción sugerida. Se admiten hasta 25 caracteres.

postbackData

string

Es la carga útil (codificada en base64) que se enviará al agente en el evento de usuario que se genera cuando el usuario presiona la acción sugerida. Se admiten hasta 2,048 caracteres.

fallbackUrl

string

Es la URL de resguardo (opcional) que se usará si un cliente no admite una acción sugerida. Las URLs de resguardo se abren en ventanas nuevas del navegador. Debe ser un URI válido, como se define en RFC 3986. Se admiten hasta 2,048 caracteres.

Campo de unión action. La acción nativa que se inicia en el dispositivo cuando el usuario presiona la acción sugerida action puede tener solo una de las siguientes opciones:
dialAction

object (DialAction)

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

viewLocationAction

object (ViewLocationAction)

Abre la aplicación de mapas predeterminada del usuario y selecciona la ubicación especificada por el agente o busca alrededor de la ubicación del usuario en función de una consulta especificada por el agente.

createCalendarEventAction

object (CreateCalendarEventAction)

Abre la app de calendario predeterminada del usuario y comienza el nuevo flujo de eventos de calendario con los datos de eventos especificados por el agente completados previamente.

openUrlAction

object (OpenUrlAction)

Abre la app de navegador web predeterminada del usuario en la URL determinada. Si el usuario tiene instalada una app que está registrada como el controlador predeterminado de la URL, se abrirá esta app y se usará su ícono en la IU de la acción sugerida.

shareLocationAction

object (ShareLocationAction)

Abre el selector de ubicación de la app de RCS para que el usuario pueda elegir una ubicación para enviarla al agente.

composeAction

object (ComposeAction)

Redactar y enviar un mensaje a un destino predefinido mediante un chatbot

DialAction

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

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

string

El número de teléfono en formato E.164, por ejemplo, +12223334444.

ViewLocationAction

Abre la app de mapas predeterminada del usuario y selecciona la ubicación especificada por el agente o realiza búsquedas alrededor de la ubicación del usuario según una búsqueda especificada por el agente.

Representación JSON
{
  "latLong": {
    object (LatLng)
  },
  "label": string,
  "query": string
}
Campos
latLong

object (LatLng)

La latitud y la longitud de la ubicación especificada (opcional).

label

string

(Opcional) Es la etiqueta del pin ubicado en latLong.

query

string

(Opcional, solo se admite en clientes de Mensajes de Android) En lugar de especificar una latLong (y, de manera opcional, una etiqueta), el agente puede especificar una cadena de consulta. En el caso de las apps de mapas predeterminadas que admiten la función de búsqueda (incluida Google Maps), si presionas esta acción sugerida, se realizará una búsqueda de ubicación centrada en la ubicación actual del usuario. Si la consulta es lo suficientemente específica, los agentes pueden usarla para seleccionar cualquier ubicación del mundo.

Por ejemplo, si estableces la cadena de consulta como "Banco Crecer", se mostrarán todas las ubicaciones de Banco de árboles en las cercanías del usuario. Si configuras la cadena de consulta como "1600 Amphitheatre Parkway, Mountain View, CA 94043", se seleccionará esa dirección específica, independientemente de la ubicación del usuario.

LatLng

Es un objeto que representa un par de valores de latitud y longitud. Esto se expresa como un par de números de punto flotante de doble precisión que representan los grados de latitud y longitud. A menos que se especifique lo contrario, este objeto debe cumplir con el estándar WGS84. Los valores deben pertenecer a rangos normalizados.

Representación JSON
{
  "latitude": number,
  "longitude": number
}
Campos
latitude

number

La latitud expresada en grados. Debe pertenecer al rango [-90.0, +90.0].

longitude

number

La longitud expresada en grados. Debe pertenecer al rango [-180.0, +180.0].

CreateCalendarEventAction

Abre la app de calendario predeterminada del usuario y comienza el nuevo flujo de eventos de calendario con los datos de eventos especificados por el agente completados previamente.

Representación JSON
{
  "startTime": string,
  "endTime": string,
  "title": string,
  "description": string
}
Campos
startTime

string (Timestamp format)

Hora de inicio del evento.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

endTime

string (Timestamp format)

Hora de finalización del evento.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

title

string

Título del evento. Se admiten 100 caracteres como máximo.

description

string

Descripción del evento. 500 caracteres como máximo.

OpenUrlAction

Abre la app de navegador web predeterminada del usuario en la URL especificada. Si el usuario tiene instalada una app que está registrada como el controlador predeterminado de la URL, se abrirá esta app y se usará su ícono en la IU de la acción sugerida.

Representación JSON
{
  "url": string,
  "application": enum (OpenUrlApplication),
  "webviewViewMode": enum (WebviewViewMode),
  "description": string
}
Campos
url

string

la URL. Debe ser un URI válido, como se define en RFC 3986. Se admiten hasta 2,048 caracteres.

application

enum (OpenUrlApplication)

La URL abre una aplicación, un navegador o un WebView. Para verificar si el dispositivo de un usuario admite el modo WebView, primero ejecuta una verificación de capacidades. Consulta la documentación para obtener más información: https://developers.google.com/business-communications/rcs-business-messaging/guides/build/capabilities.

webviewViewMode

enum (WebviewViewMode)

Modo de vista para WebView

description

string

Descripción de la accesibilidad de la WebView.

OpenUrlApplication

Tipo de aplicación de apertura de URL

Enumeraciones
OPEN_URL_APPLICATION_UNSPECIFIED Si no se especifica, se usará el navegador para abrirlo.
BROWSER Usa el navegador para abrir la URL.
WEBVIEW Cómo abrir una URL en una ventana de vista web integrada

WebviewViewMode

Es el tipo de modo de vista de WebView.

Enumeraciones
WEBVIEW_VIEW_MODE_UNSPECIFIED No se especifica. Para usar WebView, se debe especificar un modo de vista.
FULL Requiere una superposición de pantalla completa con la conversación del chatbot etiquetada en la barra de estado.
HALF Requiere una superposición de media pantalla.
TALL Requiere una superposición de pantalla de tres cuartos.

ShareLocationAction

Este tipo no tiene campos.

Abre el selector de ubicación de la app de RCS para que el usuario pueda elegir una ubicación para devolverla al agente.

ComposeAction

Redacta y envía un mensaje a un destino predefinido por el chatbot. Para verificar si el dispositivo de un usuario admite esta acción, primero ejecuta una verificación de capacidades. Consulta la documentación para obtener más detalles: https://developers.google.com/business-communications/rcs-business-messaging/guides/build/capabilities.

Representación JSON
{

  // Union field action can be only one of the following:
  "composeTextMessage": {
    object (ComposeAction.ComposeTextMessage)
  },
  "composeRecordingMessage": {
    object (ComposeAction.ComposeRecordingMessage)
  }
  // End of list of possible types for union field action.
}
Campos

Campo de unión action.

action puede ser una de las siguientes opciones:

composeTextMessage

object (ComposeAction.ComposeTextMessage)

Redactar y enviar un mensaje de texto

composeRecordingMessage

object (ComposeAction.ComposeRecordingMessage)

Iniciar la grabación y el envío de un mensaje de audio o video

ComposeAction.ComposeTextMessage

Redacta y envía un mensaje de texto.

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

string

Número de teléfono de destino completado previamente por el chatbot

text

string

Borrador para ir al campo de texto del mensaje de envío.

ComposeAction.ComposeRecordingMessage

Iniciar la grabación y el envío de un mensaje de audio o video

Representación JSON
{
  "phoneNumber": string,
  "type": enum (ComposeRecordingActionType)
}
Campos
phoneNumber

string

El chatbot completó previamente el número de teléfono de destino.

type

enum (ComposeRecordingActionType)

Es el tipo de acción de grabación.

ComposeRecordingActionType

Es el tipo de acción de grabación de composición.

Enumeraciones
COMPOSE_RECORDING_ACTION_TYPE_UNSPECIFIED No se especifica.
ACTION_TYPE_AUDIO Es el tipo de audio.
ACTION_TYPE_VIDEO Tipo de video.

StandaloneCard

Tarjeta independiente

Representación JSON
{
  "cardOrientation": enum (StandaloneCard.CardOrientation),
  "thumbnailImageAlignment": enum (StandaloneCard.ThumbnailImageAlignment),
  "cardContent": {
    object (CardContent)
  }
}
Campos
cardOrientation

enum (StandaloneCard.CardOrientation)

Orientación de la tarjeta.

thumbnailImageAlignment

enum (StandaloneCard.ThumbnailImageAlignment)

Alineación de la vista previa de la imagen para tarjetas independientes con diseño horizontal.

cardContent

object (CardContent)

Contenido de la tarjeta.

StandaloneCard.CardOrientation

Orientación de la tarjeta.

Enumeraciones
CARD_ORIENTATION_UNSPECIFIED No se especifica.
HORIZONTAL

Diseño horizontal.

Si el object(CardContent) de una tarjeta enriquecida horizontal contiene el campo media, también debe incluir al menos un campo title, description o suggestions[].

VERTICAL Diseño vertical.

StandaloneCard.ThumbnailImageAlignment

Alineación de la vista previa de la imagen para tarjetas independientes con diseño horizontal.

Enumeraciones
THUMBNAIL_IMAGE_ALIGNMENT_UNSPECIFIED No se especifica.
LEFT La vista previa del archivo está alineada a la izquierda.
RIGHT La vista previa del archivo está alineada a la derecha.

Métodos

create

Envía un mensaje del agente a un usuario.

delete

Revoca un mensaje del agente que se envió, pero que aún no se entregó.