На этой странице объясняется разница между текстовыми сообщениями и открытками.
Когда приложения для чата отправляют текстовые сообщения для передачи основной информации, сообщения отображаются непосредственно в тексте, как и сообщения в Google Chat. Для создания сообщений, содержащих не только текст, или сообщений, с которыми пользователи могут взаимодействовать, приложения для чата могут использовать карточки . Приложения для чата также могут добавлять текстовое сообщение к карточке. Чтобы предложить пользователям завершить многоэтапные процессы, такие как заполнение формы, приложения для чата также могут создавать карточки, которые открываются в новом окне в виде диалоговых окон .
Анатомия текстового сообщения
В Google Chat API сообщения представляются в виде объектов JSON. Внутри сообщения текстовое сообщение представляется в виде text объекта.
В следующем примере приложение «Чат» создает текстовое сообщение в рабочем пространстве для команды разработчиков программного обеспечения о приближении моратория на внесение изменений в код:
{
"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."
}
В результате выполнения запроса JSON возвращается следующее сообщение:

Анатомия поздравительного сообщения
В Google Chat API сообщения представляются в виде объектов JSON. Внутри сообщения карточка представлена массивом cardsV2 и состоит из следующих элементов:
- Один или несколько объектов
CardWithId. - Идентификатор
cardIdиспользуется для идентификации карты и ограничен рамками данного сообщения. (Карты в разных сообщениях могут иметь один и тот же идентификатор.) Объект
card, состоящий из следующих элементов:- Объект
header, который определяет такие параметры, как заголовок, подзаголовок и изображение в стиле аватара. - Один или несколько объектов
section, каждый из которых содержит как минимум один виджет. - Один или несколько
widget. Каждый виджет представляет собой составной объект, который может отображать текст, изображения, кнопки и другие типы объектов.
- Объект
В качестве примера, следующее сообщение в карточке содержит объекты header , section и widget :

Следующий код представляет собой JSON-код сообщения на открытке:
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"
}
]
}
}
}
]
}
}
]
}
]
}
}
]
}
Используйте конструктор карточек для разработки и предварительного просмотра сообщений и пользовательских интерфейсов для чат-приложений:
Откройте конструктор карточек.