REST Resource: spaces.messages

Recurso: Message

Un mensaje en un espacio de Google Chat.

Representación JSON
{
  "name": string,
  "sender": {
    object (User)
  },
  "createTime": string,
  "lastUpdateTime": string,
  "deleteTime": string,
  "text": string,
  "formattedText": string,
  "cards": [
    {
      object (Card)
    }
  ],
  "cardsV2": [
    {
      object (CardWithId)
    }
  ],
  "annotations": [
    {
      object (Annotation)
    }
  ],
  "thread": {
    object (Thread)
  },
  "space": {
    object (Space)
  },
  "fallbackText": string,
  "actionResponse": {
    object (ActionResponse)
  },
  "argumentText": string,
  "slashCommand": {
    object (SlashCommand)
  },
  "attachment": [
    {
      object (Attachment)
    }
  ],
  "matchedUrl": {
    object (MatchedUrl)
  },
  "threadReply": boolean,
  "silent": boolean,
  "clientAssignedMessageId": string,
  "emojiReactionSummaries": [
    {
      object (EmojiReactionSummary)
    }
  ],
  "privateMessageViewer": {
    object (User)
  },
  "deletionMetadata": {
    object (DeletionMetadata)
  },
  "quotedMessageMetadata": {
    object (QuotedMessageMetadata)
  },
  "attachedGifs": [
    {
      object (AttachedGif)
    }
  ],
  "accessoryWidgets": [
    {
      object (AccessoryWidget)
    }
  ],
  "elements": {
    object (Elements)
  },
  "markupSyntax": enum (MarkupSyntax)
}
Campos
name

string

Es el identificador. Es el nombre del recurso del mensaje.

Formato: spaces/{space}/messages/{message}

Donde {space} es el ID del espacio en el que se publica el mensaje y {message} es un ID asignado por el sistema para el mensaje. Por ejemplo, spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB.

Si estableces un Custom ID cuando creas un mensaje, puedes usarlo para especificar el mensaje en una solicitud reemplazando {message} por el valor del campo clientAssignedMessageId. Por ejemplo, spaces/AAAAAAAAAAA/messages/client-custom-name. Para obtener más información, consulta Cómo asignar un nombre a un mensaje.

sender

object (User)

Solo salida. Es el usuario que creó el mensaje. Si tu app de Chat se autentica como usuario, el resultado solo propaga los campos name y type de user para los usuarios internos y externos, a menos que sean miembros del espacio o tengan una afinidad previa, como una conversación por mensaje directo (MD), con el usuario que llama.

createTime

string (Timestamp format)

Opcional. Inmutable. En el caso de los espacios creados en Chat, es la hora en la que se creó el mensaje. Este campo es de solo salida, excepto cuando se usa en espacios en modo de importación.

En el caso de los espacios en modo de importación, establece este campo en la marca de tiempo histórica en la que se creó el mensaje en la fuente para conservar la hora de creación original.

lastUpdateTime

string (Timestamp format)

Solo salida. Es la hora en la que un usuario editó el mensaje por última vez. Si el mensaje nunca se editó, este campo estará vacío.

deleteTime

string (Timestamp format)

Solo salida. Es la hora en que se borró el mensaje en Google Chat. Si el mensaje nunca se borra, este campo estará vacío.

text

string

Opcional. Es el cuerpo del mensaje en texto sin formato. El primer vínculo a una imagen, un video o una página web genera un chip de vista previa. También puedes mencionar con@a un usuario de Google Chat o a todos los miembros del espacio.

Para obtener información sobre cómo crear mensajes de texto, consulta Cómo enviar un mensaje.

formattedText

string

Solo salida. Contiene el mensaje text con lenguaje de marcado agregado para comunicar el formato. Es posible que este campo no capture todo el formato visible en la IU, pero incluye lo siguiente:

  • Sintaxis de lenguaje de marcado para negrita, cursiva, tachado, monoespacio, bloque de monoespacio, lista con viñetas y cita en bloque.

  • Menciones de usuarios con el formato <users/{user}>.

  • Hipervínculos personalizados con el formato <{url}|{rendered_text}>, en el que la primera cadena es la URL y la segunda es el texto renderizado, por ejemplo, <http://example.com|custom text>.

  • Emoji personalizado con el formato :{emojiName}:, por ejemplo, :smile:. Esto no se aplica a los emojis de Unicode, como U+1F600 para un emoji de cara sonriente.

  • Elementos de lista con viñetas que usan asteriscos (*), por ejemplo, * item.

Para obtener más información, consulta Cómo ver el formato de texto enviado en un mensaje.

cards[]
(deprecated)

object (Card)

Obsoleto: Usa cardsV2 en su lugar.

Son tarjetas enriquecidas, con formato e interactivas que puedes usar para mostrar elementos de la IU, como textos con formato, botones e imágenes en las que se puede hacer clic. Por lo general, las tarjetas se muestran debajo del cuerpo de texto sin formato del mensaje. cards y cardsV2 pueden tener un tamaño máximo de 32 KB.

cardsV2[]

object (CardWithId)

Opcional. Un array de tarjetas.

Las apps de Chat pueden crear tarjetas con la autenticación de la app. Como parte del Programa de versión preliminar para desarrolladores, si tu app de Chat se autentica como usuario, puede crear mensajes de tarjeta. Si tu app de Chat no forma parte del Programa de versión preliminar para desarrolladores, no puede crear tarjetas con autenticación de usuarios.

