Перейти к основному содержимому

Создание операторских шаблонов

Обновлено: 7 октября 2026

Для запроса на создание операторского шаблона используется метод api/message-matchers.

Вызов метода api/message-matchers​

Чтобы вызвать метод api/message-matchers, отправьте POST-запрос на URL-адрес https://app.edna.by/api/message-matchers.

Если запрос выполнен успешно, создается операторский шаблон и метод возвращает ответ с кодом 200. Если запрос выполнен неуспешно, метод возвращает код ошибки.

Формат запроса​

{
"messageMatcher": {
"id": 0,
"name": "string",
"channelType": "SMS",
"language": "string",
"content": {
"attachment": {
"id": 0,
"fileUrl": "string",
"originalFileName": "string",
"size": 0
},
"action": "string",
"caption": "string",
"header": {
"headerType": "TEXT",
"text": "string",
"attachment": {
"id": 0,
"fileUrl": "string",
"originalFileName": "string",
"size": 0
},
"headerExampleTextParam": "string",
"headerExampleMediaUrl": "string"
},
"text": "string",
"footer": {
"text": "string"
},
"keyboard": {
"rows": [
{
"buttons": [
{
"text": "string",
"buttonType": "PHONE",
"otpType": "COPY_CODE",
"url": "string",
"urlPostfix": "string",
"phone": "string",
"payload": "string",
"urlTextExample": "string",
"color": "string",
"requestContact": true,
"requestLocation": true,
"autofillText": "string",
"packageName": "string",
"hash": "string",
"appId": 0,
"ownerId": 0
}
]
}
]
},
"securityRecommendation": true,
"codeExpirationMinutes": 0,
"textExampleParams": [
"string"
],
"vkAttachments": [
{
"id": 0,
"fileUrl": "string",
"originalFileName": "string",
"size": 0
}
],
"vkTwoWayEnabled": true
},
"contentType": "TEXT",
"category": "ACCOUNT_UPDATE",
"status": "string",
"locked": true,
"type": "OPERATOR",
"createdAt": "2024-07-08T13:47:37.602Z",
"updatedAt": "2024-07-08T13:47:37.602Z"
},
"subjectIds": [
0
],
"smsProviderCodes": [
"string"
]
}

Общие параметры запроса​

ПараметрТип данныхХарактерОписание
namestringОбязательныйНазвание шаблона. В нем могут быть только латинские буквы, цифры и подчеркивание _. Максимальное количество символов — 60.
channelTypestringОбязательныйТип канала, для которого надо создать операторский шаблон: VIBER.
subjectIdsarray of numbersОбязательныйИдентификаторы каналов, для которых создаётся операторский шаблон. Чтобы узнать идентификатор канала, используйте метод API для получения списка каналов — параметр subjectId.

File IconПолучение списка каналов

Параметры запроса для канала Viber​

ПараметрТип данныхХарактерОписание
messageMatcher.languagestringОбязательныйЯзык шаблона в формате ISO 639-1.

localizely.com
messageMatcher.contentobjectОбязательныйОбъект с информацией о содержимом шаблона сообщения. В операторских шаблонах Viber поддерживаются только текст и текст с переменными. Другие типы контента не поддерживаются.
messageMatcher.content.textstringОбязательныйТекст шаблона сообщения.
messageMatcher.typestringОбязательныйТип шаблона.

Возможные значения:

- OPERATOR — операторский шаблон, зарегистрированный у оператора или провайдера. Поддерживается только значение OPERATOR.
messageMatcher.variableNamesarray of stringsОбязательный, если messageMatcher.content.text содержит переменныеПеременные в тексте шаблона сообщения.
messageMatcher.textExampleParamsarray of stringsОбязательный, если messageMatcher.content.text содержит переменныеПример для каждой переменной в тексте шаблона сообщения.

Валидация шаблонов Viber​

При создании операторского шаблона Viber учитывайте следующие ограничения:

Текст сообщения​

  • В операторском шаблоне можно использовать только текст и текст с переменными. Кнопки, изображения и файлы не поддерживаются.
  • Максимальная длина текста шаблона — 1000 символов.
  • В начале и конце текста шаблона нельзя помещать переменную или символы /, #, (, +, %, '.
  • Перед переменной должен быть пробел.

