Présentation des messages Google Chat

Cette page explique les différences entre les messages de texte et de carte.

Lorsque les applications Chat envoient des messages texte pour transmettre des informations de base, ils s'affichent en ligne, comme dans Google Chat. Pour créer des messages contenant plus de texte ou avec lesquels les utilisateurs peuvent interagir, les applications de chat peuvent utiliser des fiches. Les applications de chat peuvent également ajouter une carte à un message texte. Pour inviter les utilisateurs à terminer des processus en plusieurs étapes, comme remplir un formulaire, les applications Chat peuvent également créer des fiches qui s'ouvrent dans une nouvelle fenêtre en tant que boîtes de dialogue.

Anatomie d'un message

Dans l'API Google Chat, les messages sont représentés sous la forme d'objets JSON. Dans un message, un message texte est représenté par un objet text.

Dans l'exemple suivant, une application Chat crée un message texte dans un espace pour avertir une équipe de développeurs logiciels qu'un gel de code approche:

{
  "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."
}

Le JSON renvoie le message suivant:

Exemple de message envoyé par Google Chat pour annoncer le blocage du code

Anatomie d'un message avec carte

Dans l'API Google Chat, les messages sont représentés sous la forme d'objets JSON. Dans un message, une fiche est représentée par un tableau cardsV2 et se compose des éléments suivants:

  • Un ou plusieurs objets CardWithId.
  • Un cardId, utilisé pour identifier la fiche et son champ d'application dans un message donné. (Les fiches de différents messages peuvent avoir le même ID.)
  • Un objet card, qui se compose des éléments suivants:

    • Un objet header qui spécifie des éléments tels qu'un titre, un sous-titre et une image de style avatar.
    • Un ou plusieurs objets section contenant chacun au moins un widget.
    • Un ou plusieurs objets widget. Chaque widget est un objet composite pouvant représenter du texte, des images, des boutons et d'autres types d'objets.

Par exemple, le message de fiche suivant contient des objets header, section et widget:

Une application Chat exécutant un sondage dans un espace Chat à l&#39;aide d&#39;un message de carte

Le code suivant représente le code JSON du message de la fiche:

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"
                            }
                          ]
                        }
                      }
                    }
                  ]
                }
              }
            ]
          }
        ]
      }
    }
  ]
}


Utilisez Card Builder pour concevoir et prévisualiser les interfaces de messagerie et utilisateur des applications Chat:

Ouvrir l'outil de création de cartes