Para aprender a crear un mensaje que contenga tarjetas, consulta Envía un mensaje.

Diseña tarjetas y obtén una vista previa de ellas con el Creador de tarjetas.

Abre el Creador de tarjetas

annotations[]

object (Annotation)

Solo salida. Las anotaciones se pueden asociar con el cuerpo de texto sin formato del mensaje o con chips que se vinculan a recursos de Google Workspace, como Documentos de Google o Hojas de cálculo de Google, con startIndex y length de 0.

thread

object (Thread)

Es la conversación a la que pertenece el mensaje. Para ver un ejemplo de uso, consulta Cómo iniciar o responder una conversación de mensajes.

space

object (Space)

Solo salida. Si tu app de Chat se autentica como usuario, el resultado solo propaga el espacio name.

fallbackText

string

Opcional. Es una descripción en texto sin formato de las tarjetas del mensaje, que se usa cuando no se pueden mostrar las tarjetas reales, por ejemplo, en las notificaciones móviles.

actionResponse

object (ActionResponse)

Solo entrada. Son los parámetros que puede usar una app de Chat para configurar cómo se publica su respuesta.

argumentText

string

Solo salida. Es el cuerpo de texto sin formato del mensaje sin las menciones de la app de Chat.

slashCommand

object (SlashCommand)

Solo salida. Información del comando de barra, si corresponde.

attachment[]

object (Attachment)

Opcional. Es un archivo adjunto subido por el usuario.

matchedUrl

object (MatchedUrl)

Solo salida. Una URL en el campo text del mensaje de Chat que coincida con un patrón de vista previa de vínculo Para obtener más información, consulta Vínculos de vista previa.

threadReply

boolean

Solo salida. Cuando es true, el mensaje es una respuesta en un hilo de respuestas. Cuando es false, el mensaje es visible en la conversación de nivel superior del espacio como el primer mensaje de un hilo o un mensaje sin respuestas en hilos.

Si el espacio no admite respuestas en conversaciones, este campo siempre es false.

silent

boolean

Solo salida. Indica si se trata de un mensaje silencioso. Los mensajes silenciosos son aquellos en los que Chat suprime las notificaciones push para los destinatarios.

clientAssignedMessageId

string

Opcional. Es un ID personalizado para el mensaje. Puedes usar el campo para identificar un mensaje, o bien para obtener, borrar o actualizar un mensaje. Para establecer un Custom ID, especifica el campo messageId cuando crees el mensaje. Para obtener más información, consulta Cómo asignar un nombre a un mensaje.

emojiReactionSummaries[]

object (EmojiReactionSummary)

Solo salida. Es la lista de resúmenes de reacciones con emojis en el mensaje.

privateMessageViewer

object (User)

Opcional. Inmutable. Entrada para crear un mensaje; de lo contrario, solo salida. Es el usuario que puede ver el mensaje. Cuando se establece, el mensaje es privado y solo lo pueden ver el usuario especificado y la app de Chat. Para incluir este campo en tu solicitud, debes llamar a la API de Chat con la autenticación de la app y omitir lo siguiente:

Para obtener más información, consulta Cómo enviar un mensaje privado.

deletionMetadata

object (DeletionMetadata)

Solo salida. Información sobre un mensaje borrado. Un mensaje se borra cuando se establece deleteTime.

quotedMessageMetadata

object (QuotedMessageMetadata)

Opcional. Información sobre un mensaje que cita otro mensaje.

Cuando creas un mensaje, puedes citar mensajes dentro de la misma conversación o citar un mensaje raíz para crear uno nuevo. Sin embargo, no puedes citar una respuesta de un mensaje de otro hilo.

Cuando actualizas un mensaje, no puedes agregar ni reemplazar el campo quotedMessageMetadata, pero puedes quitarlo.

Para ver un ejemplo de uso, consulta Cómo citar otro mensaje.

attachedGifs[]

object (AttachedGif)

Solo salida. Imágenes GIF que se adjuntan al mensaje.

accessoryWidgets[]

object (AccessoryWidget)

Opcional. Son uno o más widgets interactivos que aparecen en la parte inferior de un mensaje. Puedes agregar widgets de accesorios a los mensajes que contienen texto, tarjetas o ambos. No se admite para mensajes que contienen diálogos. Para obtener más información, consulta Agrega widgets interactivos en la parte inferior de un mensaje.

Para crear un mensaje con widgets de accesorios, se requiere la autenticación de la app.

elements

object (Elements)

Opcional. Los elementos son componentes adicionales que se proporcionan durante la creación del mensaje y que pueden o no estar asociados con partes específicas del texto del mensaje. Estas difieren de las anotaciones, que son de solo salida y ofrecen información complementaria vinculada a fragmentos de mensajes o a todo el texto del mensaje.

markupSyntax

enum (MarkupSyntax)

Opcional. Especifica cómo interpreta el servidor el contenido del campo text del mensaje.

CardWithId

Una tarjeta en un mensaje de Google Chat.

Las apps de Chat pueden crear tarjetas con la autenticación de la app. Como parte del Programa de versión preliminar para desarrolladores, si tu app de Chat se autentica como usuario, puede crear mensajes de tarjeta. Si tu app de Chat no forma parte del Programa de versión preliminar para desarrolladores, no puede crear tarjetas con autenticación de usuarios.

Para aprender a crear un mensaje que contenga tarjetas, consulta Envía un mensaje.

Diseña tarjetas y obtén una vista previa de ellas con el Creador de tarjetas.

