## Вложения (ATTACH-блоки)

Расширенное оформление сообщения — карточки, таблицы поле-значение, изображения, файлы и разделители. Передаётся в поле `attach` вместе с `message`.

`attach` — массив блоков. Каждый блок: объект с одним ключом-типом. Текстовый блок `MESSAGE` принимает строку, остальные блоки — массив объектов с полями.

## Типы блоков

### MESSAGE — текст

Строка с текстом. Поддерживает [BB-коды](/docs/chats/messages/formatting).

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

## Смотрите также

- [Отправить сообщение](/docs/chats/messages/send)
- [Форматирование текста](/docs/chats/messages/formatting)
- [Клавиатура](/docs/chats/messages/keyboard)
