Esta página oferece uma visão geral de como criar interfaces do usuário (IUs) para complementos do Google Workspace que estendem o Google Chat.
No Google Chat, os complementos aparecem para os usuários como apps do Google Chat. Para saber mais, consulte a Visão geral do Extend Google Chat.
Para criar interfaces para apps de chat, use os seguintes componentes complementares:
- Gatilhos: as maneiras como os usuários do Google Chat podem invocar um app do Chat, como adicionar o app a um espaço ou enviar uma mensagem.
- Objetos de evento: os dados que os apps do Chat recebem de acionadores ou interações da interface.
- Ações: as maneiras como os apps de chat podem responder a interações, como enviar mensagens ou retornar uma interface do usuário baseada em cards.
Os apps de chat podem criar e mostrar cards nas seguintes interfaces:
- Mensagens que podem conter texto, cards estáticos ou interativos e botões.
- Caixas de diálogo, que são cards que se abrem em uma nova janela e geralmente solicitam que os usuários enviem informações.
- Visualizações de links, que são cards que mostram informações sobre um serviço externo.
Gatilhos
Esta seção explica os acionadores que os complementos do Google Workspace usam no Chat.
Os acionadores são as maneiras específicas de os usuários invocarem um app do Chat usando a interface do Chat, como @menções ou comandos do app.
A tabela a seguir mostra gatilhos do Chat, uma descrição e como os apps do Chat normalmente respondem:
Gatilho | Descrição | Resposta típica |
---|---|---|
Adicionado ao espaço |
Um usuário adiciona o app Chat a um espaço ou um administrador do Google Workspace instala o app Chat em espaços de mensagens diretas para os usuários da organização. Para saber mais sobre os apps do Chat instalados por administradores, consulte Instalar apps do Marketplace no seu domínio na documentação de ajuda do administrador do Google Workspace. |
O app Chat envia uma mensagem de integração que explica o que ele faz e como os usuários no espaço podem interagir com ele. |
Mensagem |
Um usuário interage com o app Chat em uma mensagem de uma das seguintes maneiras:
|
O
app de chat responde com base no conteúdo da
mensagem. Por exemplo, um app de chat responde ao comando /about com uma mensagem que explica as tarefas que o app pode realizar.
|
Removido do espaço |
Um usuário remove o app Chat de um espaço ou um administrador do Google Workspace desinstala o app Chat para um usuário na organização. Os usuários não podem remover os apps do Chat que foram instalados pelo administrador. Se um usuário já tiver instalado o app Chat, ele vai continuar instalado, mesmo que um administrador do Google Workspace tente desinstalá-lo. |
O app Chat remove todas as notificações recebidas configuradas para o espaço (como a exclusão de um webhook) e limpa o armazenamento interno. Os apps de chat não podem responder com mensagens a esse acionador porque não são mais membros do espaço. |
Comando do app |
Um usuário usa um comando rápido ou um comando de barra no app Chat. |
O app Chat responde ao comando. Por exemplo, responde com uma mensagem ou abre uma caixa de diálogo. |
Ao contrário de outros complementos do Google Workspace, é necessário configurar todas as funções de callback para esses acionadores usando a API Google Chat. Para mais orientações, consulte Configurar um app do Google Chat.
Para responder a um gatilho, consulte estes guias:
- Enviar mensagens do Google Chat
- Abrir caixas de diálogo interativas
- Visualizar links em mensagens do Google Chat
Objetos de evento
Esta seção define e explica todos os elementos dos objetos de evento de chat. Para saber mais, consulte Objetos de evento.
Objeto de evento | |
---|---|
commonEventObject |
object
(CommonEventObject)
Um objeto que contém informações comuns a todos os objetos de evento, independente do aplicativo host. |
chat |
object
(Chat)
Um objeto que contém todas as informações sobre as interações do Chat. |
Chat
Chat | |
---|---|
chat.user |
object
(User)
O usuário que interagiu com o app Chat. |
chat.space |
object
(Space)
O espaço do Chat em que um usuário interagiu com o app do Chat. |
chat.eventTime |
|
Campo de união
|
|
chat.messagePayload |
O payload que os apps do Chat recebem de um acionador de mensagem. |
chat.addedToSpacePayload |
O payload que os apps do Chat recebem de um acionador Adicionado ao espaço. |
chat.removedFromSpacePayload |
O payload que os apps do Chat recebem de um acionador Removed from space. |
chat.buttonClickedPayload |
O payload que os apps do Chat recebem quando os usuários clicam
em um botão de uma mensagem ou card. Se um usuário clicar em um botão para enviar
informações, o objeto |
chat.widgetUpdatedPayload |
O payload que os apps de chat recebem quando os usuários
digitam texto no menu de seleção múltipla de um
widget
O objeto
|
chat.appCommandPayload |
O payload que os apps de chat recebem quando um usuário usa um comando do app. |
Payload
Dependendo do tipo de interação, o evento contém um payload com um ou mais recursos da API Chat.
Payload da mensagem
MessagePayload | |
---|---|
chat.messagePayload.message |
object
(Message)
A mensagem do Chat que acionou o evento. |
chat.messagePayload.space |
object
(Space)
O espaço do Chat em que um usuário enviou a mensagem que invocou o app Chat. |
Adicionado ao payload do espaço
AddedToSpacePayload | |
---|---|
chat.addedToSpacePayload.space |
object
(Space)
O espaço do Chat em que o usuário adicionou ou instalou o app do Chat. Quando os administradores instalam apps do Chat, o campo |
chat.addedToSpacePayload.interactionAdd |
boolean Informa se um usuário adiciona o app do Chat a um espaço usando uma mensagem. Por exemplo, @menciona o app Chat ou usa um comando de barra. Se true , o Chat envia outro objeto de evento com
um messagePayload que contém informações sobre a mensagem.
|
Removido do payload do espaço
RemovedFromSpacePayload | |
---|---|
chat.removedFromSpacePayload.space |
object
(Space)
O espaço do Chat em que o usuário removeu ou desinstalou o app Chat. Quando os administradores desinstalam apps do Chat, o campo |
Payload do botão clicado
ButtonClickedPayload | |
---|---|
chat.buttonClickedPayload.message |
object
(Message)
A mensagem de chat que contém o botão em que um usuário clicou. |
chat.buttonClickedPayload.space |
object
(Space)
O espaço do Chat em que o usuário clicou em um botão de uma mensagem do app do Chat. |
chat.buttonClickedPayload.isDialogEvent |
boolean Indica se o usuário clicou no botão para interagir com uma caixa de diálogo. |
chat.buttonClickedPayload.dialogEventType |
enum (DialogEventType) Se isDialogEvent for true , o tipo de
interação em um diálogo.
|
Enum O valor de |
|
TYPE_UNSPECIFIED |
Valor padrão. Não especificado. |
REQUEST_DIALOG |
Um usuário solicita uma caixa de diálogo. Por exemplo, eles usam um comando de barra ou clicam em um botão de uma mensagem. |
SUBMIT_DIALOG |
Um usuário clica em um elemento interativo em uma caixa de diálogo. Por exemplo, um usuário preenche informações em uma caixa de diálogo e clica em um botão para enviar as informações. |
Payload atualizado do widget
WidgetUpdatedPayload | |
---|---|
chat.widgetUpdatedPayload.space |
object
(Space)
O espaço do Chat em que a interação ocorreu. |
Payload do comando do app
AppCommandPayload | |
---|---|
chat.appCommandPayload.appCommandMetadata |
object
(AppCommandMetadata)
Metadados sobre qual comando o usuário usou e como ele acionou o comando. |
chat.appCommandPayload.space |
object
(Space)
O espaço do Chat em que um usuário usou o comando. |
chat.appCommandPayload.thread |
object
(Thread)
Se a interação ocorreu em uma linha de execução, a linha de execução do chat em que o usuário usou o comando. |
chat.appCommandPayload.message |
object
(Message)
A mensagem que o usuário enviou com o comando de barra. |
chat.appCommandPayload.configCompleteRedirectUri |
string Se for necessária autorização ou configuração para o comando, um URL para redirecionar o usuário depois que ele concluir o processo fora do Google Chat. |
chat.appCommandPayload.isDialogEvent |
boolean Indica se o comando abre uma caixa de diálogo. |
chat.appCommandPayload.dialogEventType |
enum (DialogEventType) Tipo de interação com uma caixa de diálogo. |
Enum O valor de |
|
TYPE_UNSPECIFIED |
Valor padrão. Não especificado. |
REQUEST_DIALOG |
Um usuário solicita uma caixa de diálogo. Por exemplo, eles usam um comando de barra ou clicam em um botão de uma mensagem. |
SUBMIT_DIALOG |
Um usuário clica em um elemento interativo em uma caixa de diálogo. Por exemplo, um usuário preenche informações em uma caixa de diálogo e clica em um botão para enviar as informações. |
Metadados de comando do app
AppCommandMetadata | |
---|---|
chat.appCommandPayload.appCommandMetadata.appCommandId |
O ID do comando. |
chat.appCommandPayload.appCommandMetadata.appCommandType |
enum (AppCommandType) O tipo de comando. |
Enum O valor de |
|
APP_COMMAND_TYPE_UNSPECIFIED |
Valor padrão. Não especificado. |
SLASH_COMMAND |
Um usuário usa o comando enviando uma mensagem que começa com um
caractere de barra / . |
Ações no chat
Esta seção explica como os apps de chat podem usar ações complementares para responder às interações do usuário.
Para responder com uma ação complementar, um app de chat precisa responder em até 30 segundos, e a resposta precisa ser postada no espaço em que a interação ocorreu. Caso contrário, o app de chat precisa configurar a autenticação e chamar a API Google Chat para responder.
Os apps de chat podem processar e responder às interações de várias maneiras. Em muitos casos, os apps de chat respondem com uma mensagem. Os apps de chat também podem pesquisar algumas informações de uma fonte de dados, registrar as informações do objeto do evento ou qualquer outra coisa. Esse comportamento de processamento é essencialmente o que define o app Google Chat.
Para responder às interações do usuário, os apps de chat precisam processar o objeto de evento correspondente e retornar um dos seguintes objetos JSON:
DataActions
: cria ou atualiza dados do Google Workspace. Para enviar ou atualizar mensagens de chat, o objeto precisa conter a marcação que define as mudanças nos dadosMessage
, representados comochatDataActionMarkup
.RenderActions
: exibe ou navega entre cards em mensagens e diálogos.basic_authorization_prompt
: solicita que os usuários usem um cartão de autorização para fazer login ou autenticar em um serviço externo ao Google. Saiba mais em Conectar o complemento do Google Workspace a um serviço de terceiros.
Resposta desejada do app de chat | Ação necessária para a devolução |
---|---|
Enviar ou atualizar uma mensagem. | DataActions |
Abrir, atualizar ou fechar uma caixa de diálogo. | RenderActions |
Para coletar informações de um card ou diálogo, sugira itens de seleção com base no que os usuários digitam em um menu de múltipla seleção. | RenderActions |
Link de visualização em mensagens que os usuários do Chat enviam em um espaço. | DataActions |
Responder usando a API Google Chat
Em vez de retornar uma ação de complemento, os apps de chat talvez precisem usar a API Google Chat para responder a uma interação. Por exemplo, os apps de chat precisam chamar a API Google Chat para fazer o seguinte:
- Responda a uma interação após 30 segundos.
- Realizar tarefas fora do espaço em que a interação ocorreu.
- Realizar tarefas no Chat que não estão disponíveis como ações complementares. Por exemplo, liste os espaços em que um usuário ou app do Chat é participante ou adicione usuários a espaços.
- Executar tarefas em nome do usuário do Chat (o que exige a autenticação do usuário).
Para saber como autenticar e chamar a API Chat, consulte a Visão geral da API Chat.