Abre el Creador de tarjetas

Representación JSON
{
  "cardId": string,
  "card": {
    object (Card)
  },
  "ownerUser": {
    object (User)
  }
}
Campos
cardId

string

Es obligatorio si el mensaje contiene varias tarjetas. Es un identificador único para una tarjeta en un mensaje.

card

object (Card)

Una tarjeta El tamaño máximo es de 32 KB.

ownerUser

object (User)

Solo salida. Es la app propietaria de la tarjeta.

Anotación

Las anotaciones se pueden asociar con el cuerpo de texto sin formato del mensaje o con chips que se vinculan a recursos de Google Workspace, como Documentos de Google o Hojas de cálculo de Google, con startIndex y length de 0. Para agregar formato básico a un mensaje de texto, consulta Cómo dar formato a los mensajes de texto.

Ejemplo de cuerpo de mensaje de texto sin formato:

Hello @FooBot how are you!"

Los metadatos de anotaciones correspondientes:

"annotations":[{
  "type":"USER_MENTION",
  "startIndex":6,
  "length":7,
  "userMention": {
    "user": {
      "name":"users/{user}",
      "displayName":"FooBot",
      "avatarUrl":"https://goo.gl/aeDtrS",
      "type":"BOT"
    },
    "type":"MENTION"
   }
}]
Representación JSON
{
  "type": enum (AnnotationType),
  "length": integer,
  "startIndex": integer,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "userMention": {
    object (UserMentionMetadata)
  },
  "slashCommand": {
    object (SlashCommandMetadata)
  },
  "richLinkMetadata": {
    object (RichLinkMetadata)
  },
  "customEmojiMetadata": {
    object (CustomEmojiMetadata)
  }
}
Campos
type

enum (AnnotationType)

Es el tipo de esta anotación.

length

integer

Es la longitud de la subcadena en el cuerpo del mensaje de texto sin formato al que corresponde esta anotación. Si no está presente, indica una longitud de 0.

startIndex

integer

Es el índice de inicio (basado en 0, inclusive) en el cuerpo del mensaje de texto sin formato al que corresponde esta anotación.

Son metadatos adicionales sobre la anotación. La siguiente es una lista de campos mutuamente excluyentes. Como máximo, se establecerá uno de los campos en una respuesta:
userMention

object (UserMentionMetadata)

Son los metadatos de la mención del usuario.

slashCommand

object (SlashCommandMetadata)

Son los metadatos de un comando de barra.

customEmojiMetadata

object (CustomEmojiMetadata)

Son los metadatos de un emoji personalizado.

Fin de los campos mutuamente excluyentes.

AnnotationType

Es el tipo de anotación.

Enums
ANNOTATION_TYPE_UNSPECIFIED Es el valor predeterminado de la enumeración. No usar.
USER_MENTION Se menciona a un usuario.
SLASH_COMMAND Se invoca un comando de barra.
CUSTOM_EMOJI Es una anotación de emoji personalizado.

UserMentionMetadata

Metadatos de anotación para menciones de usuarios (@).

Representación JSON
{
  "user": {
    object (User)
  },
  "type": enum (Type)
}
Campos
user

object (User)

El usuario mencionado.

type

enum (Type)

Es el tipo de mención del usuario.

Tipo

Enums
TYPE_UNSPECIFIED Es el valor predeterminado de la enumeración. No usar.
ADD Agregar usuario al espacio
MENTION Mencionar al usuario en el espacio

SlashCommandMetadata

Metadatos de anotación para los comandos de barra (/).

Representación JSON
{
  "bot": {
    object (User)
  },
  "type": enum (Type),
  "commandName": string,
  "commandId": string,
  "triggersDialog": boolean
}
Campos
bot

object (User)

Es la app de Chat cuyo comando se invocó.

type

enum (Type)

Es el tipo de comando de barra.

commandName

string

Es el nombre del comando de barra que se invocó.

commandId

string (int64 format)

Es el ID del comando de barra que se invocó.

triggersDialog

boolean

Indica si el comando de barra es para un diálogo.

Tipo

Enums
TYPE_UNSPECIFIED Es el valor predeterminado de la enumeración. No usar.
ADD Agrega la app de Chat al espacio.
INVOKE Invocar un comando de barra en un espacio

RichLinkMetadata

Es un vínculo enriquecido a un recurso. Los vínculos enriquecidos se pueden asociar con el cuerpo de texto sin formato del mensaje o representar chips que se vinculan a recursos de Google Workspace, como Documentos de Google o Hojas de cálculo de Google, con startIndex y length de 0.

Representación JSON
{
  "uri": string,
  "richLinkType": enum (RichLinkType),

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "driveLinkData": {
    object (DriveLinkData)
  },
  "chatSpaceLinkData": {
    object (ChatSpaceLinkData)
  },
  "meetSpaceLinkData": {
    object (MeetSpaceLinkData)
  },
  "calendarEventLinkData": {
    object (CalendarEventLinkData)
  }
}
Campos
uri

string

Es el URI de este vínculo.

Son los datos del recurso vinculado. La siguiente es una lista de campos mutuamente excluyentes. Como máximo, se establecerá uno de los campos en una respuesta:
Fin de los campos mutuamente excluyentes.

RichLinkType

Es el tipo de vínculo enriquecido. Es posible que se agreguen más tipos en el futuro.

