Создание шаблона

Статья содержит описание метода API для создания операторского шаблона.

Метод message-matchers

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

URL-адрес подключения

Для отправки сообщения выполняется POST-запрос на URL-адрес: https://app.edna.ru/api/message-matchers

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

В теле запроса передается JSON-объект с параметрами.

{
    "messageMatcher": {
        "name": "new_matcher",
        "channelType": "WHATSAPP",
        "language": "RU",
        "content": {
            "text": "Здравствуйте! Спасибо, что выбрали нас."
        },
        "category": "MARKETING",
        "type": "OPERATOR"
    },
    "subjectIds": [
        2234
    ]
}

Таблица параметров

ПараметрТип данныхОписание
messageMatcherobjectОбъект с данными о шаблоне
namestringНазвание шаблона
channelTypestringТип канала взаимодействия. Возможные значения: WHATSAPP, VIBER, SMS
languagestringЯзык шаблона
contentobjectОбъект с содержимым шаблона
categorystringКатегория шаблона. Обязательное поля для шаблонов WhatsApp. Значение должно быть одно из следующих: MARKETING, AUTHENTICATION, UTILITY.
typestringТип шаблона. Возможные значения:

OPERATOR — операторский шаблон (шаблон, который был зарегистрирован у оператора связи);
USER — пользовательский шаблон (шаблон, который был создан пользователем на основе операторского шаблона)

ВАЖНО! В настоящее время поддерживается только тип OPERATOR.
subjectIdsintegerМассив идентификаторов подписи, для которых создаётся шаблон. Чтобы узнать идентификатор подписи канала, используйте метод получения списка каналов.
smsProviderIdsintegerID SMS-операторов, для которых регистрируется SMS шаблон. Значения:

0 — МТС
1 — Билайн
2 — Мегафон
3 — Теле2
textExampleParamsarray of stringsПример значений параметров, содержащихся в тексте сообщения text.
headerExampleTextParamstringПример параметра, содержащегося в тексте заголовка шаблона headerText (допускается только один параметр).
headerExampleMediaUrlstringПример параметра для медиазаголовка (в формате URL).
urlTextExamplestringПример для кнопок перехода по ссылке (в формате полной строки URL).

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

  • WhatsApp HSM с переменными в тексте шаблона
{
    "messageMatcher": {
        "name": "new_matcher",
        "channelType": "WHATSAPP",
        "language": "RU",
        "content": {
            "header": {
                "text": "Ваша компания {{1}}",
                "headerExampleTextParam": "Солнышко"
            },
            "text": "Здравствуйте, {{1}}! Спасибо, что выбрали нас {{2}}",
            "textExampleParams": [
                "Николай",
                "Пример"
            ],
            "keyboard": {
                "rows": [
                    {
                        "buttons": [
                            {
                                "text": "Сайт",
                                "buttonType": "URL",
                                "url": "https://edna.ru/{{1}}",
                                "urlTextExample": "https://edna.ru/test"
                            },
                            {
                                "text": "Позвонить",
                                "buttonType": "PHONE",
                                "phone": "+7900000000"
                            }
                        ]
                    }
                ]
            },
            "footer": {
                "text": "Спасибо за интерес"
            }
        },
        "category": "MARKETING",
        "type": "OPERATOR"
    },
    "subjectIds": [
        20526
    ]
}
  • WhatsApp HSM с кнопками
{
    "messageMatcher": {
        "name": "new_matcher",
        "channelType": "WHATSAPP",
        "language": "RU",
        "content": {
            "header": {
                "text": "Ваш чат с edna"
            },
            "text": "Здравствуйте! Спасибо, что выбрали нас.",
            "keyboard": {
                "rows": [
                    {
                        "buttons": [
                            {
                                "text": "Да",
                                "buttonType": "QUICK_REPLY",
                                "payload": "1"
                            },
                            {
                                "text": "Нет",
                                "buttonType": "QUICK_REPLY",
                                "payload": "2"
                            },
                            {
                                "text": "Не знаю",
                                "buttonType": "QUICK_REPLY",
                                "payload": "3"
                            }
                        ]
                    }
                ]
            }
        },
        "category": "MARKETING",
        "type": "OPERATOR"
    },
    "subjectIds": [
        20526
    ]
}
  • Viber
{
    "messageMatcher": {
        "name": "new_matcher",
        "channelType": "VIBER",
        "language": "RU",
        "content": {
            "text": "Здравствуйте, [\s\w]+! Спасибо, что выбрали нас."
        },
        "category": "TRANSACTIONAL",
        "type": "OPERATOR"
    },
    "subjectIds": [
        2234
    ]
}
  • SMS
{
    "messageMatcher": {
        "name": "new_matcher",
        "channelType": "SMS",
        "language": "RU",
        "content": {
            "text": "Здравствуйте, %w{1,10}! Спасибо, что выбрали нас."
        },
        "category": "MARKETING",
        "type": "OPERATOR",
        "createdAt": "2022-05-05T11:34:34.844Z",
        "updatedAt": "2022-05-05T11:34:34.844Z"
    },
    "subjectIds": [
        2234
    ],
    "smsProviderIds": [
        2
    ]
}

{{1}}, [\s\w]+ и %w{1,10} — это элементы автоподстановки, то есть строки символов, вместо которых можно указывать любые значения. У каждого провайдера есть собственные правила использования таких элементов, подробнее читайте в статьях: SMSViberWhatsApp.

Возможные примеры сообщений можно посмoтреть здесь.

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

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

Коды ответов на запрос

ok — запрос успешно выполнен.

category-must-not-be-nul — не указана категория шаблона WhatsApp.

message-matcher-category-invalid — указана неверная категория шаблона WhatsApp. Категория может быть Категория должна входить MARKETING, AUTHENTICATION, UTILITY.

Cледующая статья Получение статуса шаблона