Переменные в тексте сообщения​

  • Переменные обозначаются в шаблоне как {1}, {2}, {3} и т. д.
  • В одном шаблоне можно использовать не более 8 переменных.
  • Рекомендуемая длина значения вместо переменной — не более 125 символов.
  • Не рекомендуется использовать ссылки вместо переменных.

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

Viber​

{
"messageMatcher": {
"name": "viber_template",
"channelType": "VIBER",
"language": "RU",
"content": {
"text": "Добрый день, {{1}}. Ваш заказ {{2}} будет доставлен {{3}}. Спасибо, что выбрали нас!",
"variableNames": ["name", "order", "date"],
"textExampleParams": ["Василий", "56128793", "01.02"]
},
"type": "OPERATOR"
},
"subjectIds": [
308
]
}
к сведению

{1}, {2} и {3} — это переменные в шаблоне. Они используются для передачи изменяемых значений, например, имени получателя, номера заказа или даты доставки.

File IconОператорские шаблоны Viber

Примеры ответов​

В ответ на запрос возвращается JSON-объект, содержащий код выполнения запроса.

Ответ на запрос создания операторского шаблона Viber:

{
"id": 17,
"name": "viber_template",
"channelType": "VIBER",
"language": "RU",
"content": {
"attachment": null,
"action": null,
"caption": null,
"header": null,
"text": "Добрый день, {{1}}. Ваш заказ {{2}} будет доставлен {{3}}. Спасибо, что выбрали нас!",
"footer": null,
"keyboard": {
"rows": []
},
"securityRecommendation": null,
"codeExpirationMinutes": null,
"textExampleParams": [
"Alex",
"56128793",
"01.02"
],
"variableNames": [
"name",
"order",
"date"
],
"vkAttachments": null,
"vkTwoWayEnabled": null,
"requestCallPermission": null
},
"category": null,
"status": "PENDING",
"locked": false,
"type": "OPERATOR",
"createdAt": "2026-10-06T14:48:41.295Z",
"updatedAt": "2026-10-06T14:48:41.295Z",
"messageTtl": null,
"contentType": "TEXT"
}

Коды ошибок​

КодОшибкаОписаниеВозможные комментарии
400message-matcher.saving.bad-requestНекорректно заполнены поля в запросе.

- Field content.variableNames - Variable names and examples count must match the number of variables (N) — Количество имён переменных и их примеров должно соответствовать количеству переменных в тексте шаблона (N).

- Field content.text - Maximum 8 variables allowed — Превышено максимально допустимое количество переменных в тексте шаблона. В одном шаблоне можно использовать не более 8 переменных.

- Field content.text - Variables cannot be placed at the beginning or end of the text — Недопустимо размещать переменную в начале или в конце текста шаблона.

- Field content.text - Text must not start or end with # ( + % ', Field content.text - Invalid symbols in text — Недопустимо использовать специальные символы #, (, +, %, ' в начале или в конце текста шаблона; также в тексте шаблона обнаружены недопустимые символы.

- Field content.variableNames - Variable name [N] must contain only latin letters — Имя переменной [N] должно содержать только латинские буквы.

- Field content.variableNames - Variable name [N] is not unique — Имена переменных [N] должны быть уникальными в рамках шаблона.

- Field content.variableNames - Variable example [N] must not contain links — Значение примера переменной [N] не должно содержать ссылки.

- Field content.text - Each variable must be preceded by a space — Перед и после каждой переменной должен стоять пробел.
400message-matcher.saving.already-existsШаблон с таким содержанием уже существует.—
400invalid languageУказан неверный код языка шаблона.—
400message-matcher-category-not-allowed-for-viberДля шаблонов Viber не должна быть указана категория.

- Category must not be specified for VIBER message-matcher [category:X;tenantId:1] — Для шаблона Viber не должна быть указана категория.
400message-matcher-subject-invalidВ запросе используются некорректные идентификаторы каналов.

- Some of provided subjects are invalid (i.e. incorrect channel type or status) — Некоторые из указанных идентификаторов каналов недопустимы, например, из-за неподходящего типа или статуса канала.