Enums
DRIVE_FILE Un tipo de vínculo enriquecido de Google Drive.
CHAT_SPACE Es un tipo de vínculo enriquecido de un espacio de Chat. Por ejemplo, un chip inteligente de espacio.
GMAIL_MESSAGE Un tipo de vínculo enriquecido de mensaje de Gmail. Específicamente, un chip de Gmail de Compartir en Chat. La API solo admite la lectura de mensajes con vínculos enriquecidos de GMAIL_MESSAGE.
MEET_SPACE Es un tipo de vínculo enriquecido de mensajes de Meet. Por ejemplo, un chip de Meet.
CALENDAR_EVENT Es un tipo de vínculo enriquecido de mensaje de calendario. Por ejemplo, un chip de Calendario.

DriveLinkData

Son los datos de los vínculos de Google Drive.

Representación JSON
{
  "driveDataRef": {
    object (DriveDataRef)
  },
  "mimeType": string
}
Campos
driveDataRef

object (DriveDataRef)

Un DriveDataRef que hace referencia a un archivo de Google Drive.

mimeType

string

Es el tipo de MIME del recurso de Google Drive vinculado.

ChatSpaceLinkData

Datos de los vínculos a espacios de Chat.

Representación JSON
{
  "space": string,
  "thread": string,
  "message": string
}
Campos
space

string

Es el espacio del recurso de espacio de Chat vinculado.

Formato: spaces/{space}

thread

string

Es el hilo del recurso del espacio de Chat vinculado.

Formato: spaces/{space}/threads/{thread}

message

string

Es el mensaje del recurso de espacio de Chat vinculado.

Formato: spaces/{space}/messages/{message}

MeetSpaceLinkData

Son los datos de los vínculos de los espacios de Meet.

Representación JSON
{
  "meetingCode": string,
  "type": enum (Type),
  "huddleStatus": enum (HuddleStatus)
}
Campos
meetingCode

string

Es el código de reunión del espacio de Meet vinculado.

type

enum (Type)

Indica el tipo de sala de reuniones.

huddleStatus

enum (HuddleStatus)

Opcional. Solo salida. Si la reunión de Meet es una reunión rápida, indica el estado de la reunión rápida. De lo contrario, no se establece.

Tipo

Es el tipo de espacio de Meet.

Enums
TYPE_UNSPECIFIED Es el valor predeterminado de la enumeración. No usar.
MEETING La sala de reuniones de Meet es una reunión.
HUDDLE La sala de reuniones de Meet es un huddle.

HuddleStatus

El estado de la reunión

Enums
HUDDLE_STATUS_UNSPECIFIED Es el valor predeterminado de la enumeración. No usar.
STARTED Comenzó el huddle.
ENDED Finalizó el huddle. En este caso, el URI y los identificadores del espacio de Meet ya no serán válidos.
MISSED Se perdió la llamada de huddle. En este caso, el URI y los identificadores del espacio de Meet ya no serán válidos.

CalendarEventLinkData

Datos de los vínculos a eventos de calendario

Representación JSON
{
  "calendarId": string,
  "eventId": string
}
Campos
calendarId

string

El identificador de calendario del calendario vinculado.

eventId

string

El identificador del evento del evento de calendario vinculado.

CustomEmojiMetadata

Son los metadatos de anotación para los emojis personalizados.

Representación JSON
{
  "customEmoji": {
    object (CustomEmoji)
  }
}
Campos
customEmoji

object (CustomEmoji)

El emoji personalizado.

Thread

Un hilo en un espacio de Google Chat. Para ver un ejemplo de uso, consulta Cómo iniciar o responder una conversación de mensajes.

Si especificas una conversación cuando creas un mensaje, puedes configurar el campo messageReplyOption para determinar qué sucede si no se encuentra ninguna conversación coincidente.

Representación JSON
{
  "name": string,
  "threadKey": string
}
Campos
name

string

Es el identificador. Es el nombre del recurso del hilo.

Ejemplo: spaces/{space}/threads/{thread}

threadKey

string

Opcional. Entrada para crear o actualizar una conversación. De lo contrario, solo salida. Es el ID del hilo. Admite hasta 4,000 caracteres.

Este ID es único para la app de Chat que lo establece. Por ejemplo, si varias apps de Chat crean un mensaje con la misma clave de conversación, los mensajes se publican en conversaciones diferentes. Para responder en una conversación creada por una persona o por otra app de Chat, especifica el campo name de la conversación.

ActionResponse

Son los parámetros que puede usar una app de Chat para configurar cómo se publica su respuesta.

Representación JSON
{
  "type": enum (ResponseType),
  "url": string,
  "dialogAction": {
    object (DialogAction)
  },
  "updatedWidget": {
    object (UpdatedWidget)
  }
}
Campos
type

enum (ResponseType)

Solo entrada. Es el tipo de respuesta de la app de Chat.

url

string

Solo entrada. Es la URL para que los usuarios se autentiquen o configuren. (Solo para los tipos de respuesta REQUEST_CONFIG).

dialogAction

object (DialogAction)

Solo entrada. Es una respuesta a un evento de interacción relacionado con un diálogo. Debe ir acompañado de ResponseType.Dialog.

updatedWidget

object (UpdatedWidget)

Solo entrada. Es la respuesta del widget actualizado.

ResponseType

Es el tipo de respuesta de la app de Chat.

