Как создать шаблон сообщения в 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Чтение через APIGET /templates — список всех шаблонов

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

Справочные эндпоинты →

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

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

Шаги

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

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

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

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

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

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

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

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

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

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

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

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

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

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

6
Сохраните

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

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

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

ПолеТипОбязательноЧто указать
idintegerДаID шаблона из раздела Активы → Шаблоны сообщений
paramsobjectДаАтрибуты шаблона. Если шаблон без переменных — передайте пустой объект {}

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 (каскад).

OMNI API — отправка →

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

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

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

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

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

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

Атрибуты настраиваются в базе контактов. Полный список — в статье Управление атрибутами →.

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

SMS:

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

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

RCS:

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

TTS:

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

Email — тема:

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

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

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

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

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

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

"params": {
  "attribute.name": "Александр",
  "attribute.phoneNumber": "79123456789"
}
3
Платформа подставляет данные

Перед отправкой система заменяет 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
}

Поля ответа:

ПолеЧто означает
idID шаблона — для параметра 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.

Как создать шаблон WhatsApp →

Результат

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

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

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

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

Справочные эндпоинты →

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

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

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

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

Управление атрибутами →

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

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

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

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

Справочные эндпоинты →

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

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

Ошибка 401 →

См. также

Как создать шаблон WhatsApp

Предварительно одобренные шаблоны для WhatsApp

Как загрузить медиафайл

Изображения, видео, документы

OMNI API — отправка

Эндпоинты /messages и /omnimessages

Форматы payload

JSON-примеры для каждого канала

Справочные эндпоинты

Получить список шаблонов через GET /templates

Управление атрибутами

Атрибуты контактов для переменных

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