Visão geral das mensagens do Google Chat

Nesta página, explicamos as diferenças entre mensagens de texto e de card.

Quando apps de chat enviam mensagens de texto para transmitir informações básicas, as mensagens aparecem inline, assim como as pessoas no Google Chat escrevem e envio de mensagens. Para criar mensagens que contenham mais de texto ou para criar mensagens com as quais os usuários podem interagir, os apps do Chat podem usar cards. Os apps de chat também podem anexar uma mensagem de texto com um card. Para solicitar que os usuários concluam processos de várias etapas, como preencher um formulário, Os apps de chat também podem criar cards que abrem em uma nova janela, caixas de diálogo.

Anatomia de uma mensagem de texto

Na API Google Chat, as mensagens são representadas como objetos JSON. Dentro de uma mensagem, uma mensagem de texto é representada como text objeto.

Nos seguintes exemplo, um app do Chat cria uma mensagem de texto em um espaço para uma equipe de desenvolvedores de software ao qual o congelamento de código está se aproximando:

{
  "text": "Attention <users/all>: Code freeze starts at `11:59 am` Pacific Standard Time! If you need a little more time, type `/moreTime` and I'll push the code freeze back one hour."
}

O JSON retorna a seguinte mensagem:

Exemplo de mensagem de texto no Google Chat anunciando o congelamento do código.

Anatomia de uma mensagem do card

Na API Google Chat, as mensagens são representadas como objetos JSON. Em uma mensagem uma carta é representada cardsV2 e consiste no seguinte:

  • Um ou mais objetos CardWithId.
  • Um cardId, usado para identificar o card e com escopo em uma determinada mensagem. Cartões em mensagens diferentes podem ter o mesmo código.
  • Um objeto card, que consiste no seguinte:

    • Um objeto header que especifica itens como título, subtítulo e imagem em estilo de avatar.
    • Um ou mais Objetos section que contenham pelo menos um widget.
    • Um ou mais objetos widget. Cada widget é um objeto composto que pode representar texto, imagens, botões e outros tipos de objetos.

Como exemplo, a seguinte mensagem do cartão contém header, section e Objetos widget:

Um app do Chat executando uma enquete em um Chat
espaço usando um cartão
mensagem

O código a seguir representa o JSON da mensagem do cartão:

JSON

{
  "cardsV2": [
    {
      "cardId": "unique-card-id",
      "card": {
        "header": {
          "title": "Sasha",
          "subtitle": "Software Engineer",
          "imageUrl": "https://developers.google.com/chat/images/quickstart-app-avatar.png",
          "imageType": "CIRCLE",
          "imageAltText": "Avatar for Sasha"
        },
        "sections": [
          {
            "header": "Contact Info",
            "collapsible": true,
            "uncollapsibleWidgetsCount": 1,
            "widgets": [
              {
                "decoratedText": {
                  "startIcon": {
                    "knownIcon": "EMAIL"
                  },
                  "text": "sasha@example.com"
                }
              },
              {
                "decoratedText": {
                  "startIcon": {
                    "knownIcon": "PERSON"
                  },
                  "text": "<font color=\"#80e27e\">Online</font>"
                }
              },
              {
                "decoratedText": {
                  "startIcon": {
                    "knownIcon": "PHONE"
                  },
                  "text": "+1 (555) 555-1234"
                }
              },
              {
                "buttonList": {
                  "buttons": [
                    {
                      "text": "Share",
                      "onClick": {
                        "openLink": {
                          "url": "https://example.com/share"
                        }
                      }
                    },
                    {
                      "text": "Edit",
                      "onClick": {
                        "action": {
                          "function": "goToView",
                          "parameters": [
                            {
                              "key": "viewType",
                              "value": "EDIT"
                            }
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            ]
          }
        ]
      }
    }
  ]
}


Use o Card Builder para criar e visualizar mensagens de cards JSON para apps do Chat:

Abrir o Card Builder