Enums
TYPE_UNSPECIFIED Es el tipo predeterminado que se controla como NEW_MESSAGE.
NEW_MESSAGE Publicar como un mensaje nuevo en el tema
UPDATE_MESSAGE Actualiza el mensaje de la app de Chat. Esto solo se permite en un evento CARD_CLICKED en el que el tipo de remitente del mensaje es BOT.
UPDATE_USER_MESSAGE_CARDS Actualiza las tarjetas en el mensaje de un usuario. Esto solo se permite como respuesta a un evento MESSAGE con una URL coincidente o un evento CARD_CLICKED en el que el tipo de remitente del mensaje es HUMAN. Se ignora el texto.
REQUEST_CONFIG Solicita de forma privada al usuario que realice una autenticación o configuración adicional.
DIALOG Presenta un diálogo.
UPDATE_WIDGET Consulta de opciones de autocompletado de texto del widget.

DialogAction

Contiene un diálogo y un código de estado de la solicitud.

Representación JSON
{
  "actionStatus": {
    object (ActionStatus)
  },

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "dialog": {
    object (Dialog)
  }
}
Campos
actionStatus

object (ActionStatus)

Solo entrada. Es el estado de una solicitud para invocar o enviar un diálogo. Muestra un estado y un mensaje a los usuarios, si es necesario. Por ejemplo, en caso de error o éxito.

Es la acción que se debe realizar. La siguiente es una lista de campos mutuamente excluyentes. Como máximo, se establecerá uno de los campos en una respuesta:
dialog

object (Dialog)

Solo entrada. Diálogo para la solicitud.

Fin de los campos mutuamente excluyentes.

Dialog

Es un wrapper alrededor del cuerpo de la tarjeta del diálogo.

Representación JSON
{
  "body": {
    object (Card)
  }
}
Campos
body

object (Card)

Solo entrada. Es el cuerpo del diálogo, que se renderiza en un modal. Las apps de Google Chat no admiten las siguientes entidades de tarjetas: DateTimePicker, OnChangeAction.

ActionStatus

Representa el estado de una solicitud para invocar o enviar un diálogo.

Representación JSON
{
  "statusCode": enum (Code),
  "userFacingMessage": string
}
Campos
statusCode

enum (Code)

Es el código de estado.

userFacingMessage

string

Es el mensaje que se enviará a los usuarios sobre el estado de su solicitud. Si no se configura, se envía un mensaje genérico basado en el statusCode.

Código

Son los códigos de error canónicos para las APIs de gRPC.

A veces, es posible que se apliquen varios códigos de error. Los servicios deben devolver el código de error más específico que corresponda. Por ejemplo, se prefiere OUT_OF_RANGE por sobre FAILED_PRECONDITION, si se aplican ambos códigos. Del mismo modo, se prefiere NOT_FOUND o ALREADY_EXISTS por sobre FAILED_PRECONDITION.

Enums
OK

No es un error; se muestra si la operación tuvo éxito.

Asignación HTTP: 200 OK

CANCELLED

La operación se canceló (por lo general, la cancela el emisor).

Asignación HTTP: 499 Solicitud cerrada por el cliente

UNKNOWN

Error desconocido. Por ejemplo, este error puede mostrarse cuando un valor Status recibido de otro espacio de direcciones pertenece a un espacio de error desconocido en este espacio de direcciones. Además, los errores generados por API que no muestran suficiente información sobre el error pueden convertirse en este error.

Asignación HTTP: 500 Error interno del servidor

INVALID_ARGUMENT

El cliente especificó un argumento no válido. Ten en cuenta que esto difiere de FAILED_PRECONDITION. INVALID_ARGUMENT indica los argumentos que son problemáticos sin importar el estado del sistema (p. ej., un nombre de archivo con formato incorrecto).

Asignación HTTP: 400 Solicitud incorrecta

DEADLINE_EXCEEDED

El plazo venció antes de que la operación se pudiera completar. En el caso de las operaciones que cambian el estado del sistema, es probable que se muestre este error incluso si la operación se completó correctamente. Por ejemplo, una respuesta correcta desde un servidor podría haberse retrasado lo suficiente como para que el plazo venciera.

Asignación HTTP: 504 Tiempo de espera de la puerta de enlace

NOT_FOUND

No se encontró alguna entidad solicitada (p. ej., un archivo o un directorio).

Nota para los desarrolladores de servidores: Si se niega una solicitud a una clase completa de usuarios, como el lanzamiento gradual de funciones o una lista de entidades permitidas no documentada, se puede usar NOT_FOUND. Si se niega una solicitud a algunos usuarios de una clase, como el control de acceso basado en usuarios, se debe usar PERMISSION_DENIED.

Asignación HTTP: 404 No encontrado

ALREADY_EXISTS

La entidad que un cliente intentó crear (p. ej., un archivo o un directorio) ya existe.

Asignación HTTP: 409 Conflicto

PERMISSION_DENIED

El emisor de la llamada no tiene permiso para ejecutar la operación especificada. No se debe usar PERMISSION_DENIED para los rechazos causados por el agotamiento de algún recurso (en su lugar, usa RESOURCE_EXHAUSTED para esos errores). No se debe usar PERMISSION_DENIED si no se puede identificar al emisor (en su lugar, usa UNAUTHENTICATED para esos errores). Este código de error no sugiere que la solicitud sea válida o que la entidad solicitada exista o satisfaga otras condiciones previas.

Asignación HTTP: 403 Prohibido

UNAUTHENTICATED

La solicitud no tiene credenciales de autenticación válidas para la operación.

Asignación HTTP: 401 No autorizado

