---
title: Как создать шаблон сообщения в Multi API
description: Создание шаблона сообщения в Multi API — название, канал, содержимое, переменные, использование через API
---

> **For AI agents:** the complete documentation index is at [llms.txt](https://docs.mydialogi.ru/llms.txt). Append `.md` to any page URL for its markdown version.




> **Коротко:** шаблон — это готовое сообщение, которое можно использовать многократно. Создаётся в разделе «Активы» → «Шаблоны сообщений».

## Кому подходит

- Роль: Клиент, Разработчик
- Уровень: Новичок

## Что это

**Шаблон сообщения** — заранее подготовленное содержимое, которое можно многократно использовать при отправке через API.

Шаблоны создаются в разделе **Активы** → **Шаблоны сообщений**.

## Возможности шаблона

| # | Возможность | Что даёт |
|---|---|---|
| 1 | **Единое хранилище** | Все шаблоны — в разделе **Активы → Шаблоны сообщений** |
| 2 | **Поддержка 10 каналов** | SMS, RCS, Viber, WhatsApp, WeChat, Email, Telegram, Push (Mobile Push), TTS |
| 3 | **Многократное использование** | Сохранить один раз — использовать в рассылках, диалогах, чат-ботах |
| 4 | **Переменные и персонализация** | Подстановка данных из профиля контакта |
| 5 | **Отправка через API** | Эндпоинты `/messages` и `/omnimessages` |
| 6 | **Взаимоисключение с `payload`** | Либо шаблон, либо произвольное сообщение — не оба |
| 7 | **Пустой `params: {}`** | Для шаблонов без переменных |
| 8 | **Каскадная отправка** | Разные шаблоны для разных шагов каскада |
| 9 | **Чтение через API** | `GET /templates` — список всех шаблонов |

<Note>
**Через API доступно только чтение шаблонов.** Создание, редактирование и удаление — только в личном кабинете.

[Справочные эндпоинты →](https://iba-platform.jamdesk.app/03-multiapi/02-api/mapi-107-api-reference)
</Note>

## Перед началом

- [ ] У вас есть имя отправителя со статусом **Активно** для нужного канала.
- [ ] Вы работаете в разделе **Активы** → **Шаблоны сообщений**.
- [ ] Вы определили канал и содержимое шаблона.

## Шаги

### 1. Откройте раздел «Шаблоны сообщений»

В левом меню: **Активы** → **Шаблоны сообщений**.

### 2. Нажмите «Добавить шаблон»

Кнопка в правом верхнем углу.

### 3. Укажите название шаблона

Понятное имя — например, «Скидки на торты» или «Код подтверждения».

Название нужно, чтобы вы легко нашли шаблон в списке.

### 4. Выберите канал

| Номер | Канал | Что поддерживает |
|---|---|---|
| 1 | SMS | Текст |
| 2 | RCS | Ричкарта, карусель, текст, файл |
| 3 | Viber | Текст, файл, кнопки |
| 4 | WhatsApp | Текст, медиа, шаблоны |
| 6 | WeChat | Текст, файлы |
| 7 | Email | HTML, текст, изображения |
| 9 | Telegram bot | Текст, медиа, документы |
| 10, 13 | Push (Mobile Push) | Заголовок, текст, изображение |
| 11 | TTS | Текст в речь, голосовое информирование |

<Note>
**Push (Mobile Push)** — единый канал с двумя способами подключения. Номер **10** — Push, номер **13** — Mobile Push.
</Note>

<Note>
**Каналы, для которых шаблоны не предусмотрены:** VK/OK, Telegram Gateway, FlashCall. Отправка через них не использует шаблоны сообщений — только прямое содержимое.
</Note>

### 5. Настройте содержимое

Содержимое зависит от канала. Например:

- **SMS** — текст до **70 символов** (Unicode).
- **RCS** — ричкарта, карусель, текст или файл.
- **WhatsApp** — карточка, список, текст, файл или локация.
- **TTS** — текст для озвучивания, язык, количество повторов.
- **Email** — тема, подзаголовок, содержимое в конструкторе.

Подробнее о настройке каждого канала:

- [Что такое SMS →](https://iba-platform.jamdesk.app/05-channels/01-sms/sms)
- [Что такое RCS →](https://iba-platform.jamdesk.app/05-channels/02-rcs/rcs)
- [Что такое WhatsApp →](https://iba-platform.jamdesk.app/05-channels/04-whatsapp/whatsapp)
- [Что такое TTS →](https://iba-platform.jamdesk.app/05-channels/09-voice/tts)
- [Конструктор Email →](https://iba-platform.jamdesk.app/05-channels/06-email/email-builder)

### 6. Сохраните

Нажмите **Сохранить изменения**. Шаблон появится в списке и будет доступен для использования.

## Как использовать шаблон в API

Для отправки сообщения по шаблону используйте параметр `template` вместо `payload`.

| Поле | Тип | Обязательно | Что указать |
|---|---|---|---|
| `id` | integer | Да | ID шаблона из раздела **Активы** → **Шаблоны сообщений** |
| `params` | object | Да | Атрибуты шаблона. Если шаблон без переменных — передайте пустой объект `{}` |

<Note>
**`template` и `payload` — взаимоисключающие.**

- Используете **шаблон** — укажите `template` с `id` и `params`.
- Отправляете **произвольное сообщение** — используйте `payload`.
</Note>

<Note>
**Если шаблон не содержит переменных** — передайте пустой `params: {}`. Пропускать поле нельзя.
</Note>

**Пример отправки шаблона через RCS:**

```bash
curl --location 'https://web.multiapi.ru/api/v1/messages' \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <ваш-ключ>' \
  --data-raw '{
    "contact": "<dnis>",
    "webhook": "<webhookURL>",
    "channel": 2,
    "senderId": "<senderID>",
    "template": {
      "id": <templateID>,
      "params": {
        "attribute.phoneNumber": "112332",
        "attribute.name": "test-name"
      }
    }
  }'
```

**Формат успешного ответа:**

```json
{
  "error": false,
  "data": {
    "channel": 2,
    "transactionId": "95e3e0da-9684-4ba4-88a3-e9207ddeca05",
    "messageId": "6719b5f4-36af-4fba-b111-49ff07f4f96b"
  }
}
```

<Note>
Параметр `template` работает в двух эндпоинтах — `/messages` (одно сообщение) и `/omnimessages` (каскад).

[OMNI API — отправка →](https://iba-platform.jamdesk.app/03-multiapi/02-api/mapi-103-omni-api)
</Note>

## Переменные в шаблоне

**В шаблон можно добавить переменные** — данные из профиля контакта, которые подставляются в сообщение автоматически при отправке.

Каждое сообщение становится персональным: вместо `{{attribute.name}}` получатель видит своё имя, вместо `{{attribute.phoneNumber}}` — свой номер и так далее.

### Как добавить переменную

1. При настройке содержимого шаблона в ЛК нажмите кнопку **персонализации**.
2. Выберите атрибут из списка — например, **Имя**, **Фамилия**, **Телефон**, **Город**.
3. Переменная вставится в текст в виде `{{attribute.name}}`.

<Note>
Переменные можно использовать в любом текстовом поле шаблона: в тексте, заголовке, подписи, кнопках.

Атрибуты настраиваются в базе контактов. Полный список — в статье [Управление атрибутами →](https://iba-platform.jamdesk.app/04-mydialogi/03-contacts/md-504-attributes).
</Note>

### Примеры для разных каналов

**SMS:**

```
{{attribute.name}}, у нас скидки на все торты!
```

Получатель с именем «Александр» увидит: «Александр, у нас скидки на все торты!»

**RCS:**

```
{{attribute.name}}, у нас скидка 50% на все пирожные.
```

**TTS:**

```
Ваш код подтверждения: {{attribute.code}}. Повторяю: {{attribute.code}}.
```

**Email — тема:**

```
{{attribute.name}}, ваш заказ готов
```

### Как данные подставляются автоматически

#### 1. Переменная в шаблоне

В шаблоне содержится placeholder — например, `{{attribute.name}}`.

#### 2. Вы передаёте значение в API

В параметре `params` указываете значение для этой переменной:

```json
"params": {
  "attribute.name": "Александр",
  "attribute.phoneNumber": "79123456789"
}
```

#### 3. Платформа подставляет данные

Перед отправкой система заменяет placeholder на переданное значение.

- Было в шаблоне: `{{attribute.name}}, у нас скидки!`
- Стало у получателя: `Александр, у нас скидки!`

### Передача переменных через API

```bash
curl --location 'https://web.multiapi.ru/api/v1/messages' \
  --header 'Content-Type: application/json' \
  --header 'X-API-Key: <ваш-ключ>' \
  --data-raw '{
    "contact": "79123456789",
    "channel": 1,
    "senderId": "<senderID>",
    "template": {
      "id": 624,
      "params": {
        "attribute.name": "Александр",
        "attribute.phoneNumber": "79123456789"
      }
    }
  }'
```

**Что здесь что:**

| Ключ в `params` | Что подставит в шаблон |
|---|---|
| `attribute.name` | Значение переменной `{{attribute.name}}` |
| `attribute.phoneNumber` | Значение переменной `{{attribute.phoneNumber}}` |
| `attribute.code` | Значение переменной `{{attribute.code}}` |

<Note>
**Если в шаблоне нет переменных** — передавайте пустой `params: {}`. Пропускать поле нельзя.
</Note>

## Как получить ID шаблона

ID шаблона можно получить двумя способами.

**Способ 1. В личном кабинете:**

Откройте **Активы** → **Шаблоны сообщений**. В таблице — колонка **ID**.

**Способ 2. Через API:**

```bash
curl --location 'https://web.multiapi.ru/api/v1/templates' \
  --header 'X-API-Key: <ваш-ключ>'
```

**Формат ответа:**

```json
{
  "data": [
    {
      "id": 624,
      "name": "wa_test",
      "channel": 4,
      "content": "{...}",
      "created_at": "2025-01-23T18:31:35.587814Z",
      "updated_at": "2025-01-23T18:31:35.587823Z"
    }
  ],
  "error": false,
  "size": 135
}
```

**Поля ответа:**

| Поле | Что означает |
|---|---|
| `id` | ID шаблона — для параметра `template.id` |
| `name` | Название шаблона |
| `channel` | Номер канала |
| `content` | Содержимое в виде JSON-строки |
| `message` | Содержимое в упрощённом виде |
| `created_at`, `updated_at` | Даты создания и обновления |
| `created_by`, `updated_by` | Кто создал и обновил |
| `size` | Общее количество шаблонов |

[Справочные эндпоинты →](https://iba-platform.jamdesk.app/03-multiapi/02-api/mapi-107-api-reference)

## Что в таблице шаблонов

| Колонка | Что показывает |
|---|---|
| **ID** | Цифровой идентификатор шаблона |
| **Название шаблона** | Имя шаблона |
| **Канал** | SMS, RCS, WhatsApp и другие |
| **Дата последнего изменения** | Когда редактировали шаблон |
| **Действия** | Редактировать или Удалить |

## Шаблон сообщения и шаблон рассылки — разные сущности

<Note>
**Шаблон сообщения** — готовое сообщение (текст, медиа, кнопки). Создаётся в личном кабинете, отправляется через параметр `template`.

**Шаблон рассылки** — конфигурация рассылки: шаги каскада, каналы, условия успеха. Создаётся **только через API** — эндпоинт `POST /broadcast/templates`.

Это разные сущности. Подробнее о шаблонах рассылок — в статье [Broadcasts API →](https://iba-platform.jamdesk.app/03-multiapi/02-api/mapi-105-broadcasts-api).
</Note>

<Note>
**Шаблоны WhatsApp** имеют отдельный интерфейс — **Активы → Шаблоны WhatsApp**. Требуют предварительного одобрения в Мессенджере. Управляются через `GET /wa_templates`.

[Как создать шаблон WhatsApp →](https://iba-platform.jamdesk.app/03-multiapi/04-assets/mapi-402-whatsapp-template)
</Note>

## Результат

Шаблон создан и доступен для использования в API через параметр `template`.

- [Как создать шаблон WhatsApp →](https://iba-platform.jamdesk.app/03-multiapi/04-assets/mapi-402-whatsapp-template)
- [Как загрузить медиафайл →](https://iba-platform.jamdesk.app/03-multiapi/04-assets/mapi-403-media)
- [OMNI API — отправка →](https://iba-platform.jamdesk.app/03-multiapi/02-api/mapi-103-omni-api)

## Частые проблемы

### Шаблон не отображается в API

**Причина:** шаблон не сохранён.

**Решение:** убедитесь, что нажали **Сохранить изменения**. Проверьте через `GET /templates`.

[Справочные эндпоинты →](https://iba-platform.jamdesk.app/03-multiapi/02-api/mapi-107-api-reference)

### Ошибка «Template not found»

**Причина:** неверный ID шаблона.

**Решение:** откройте раздел **Активы** → **Шаблоны сообщений**, скопируйте точный ID. Или получите список через `GET /templates`.

### Переменные не подставляются

**Причина:** неверный ключ атрибута в `template.params`.

**Решение:** проверьте формат — например, `attribute.name` или `attribute.phoneNumber`.

[Управление атрибутами →](https://iba-platform.jamdesk.app/04-mydialogi/03-contacts/md-504-attributes)

### Шаблон без переменных не отправляется

**Причина:** не передан пустой объект `params`.

**Решение:** добавьте `"params": {}` — даже если шаблон без переменных.

### Не удаётся отредактировать или удалить шаблон через API

**Причина:** через OMNI API доступно **только чтение** шаблонов.

**Решение:** создание, редактирование и удаление — только в личном кабинете, в разделе **Активы** → **Шаблоны сообщений**.

[Справочные эндпоинты →](https://iba-platform.jamdesk.app/03-multiapi/02-api/mapi-107-api-reference)

### 401 Unauthorized

**Причина:** неверный или отсутствующий API-ключ.

**Решение:** проверьте заголовок `X-API-Key`.

[Ошибка 401 →](https://iba-platform.jamdesk.app/06-reference/03-troubleshooting/ts-mapi-401)

## См. также

<Columns cols={2}>
  <Card title="Как создать шаблон WhatsApp" icon="whatsapp" href="/03-multiapi/04-assets/mapi-402-whatsapp-template">
    Предварительно одобренные шаблоны для WhatsApp
  </Card>
  <Card title="Как загрузить медиафайл" icon="upload" href="/03-multiapi/04-assets/mapi-403-media">
    Изображения, видео, документы
  </Card>
  <Card title="OMNI API — отправка" icon="paper-plane" href="/03-multiapi/02-api/mapi-103-omni-api">
    Эндпоинты /messages и /omnimessages
  </Card>
  <Card title="Форматы payload" icon="code" href="/03-multiapi/02-api/mapi-104-omni-payload">
    JSON-примеры для каждого канала
  </Card>
  <Card title="Справочные эндпоинты" icon="list" href="/03-multiapi/02-api/mapi-107-api-reference">
    Получить список шаблонов через GET /templates
  </Card>
  <Card title="Управление атрибутами" icon="tags" href="/04-mydialogi/03-contacts/md-504-attributes">
    Атрибуты контактов для переменных
  </Card>
</Columns>

## Нужна помощь?

- **Multi API:** support@multiapi.ru
