Method: spaces.messages.create

Cria uma mensagem em um espaço do Google Chat. Confira um exemplo em Enviar uma mensagem.

O método create() requer a autenticação do usuário ou a autenticação do app. O Chat atribui o remetente da mensagem de maneira diferente, dependendo do tipo de autenticação usado na solicitação.

A imagem a seguir mostra como o Chat atribui uma mensagem quando você usa a autenticação de app. O Chat mostra o app como o remetente da mensagem. O conteúdo da mensagem pode ter texto (text), cards (cardsV2) e widgets de acessório (accessoryWidgets).

Mensagem enviada com autenticação de app

A imagem a seguir mostra como o Chat atribui uma mensagem quando você usa a autenticação do usuário. O Chat mostra o usuário como o remetente da mensagem e atribui o app Chat à mensagem mostrando o nome dele. O conteúdo da mensagem só pode conter texto (text).

Mensagem enviada com autenticação do usuário

O tamanho máximo da mensagem, incluindo o conteúdo, é de 32.000 bytes.

Para solicitações de webhook, a resposta não contém a mensagem completa. A resposta preenche apenas os campos name e thread.name, além das informações que estavam na solicitação.

Solicitação HTTP

POST https://chat.googleapis.com/v1/{parent=spaces/*}/messages

O URL usa a sintaxe de transcodificação gRPC.

Parâmetros de caminho

Parâmetros
parent

string

Obrigatório. O nome do recurso do espaço em que uma mensagem será criada.

Formato: spaces/{space}

Parâmetros de consulta

Parâmetros
threadKey
(deprecated)

string

Opcional. Obsoleto: use thread.thread_key. ID da linha de execução. Aceita até 4.000 caracteres. Para iniciar ou adicionar itens a uma conversa, crie uma mensagem e especifique o threadKey ou o thread.name. Para conferir um exemplo de uso, consulte Iniciar ou responder a uma conversa.

requestId

string

Opcional. Um ID de solicitação exclusivo para esta mensagem. Especificar um ID de solicitação existente retorna a mensagem criada com esse ID, em vez de criar uma nova mensagem.

messageReplyOption

enum (MessageReplyOption)

Opcional. Especifica se uma mensagem inicia uma conversa ou responde a uma. Somente compatível com espaços nomeados.

Esse campo é ignorado ao responder a interações do usuário. Para interações em uma conversa, a resposta é criada na mesma conversa. Caso contrário, a resposta será criada como uma nova linha de execução.

messageId

string

Opcional. Um ID personalizado para uma mensagem. Permite que os apps do Chat recebam, atualizem ou excluam uma mensagem sem precisar armazenar o ID atribuído pelo sistema no nome do recurso da mensagem (representado no campo name da mensagem).

O valor desse campo precisa atender aos seguintes requisitos:

  • Começa com client-. Por exemplo, client-custom-name é um ID personalizado válido, mas custom-name não é.
  • Contém até 63 caracteres e apenas letras minúsculas, números e hifens.
  • É exclusivo em um espaço. Um app de chat não pode usar o mesmo ID personalizado para mensagens diferentes.

Confira mais detalhes em Nomear uma mensagem.

Corpo da solicitação

O corpo da solicitação contém uma instância de Message.

Corpo da resposta

Se a solicitação for bem-sucedida, o corpo da resposta incluirá uma instância de Message.

Escopos de autorização

Requer um dos seguintes escopos do OAuth:

  • https://www.googleapis.com/auth/chat.bot
  • https://www.googleapis.com/auth/chat.import
  • https://www.googleapis.com/auth/chat.messages
  • https://www.googleapis.com/auth/chat.messages.create

Para mais informações, consulte o guia de autorização.

MessageReplyOption

Especifica como responder a uma mensagem. Mais estados podem ser adicionados no futuro.

Enums
MESSAGE_REPLY_OPTION_UNSPECIFIED Padrão. Inicia um novo thread. O uso dessa opção ignora qualquer thread ID ou threadKey incluído.
REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD Cria a mensagem como uma resposta à conversa especificada por thread ID ou threadKey. Se ela falhar, a mensagem vai iniciar uma nova linha de execução.
REPLY_MESSAGE_OR_FAIL Cria a mensagem como uma resposta à conversa especificada por thread ID ou threadKey. Se um novo threadKey for usado, uma nova linha de execução será criada. Se a criação da mensagem falhar, um erro NOT_FOUND será retornado.