#Вложения (ATTACH-блоки)
Расширенное оформление сообщения — карточки, таблицы поле-значение, изображения, файлы и разделители. Передаётся в поле attach вместе с message.
attach — массив блоков. Каждый блок: объект с одним ключом-типом. Текстовый блок MESSAGE принимает строку, остальные блоки — массив объектов с полями.
#Типы блоков
#MESSAGE — текст
Строка с текстом. Поддерживает BB-коды.
JSON
{ "MESSAGE": "Статус задачи обновлён" }
#GRID — таблица поле-значение
| Поле |
Тип |
Описание |
NAME |
string |
Название поля |
VALUE |
string |
Значение поля |
DISPLAY |
string |
Размещение: LINE (в строку), BLOCK, ROW |
WIDTH |
integer |
Ширина столбца в пикселях |
JSON
{ "GRID": [
{ "NAME": "Задача", "VALUE": "Подготовить отчёт", "DISPLAY": "LINE" },
{ "NAME": "Статус", "VALUE": "Выполнено", "DISPLAY": "LINE" }
] }
#LINK — превью ссылки
| Поле |
Тип |
Описание |
NAME |
string |
Заголовок ссылки |
LINK |
string |
URL |
DESC |
string |
Описание |
PREVIEW |
string |
URL изображения-превью |
JSON
{ "LINK": [{ "NAME": "Документация", "LINK": "https://example.com/docs", "DESC": "Справочник API" }] }
#IMAGE — изображение
| Поле |
Тип |
Описание |
LINK |
string |
URL изображения |
NAME |
string |
Подпись |
PREVIEW |
string |
URL превью |
WIDTH |
integer |
Ширина в пикселях |
HEIGHT |
integer |
Высота в пикселях |
JSON
{ "IMAGE": [{ "LINK": "https://example.com/chart.png", "NAME": "График продаж", "WIDTH": 600, "HEIGHT": 400 }] }
#FILE — файл
| Поле |
Тип |
Описание |
LINK |
string |
URL файла |
NAME |
string |
Имя файла |
SIZE |
integer |
Размер в байтах |
JSON
{ "FILE": [{ "LINK": "https://example.com/report.pdf", "NAME": "report.pdf", "SIZE": 2048576 }] }
#USER — карточка пользователя
| Поле |
Тип |
Описание |
NAME |
string |
Имя пользователя |
AVATAR |
string |
URL аватара |
LINK |
string |
URL профиля |
JSON
{ "USER": [{ "NAME": "Иван Петров", "LINK": "https://example.com/u/42" }] }
#DELIMITER — линия-разделитель
| Поле |
Тип |
Описание |
SIZE |
integer |
Ширина в пикселях |
COLOR |
string |
Цвет в шестнадцатеричном формате |
JSON
{ "DELIMITER": [{ "SIZE": 200, "COLOR": "#c6c6c6" }] }
#Полный пример
JSON
{
"message": "Отчёт по задаче",
"attach": [
{ "MESSAGE": "[B]Статус задачи обновлён[/B]" },
{ "DELIMITER": [{}] },
{ "GRID": [
{ "NAME": "Задача", "VALUE": "Подготовить отчёт", "DISPLAY": "LINE" },
{ "NAME": "Статус", "VALUE": "Выполнено", "DISPLAY": "LINE" }
] },
{ "LINK": [{ "NAME": "Открыть задачу", "LINK": "https://example.com/tasks/42" }] }
]
}
#Смотрите также