RESOURCE_EXHAUSTED

Algunos recursos se agotaron, tal vez una cuota por usuario, o tal vez se agotó el espacio de todo el sistema de archivos.

Asignación HTTP: 429 Demasiadas solicitudes

FAILED_PRECONDITION

La operación se rechazó debido a que el sistema no se encuentra en un estado necesario para la ejecución de la operación. Por ejemplo, el directorio que se borrará no está vacío, se aplicará una operación rmdir a un directorio que no sea de directorio, etcétera.

Los implementadores de servicios pueden usar los siguientes lineamientos para decidir entre FAILED_PRECONDITION, ABORTED y UNAVAILABLE: (a) Usa UNAVAILABLE si el cliente puede reintentar solo la llamada con errores. (b) Usa ABORTED si el cliente debe reintentar en un nivel superior. Por ejemplo, cuando falla una prueba y un conjunto especificados por el cliente, lo que indica que este deberá reiniciar una secuencia de lectura, modificación y escritura. (c) Usa FAILED_PRECONDITION si el cliente no debe volver a intentar hasta que el estado del sistema se haya corregido de forma explícita. Por ejemplo, si un “rmdir” falla porque el directorio no está vacío, se debe mostrar FAILED_PRECONDITION, ya que el cliente no debe reintentar, a menos que se borren los archivos del directorio.

Asignación HTTP: 400 Solicitud incorrecta

ABORTED

La operación se anuló, generalmente debido a un problema de simultaneidad, como una falla en la verificación del secuenciador o la anulación de la transacción.

Consulta los lineamientos anteriores para decidir entre FAILED_PRECONDITION, ABORTED y UNAVAILABLE.

Asignación HTTP: 409 Conflicto

OUT_OF_RANGE

La operación se intentó fuera del rango válido. P. ej., buscar o leer el final del archivo.

A diferencia de INVALID_ARGUMENT, este error indica un problema que se puede solucionar si cambia el estado del sistema. Por ejemplo, un sistema de archivos de 32 bits generará INVALID_ARGUMENT si se le pide que lea en un desplazamiento que no esté en el rango [0,2^32-1], pero generará OUT_OF_RANGE si se le solicita que lea desde un desplazamiento superior al tamaño del archivo actual.

Hay una leve superposición entre FAILED_PRECONDITION y OUT_OF_RANGE. Recomendamos usar OUT_OF_RANGE (el error más específico) cuando sea necesario, de modo que los emisores que iteran por medio de un espacio puedan buscar de forma sencilla un error OUT_OF_RANGE y, de esta manera, detectar cuando finalicen.

Asignación HTTP: 400 Solicitud incorrecta

UNIMPLEMENTED

La operación no se implementó, no se admite o no está habilitada en este servicio.

Asignación HTTP: 501 No implementado

INTERNAL

Errores internos. Esto significa que algunos invariantes que espera el sistema subyacente están rotos. Este código de error está reservado para errores graves.

Asignación HTTP: 500 Error interno del servidor

UNAVAILABLE

El servicio no está disponible actualmente. Lo más probable es que esta sea una condición transitoria y que se pueda corregir si vuelves a intentar una retirada. Ten en cuenta que no siempre es seguro reintentar operaciones no idempotentes.

Consulta los lineamientos anteriores para decidir entre FAILED_PRECONDITION, ABORTED y UNAVAILABLE.

Asignación HTTP: 503 Servicio no disponible

DATA_LOSS

Daño o pérdida de datos no recuperable.

Asignación HTTP: 500 Error interno del servidor

UpdatedWidget

En el caso de los widgets selectionInput, devuelve sugerencias de autocompletar para un menú de selección múltiple.

Representación JSON
{
  "widget": string,

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "suggestions": {
    object (SelectionItems)
  }
}
Campos
widget

string

Es el ID del widget actualizado. El ID debe coincidir con el del widget que activó la solicitud de actualización.

El widget se actualizó en respuesta a una acción del usuario. La siguiente es una lista de campos mutuamente excluyentes. Como máximo, se establecerá uno de los campos en una respuesta:
suggestions

object (SelectionItems)

Lista de resultados de la función de autocompletar del widget

Fin de los campos mutuamente excluyentes.

SelectionItems

Lista de resultados de autocompletado del widget.

Representación JSON
{
  "items": [
    {
      object (SelectionItem)
    }
  ]
}
Campos
items[]

object (SelectionItem)

Es un array de objetos SelectionItem.

SlashCommand

Metadatos sobre un comando de barra en Google Chat.

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

string (int64 format)

Es el ID del comando de barra.

MatchedUrl

Una URL coincidente en un mensaje de Chat. Las apps de Chat pueden obtener una vista previa de las URLs que coinciden. Para obtener más información, consulta Obtén una vista previa de los vínculos.

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

string

Solo salida. Es la URL que coincidió.

EmojiReactionSummary

Es la cantidad de personas que reaccionaron a un mensaje con un emoji específico.

Representación JSON
{
  "emoji": {
    object (Emoji)
  },
  "reactionCount": integer
}
Campos
emoji

object (Emoji)

Solo salida. Es el emoji asociado con las reacciones.

reactionCount

integer

Solo salida. Es la cantidad total de reacciones con el emoji asociado.

DeletionMetadata

Información sobre un mensaje borrado. Un mensaje se borra cuando se establece deleteTime.

Representación JSON
{
  "deletionType": enum (DeletionType)
}
Campos
deletionType

enum (DeletionType)

