Как создать шаблон сообщения в Multi API
Создание шаблона сообщения в Multi API — название, канал, содержимое, переменные, использование через API
Коротко: шаблон — это готовое сообщение, которое можно использовать многократно. Создаётся в разделе «Активы» → «Шаблоны сообщений».
Кому подходит
- Роль: Клиент, Разработчик
- Уровень: Новичок
Что это
Шаблон сообщения — заранее подготовленное содержимое, которое можно многократно использовать при отправке через 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 — список всех шаблонов |
Через API доступно только чтение шаблонов. Создание, редактирование и удаление — только в личном кабинете.
Перед началом
- У вас есть имя отправителя со статусом Активно для нужного канала.
- Вы работаете в разделе Активы → Шаблоны сообщений.
- Вы определили канал и содержимое шаблона.
Шаги
В левом меню: Активы → Шаблоны сообщений.
Кнопка в правом верхнем углу.
Понятное имя — например, «Скидки на торты» или «Код подтверждения».
Название нужно, чтобы вы легко нашли шаблон в списке.
| Номер | Канал | Что поддерживает |
|---|---|---|
| 1 | SMS | Текст |
| 2 | RCS | Ричкарта, карусель, текст, файл |
| 3 | Viber | Текст, файл, кнопки |
| 4 | Текст, медиа, шаблоны | |
| 6 | Текст, файлы | |
| 7 | HTML, текст, изображения | |
| 9 | Telegram bot | Текст, медиа, документы |
| 10, 13 | Push (Mobile Push) | Заголовок, текст, изображение |
| 11 | TTS | Текст в речь, голосовое информирование |
Push (Mobile Push) — единый канал с двумя способами подключения. Номер 10 — Push, номер 13 — Mobile Push.
Каналы, для которых шаблоны не предусмотрены: VK/OK, Telegram Gateway, FlashCall. Отправка через них не использует шаблоны сообщений — только прямое содержимое.
Содержимое зависит от канала. Например:
- SMS — текст до 70 символов (Unicode).
- RCS — ричкарта, карусель, текст или файл.
- WhatsApp — карточка, список, текст, файл или локация.
- TTS — текст для озвучивания, язык, количество повторов.
- Email — тема, подзаголовок, содержимое в конструкторе.
Подробнее о настройке каждого канала:
Нажмите Сохранить изменения. Шаблон появится в списке и будет доступен для использования.
Как использовать шаблон в API
Для отправки сообщения по шаблону используйте параметр template вместо payload.
| Поле | Тип | Обязательно | Что указать |
|---|---|---|---|
id | integer | Да | ID шаблона из раздела Активы → Шаблоны сообщений |
params | object | Да | Атрибуты шаблона. Если шаблон без переменных — передайте пустой объект {} |
template и payload — взаимоисключающие.
- Используете шаблон — укажите
templateсidиparams. - Отправляете произвольное сообщение — используйте
payload.
Если шаблон не содержит переменных — передайте пустой params: {}. Пропускать поле нельзя.
Пример отправки шаблона через RCS:
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"
}
}
}'
Формат успешного ответа:
{
"error": false,
"data": {
"channel": 2,
"transactionId": "95e3e0da-9684-4ba4-88a3-e9207ddeca05",
"messageId": "6719b5f4-36af-4fba-b111-49ff07f4f96b"
}
}
Параметр template работает в двух эндпоинтах — /messages (одно сообщение) и /omnimessages (каскад).
Переменные в шаблоне
В шаблон можно добавить переменные — данные из профиля контакта, которые подставляются в сообщение автоматически при отправке.
Каждое сообщение становится персональным: вместо {{attribute.name}} получатель видит своё имя, вместо {{attribute.phoneNumber}} — свой номер и так далее.
Как добавить переменную
- При настройке содержимого шаблона в ЛК нажмите кнопку персонализации.
- Выберите атрибут из списка — например, Имя, Фамилия, Телефон, Город.
- Переменная вставится в текст в виде
{{attribute.name}}.
Переменные можно использовать в любом текстовом поле шаблона: в тексте, заголовке, подписи, кнопках.
Атрибуты настраиваются в базе контактов. Полный список — в статье Управление атрибутами →.
Примеры для разных каналов
SMS:
{{attribute.name}}, у нас скидки на все торты!
Получатель с именем «Александр» увидит: «Александр, у нас скидки на все торты!»
RCS:
{{attribute.name}}, у нас скидка 50% на все пирожные.
TTS:
Ваш код подтверждения: {{attribute.code}}. Повторяю: {{attribute.code}}.
Email — тема:
{{attribute.name}}, ваш заказ готов
Как данные подставляются автоматически
В шаблоне содержится placeholder — например, {{attribute.name}}.
В параметре params указываете значение для этой переменной:
"params": {
"attribute.name": "Александр",
"attribute.phoneNumber": "79123456789"
}Перед отправкой система заменяет placeholder на переданное значение.
- Было в шаблоне:
{{attribute.name}}, у нас скидки! - Стало у получателя:
Александр, у нас скидки!
Передача переменных через API
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}} |
Если в шаблоне нет переменных — передавайте пустой params: {}. Пропускать поле нельзя.
Как получить ID шаблона
ID шаблона можно получить двумя способами.
Способ 1. В личном кабинете:
Откройте Активы → Шаблоны сообщений. В таблице — колонка ID.
Способ 2. Через API:
curl --location 'https://web.multiapi.ru/api/v1/templates' \
--header 'X-API-Key: <ваш-ключ>'
Формат ответа:
{
"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 | Общее количество шаблонов |
Что в таблице шаблонов
| Колонка | Что показывает |
|---|---|
| ID | Цифровой идентификатор шаблона |
| Название шаблона | Имя шаблона |
| Канал | SMS, RCS, WhatsApp и другие |
| Дата последнего изменения | Когда редактировали шаблон |
| Действия | Редактировать или Удалить |
Шаблон сообщения и шаблон рассылки — разные сущности
Шаблон сообщения — готовое сообщение (текст, медиа, кнопки). Создаётся в личном кабинете, отправляется через параметр template.
Шаблон рассылки — конфигурация рассылки: шаги каскада, каналы, условия успеха. Создаётся только через API — эндпоинт POST /broadcast/templates.
Это разные сущности. Подробнее о шаблонах рассылок — в статье Broadcasts API →.
Шаблоны WhatsApp имеют отдельный интерфейс — Активы → Шаблоны WhatsApp. Требуют предварительного одобрения в Мессенджере. Управляются через GET /wa_templates.
Результат
Шаблон создан и доступен для использования в API через параметр template.
Частые проблемы
Причина: шаблон не сохранён.
Решение: убедитесь, что нажали Сохранить изменения. Проверьте через GET /templates.
Причина: неверный ID шаблона.
Решение: откройте раздел Активы → Шаблоны сообщений, скопируйте точный ID. Или получите список через GET /templates.
Причина: неверный ключ атрибута в template.params.
Решение: проверьте формат — например, attribute.name или attribute.phoneNumber.
Причина: не передан пустой объект params.
Решение: добавьте "params": {} — даже если шаблон без переменных.
Причина: через OMNI API доступно только чтение шаблонов.
Решение: создание, редактирование и удаление — только в личном кабинете, в разделе Активы → Шаблоны сообщений.
См. также
Нужна помощь?
- Multi API: support@multiapi.ru