#ATTACH-блоки
Расширенное форматирование сообщений через поле fields.attach. Максимальный размер — 60 000 символов после сериализации.
#Два формата передачи
Полный формат (с метаданными):
JSON
{
"fields": {
"attach": {
"ID": 1,
"COLOR_TOKEN": "primary",
"COLOR": "#29619b",
"BLOCKS": [
{ "MESSAGE": [{ "MESSAGE": "Текст блока", "STYLE": "bold" }] },
{ "DELIMITER": [{ "SIZE": 200, "COLOR": "#c6c6c6" }] }
]
}
}
}
Сокращённый формат (массив блоков):
JSON
{
"fields": {
"attach": [
{ "MESSAGE": [{ "MESSAGE": "Текст блока", "STYLE": "bold" }] },
{ "DELIMITER": [{}] },
{ "GRID": [{ "NAME": "Поле", "VALUE": "Значение" }] }
]
}
}
Если в attach нет ключа BLOCKS, сервер считает, что передан сокращённый формат.
#Типы блоков
#MESSAGE — стилизованный текст
| Поле |
Тип |
Описание |
MESSAGE |
string |
Текст сообщения |
STYLE |
string |
Стиль: bold, italic, base |
JSON
{ "MESSAGE": [{ "MESSAGE": "Статус обновлён", "STYLE": "bold" }] }
#USER — карточка пользователя
| Поле |
Тип |
Описание |
NAME |
string |
Имя пользователя |
AVATAR |
string |
URL аватара |
LINK |
string |
URL профиля |
JSON
{ "USER": [{ "NAME": "Иван Петров", "AVATAR": "https://example.com/avatar.jpg", "LINK": "https://portal.bitrix24.ru/company/personal/user/1/" }] }
#LINK — превью ссылки
| Поле |
Тип |
Описание |
NAME |
string |
Заголовок ссылки |
LINK |
string |
URL |
DESC |
string |
Описание |
PREVIEW |
string |
URL изображения-превью |
JSON
{ "LINK": [{ "NAME": "Документация API", "LINK": "https://vibecode.bitrix24.tech/docs", "DESC": "Полная документация Vibe API" }] }
#DELIMITER — линия-разделитель
| Поле |
Тип |
Описание |
SIZE |
integer |
Ширина в пикселях |
COLOR |
string |
Цвет в формате HEX |
JSON
{ "DELIMITER": [{ "SIZE": 200, "COLOR": "#c6c6c6" }] }
#GRID — таблица / сетка
| Поле |
Тип |
Описание |
NAME |
string |
Название поля |
VALUE |
string |
Значение поля |
DISPLAY |
string |
Отображение: LINE (в строку), BLOCK (блок), ROW (строка) |
WIDTH |
integer |
Ширина столбца в пикселях |
JSON
{
"GRID": [
{ "NAME": "Задача", "VALUE": "Подготовить отчёт", "DISPLAY": "LINE" },
{ "NAME": "Статус", "VALUE": "Выполнено", "DISPLAY": "LINE" }
]
}
#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 }] }
#Токены цвета (COLOR_TOKEN)
primary, secondary, alert, base
#Полный пример
JSON
{
"dialogId": "chat123",
"fields": {
"message": "",
"attach": [
{
"MESSAGE": [
{ "MESSAGE": "Статус задачи обновлён", "STYLE": "bold" }
]
},
{ "DELIMITER": [{}] },
{
"GRID": [
{ "DISPLAY": "LINE", "NAME": "Задача", "VALUE": "Подготовить отчёт" },
{ "DISPLAY": "LINE", "NAME": "Статус", "VALUE": "Выполнено" },
{ "DISPLAY": "LINE", "NAME": "Исполнитель", "VALUE": "Иванов А.П." }
]
},
{
"LINK": [
{ "NAME": "Открыть задачу", "LINK": "https://portal.bitrix24.ru/tasks/42/" }
]
}
]
}
}
#Смотрите также