Indica quién borró el mensaje.

DeletionType

Quién borró el mensaje y cómo lo hizo Es posible que se agreguen más valores en el futuro. Consulta Cómo editar o borrar un mensaje en Google Chat para obtener detalles sobre cuándo se pueden borrar los mensajes.

Enums
DELETION_TYPE_UNSPECIFIED Este valor no se usa.
CREATOR El usuario borró su propio mensaje.
SPACE_OWNER Un propietario o administrador borró el mensaje.
ADMIN Un administrador de Google Workspace borró el mensaje. Los administradores pueden borrar cualquier mensaje del espacio, incluidos los que envíen los miembros del espacio o las apps de Chat.
APP_MESSAGE_EXPIRY Una app de Chat borró su propio mensaje cuando venció.
CREATOR_VIA_APP Una app de Chat borró el mensaje en nombre del creador (con la autenticación del usuario).
SPACE_OWNER_VIA_APP Una app de Chat borró el mensaje en nombre de un administrador del espacio (con la autenticación del usuario).
SPACE_MEMBER Un miembro del espacio borró el mensaje. Los usuarios pueden borrar los mensajes que envían las apps.

QuotedMessageMetadata

Información sobre un mensaje que cita otro mensaje.

Cuando actualizas un mensaje, no puedes agregar ni reemplazar el campo quotedMessageMetadata, pero puedes quitarlo.

Para ver un ejemplo de uso, consulta Cómo citar otro mensaje.

Representación JSON
{
  "name": string,
  "lastUpdateTime": string,
  "quoteType": enum (QuoteType),
  "quotedMessageSnapshot": {
    object (QuotedMessageSnapshot)
  },
  "forwardedMetadata": {
    object (ForwardedMetadata)
  }
}
Campos
name

string

Obligatorio. Es el nombre del recurso del mensaje que se cita.

Formato: spaces/{space}/messages/{message}

lastUpdateTime

string (Timestamp format)

Obligatorio. La marca de tiempo de cuando se creó el mensaje citado o de cuando se actualizó por última vez.

Si se editó el mensaje, usa este campo, lastUpdateTime. Si el mensaje nunca se editó, usa createTime.

Si lastUpdateTime no coincide con la versión más reciente del mensaje citado, la solicitud falla.

quoteType

enum (QuoteType)

Opcional. Especifica el tipo de cita. Si no se establece, el valor predeterminado es REPLY en la ruta de acceso de lectura y escritura del mensaje para la retrocompatibilidad.

quotedMessageSnapshot

object (QuotedMessageSnapshot)

Solo salida. Es una instantánea del contenido del mensaje citado.

forwardedMetadata

object (ForwardedMetadata)

Solo salida. Son los metadatos sobre el espacio de origen del mensaje citado. Solo se completa para el tipo de cotización FORWARD.

QuoteType

Es el tipo de cita del mensaje citado.

Enums
QUOTE_TYPE_UNSPECIFIED Reservados. Este valor no se usa.
REPLY

Cuando quoteType es REPLY, puedes hacer lo siguiente:

  • Si respondes en una conversación, puedes citar otro mensaje de esa conversación.

  • Si estás creando un mensaje raíz, puedes citar otro mensaje raíz en ese espacio.

FORWARD

Cuando quoteType es FORWARD, puedes citar lo siguiente:

  • Mensaje de un espacio diferente.

  • Respuesta de un mensaje de un hilo diferente en el mismo espacio.

QuotedMessageSnapshot

Proporciona una instantánea del contenido del mensaje citado en el momento de citarlo o reenviarlo.

Representación JSON
{
  "sender": string,
  "text": string,
  "formattedText": string,
  "annotations": [
    {
      object (Annotation)
    }
  ],
  "attachments": [
    {
      object (Attachment)
    }
  ]
}
Campos
sender

string

Solo salida. El nombre del autor del mensaje citado. Se completa para los tipos de cita REPLY y FORWARD.

text

string

Solo salida. Instantánea del contenido de texto del mensaje citado.

formattedText

string

Solo salida. Contiene el mensaje citado text con lenguaje de marcado agregado para admitir el formato enriquecido, como hipervínculos, emojis personalizados, lenguaje de marcado, etcétera. Solo se completa para el tipo de cita FORWARD.

annotations[]

object (Annotation)

Solo salida. Son las anotaciones analizadas a partir del cuerpo del texto del mensaje citado. Solo se completa para el tipo de cotización FORWARD.

attachments[]

object (Attachment)

Solo salida. Archivos adjuntos que formaban parte del mensaje citado Estas son copias de los metadatos de los archivos adjuntos del mensaje citado. Solo se completa para el tipo de cotización FORWARD.

ForwardedMetadata

Son los metadatos sobre el espacio de origen desde el que se reenvió un mensaje.

Representación JSON
{
  "space": string,
  "spaceDisplayName": string
}
Campos
space

string

Solo salida. Es el nombre del recurso del espacio de origen. Formato: spaces/{space}

spaceDisplayName

string

Solo salida. Es el nombre visible del espacio o MD de origen en el momento del reenvío. En el caso de SPACE, este es el nombre del espacio. En el caso de DIRECT_MESSAGE, este es el nombre del otro participante (p.ej., "Usuario A"). En el caso de GROUP_CHAT, se trata de un nombre generado a partir de los nombres de los miembros, con un límite de 5, incluido el creador (p.ej., "Usuario A, Usuario B").

AttachedGif

Es una imagen GIF que se especifica con una URL.

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

string

Solo salida. Es la URL que aloja la imagen GIF.

AccessoryWidget

Son uno o más widgets interactivos que aparecen en la parte inferior de un mensaje. Para obtener más información, consulta Agrega widgets interactivos en la parte inferior de un mensaje.

Representación JSON
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "buttonList": {
    object (ButtonList)
  }
}
Campos
Es el tipo de acción. La siguiente es una lista de campos mutuamente excluyentes. Como máximo, se establecerá uno de los campos en una respuesta:
buttonList

object (ButtonList)

Es una lista de botones.

Fin de los campos mutuamente excluyentes.

Elementos

Los elementos son componentes adicionales que pueden o no estar asociados con el texto del mensaje proporcionado durante su creación.

Representación JSON
{
  "citedSources": [
    {
      object (CitedSource)
    }
  ],
  "citations": [
    {
      object (Citation)
    }
  ]
}
Campos
citedSources[]

object (CitedSource)

Es una lista de fuentes que se mostrarán debajo del mensaje como vínculos de pie de página. No se hace referencia a ellas de forma intercalada. Para las referencias intercaladas, usa citations.

citations[]

object (Citation)

Es una lista de citas intercaladas a las que se hace referencia en el texto del mensaje (a través de etiquetas <chat-citation>) que se renderizan como tarjetas emergentes interactivas.

CitedSource

Es una referencia a una fuente de información.

Representación JSON
{
  "title": string,
  "uri": string,
  "snippet": {
    object (Snippet)
  },
  "footer": {
    object (Footer)
  }
}
Campos
title

string

Obligatorio. Es el título en texto simple del CitedSource. Este campo no admite formato.

uri

string

Obligatorio. Es el URI que apunta al recurso al que hace referencia este CitedSource.

snippet

object (Snippet)

Opcional. Fragmento que contiene información directamente de la fuente.

footer

object (Footer)

Opcional. Información adicional que se muestra junto con el fragmento en forma de pie de página.

Fragmento

Es un objeto de fragmento que representa un extracto de un corpus más grande.

Representación JSON
{
  "text": string,
  "imagePreview": {
    object (ElementsImage)
  }
}
Campos
text

string

Opcional. Un breve extracto de texto sin formato directamente del corpus que se puede renderizar en Chat. No admite el formato Markdown.

imagePreview

object (ElementsImage)

Opcional. Vista previa de la imagen del fragmento proporcionado como entrada cuando se crea la cita.

ElementsImage

Es un objeto que encapsula diferentes formas de representar una imagen. Representaciones admitidas actualmente: - Una imagen recuperada de un URI. Es posible que se admitan representaciones adicionales en el futuro.

Representación JSON
{

  "imageUri": string
}
Campos
Obligatorio. Es una de las representaciones de imágenes admitidas. La siguiente es una lista de campos mutuamente excluyentes. Como máximo, se establecerá uno de los campos en una respuesta:
imageUri

string

Obligatorio. Un URI de acceso público para una imagen.

Fin de los campos mutuamente excluyentes.

Un pie de página para una fuente, que se usa para la atribución.

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

string

Opcional. Es el texto que se mostrará en el pie de página.

Cita

Las citas son referencias intercaladas que pueden proporcionar a los usuarios información más detallada sobre la referencia intercalada. Las citas intercaladas correspondientes deben estar presentes en el texto del mensaje en un formato de lenguaje de marcado de <chat-citation data-id="{id}">{text}</chat-citation>. Las citas solo se admiten cuando el markupSyntax del mensaje se establece en MARKDOWN.

Se ignoran las citas sin referencia en Elements.citations (aquellas que no tienen una etiqueta <chat-citation> coincidente en el texto del mensaje) y no provocan que se rechace el mensaje.

Representación JSON
{
  "id": string,
  "citedSources": [
    {
      object (CitedSource)
    }
  ]
}
Campos
id

string

Obligatorio. Es el ID definido por la app. Solo debe contener letras y números ASCII, y menos de 63 caracteres.

citedSources[]

object (CitedSource)

Opcional. Es una lista de fuentes que son relevantes para la cita. Las fuentes se muestran en la tarjeta emergente de la cita.

MarkupSyntax

Especifica la sintaxis de lenguaje de marcado que se usa para dar formato al texto del mensaje de Chat. Se aplica al campo text del recurso Message.

Enums
MARKUP_SYNTAX_UNSPECIFIED Representa el valor no especificado.
MARKUP_SYNTAX_CHAT Usa la sintaxis de lenguaje de marcado de Google Chat. Consulta https://developers.google.com/workspace/chat/format-messages#format-texts para obtener más información.
MARKUP_SYNTAX_MARKDOWN Usa la sintaxis de Markdown. Esta sintaxis se basa en la especificación de CommonMark, con extensiones adicionales. Consulta https://developers.google.com/workspace/chat/format-messages#format-texts para obtener más información.

Métodos

create

Crea un mensaje en un espacio de Google Chat.

delete

Borra un mensaje.

get

Muestra detalles sobre un mensaje.

list

Muestra los mensajes de un espacio del que el emisor es miembro, incluidos los mensajes de miembros y espacios bloqueados.

patch

Actualiza un mensaje.

replaceCards

Reemplaza las tarjetas incluidas en un mensaje.
Busca mensajes en Google Chat a los que tiene acceso el usuario que realiza la llamada.

update

Actualiza un mensaje.