# Как составить шаблон сообщения?

Обычно  текст сообщения состоит из статической и переменной части. Рассмотрим пример сообщения:

```
Ваш код авторизации для входа в личный кабинет: 1234
```

Код должен быть уникальным в каждом новом отправленном сообщении - это переменная часть сообщения. А остальной текст всегда один и тот же - это статическая часть

Для составления шаблона переменную часть нужно заменить операндой:

```
Ваш код авторизации для входа в личный кабинет: %d
```

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

В таблице ниже представлен универсальный набор операнд, доступный для использования у всех операторов:

| Операнда | Значение                                                                                                                                                                                                                                                                                                                                                                                                         | Пример шаблона                                                                                   | Пример сообщения                                                                                      |
| -------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------ | ----------------------------------------------------------------------------------------------------- |
| %w       | <p>Любой непрерывный (без пробелов) набор  букв, цифр и спецсимволы*<br>Используйте эту операнду, чтобы замаскировать одно слово или число</p>                                                                                                                                                                                                                                                                   | заказ %w на сумму %w руб успешно принят сумма к оплате %w                                        | заказ АВ123 на сумму 4000 руб успешно принят сумма к оплате 4000                                      |
| %d       | <p>Любой непрерывный (без пробелов) набор цифр и символов*<br>Используйте эту оперануду, чтобы замаскировать число</p>                                                                                                                                                                                                                                                                                           | заказ %w на сумму %d руб успешно принят сумма к оплате %d                                        | заказ АВ123 на сумму 4000 руб успешно принят сумма к оплате 4000                                      |
| %w{1,n}  | <p>Ограниченная последовательность слов (состоящих из букв, цифр или спецсимволов*), разделенных пробелом. </p><p>Вместо n нужно указать общее количество слов, </p><p>n – целое число, которое не может быть меньше двух и больше 10 (для транзакционных шаблонов) или больше 15 (для остальных шаблонов)</p><p><br>Используйте эту операнду, чтобы замаскировать два и более подряд идущих слова или числа</p> | заказ %w на сумму %w{1,2} успешно принят сумма к оплате %d                                       | Заказ АВ123 на сумму 4000 руб успешно принят Сумма к оплате 4000                                      |
| %d{1,n}  | <p>Ограниченная последовательность чисел (состоящих из цифр или спецсимволов*), разделенных пробелом. Вместо n нужно указать общее количество слов, </p><p>n – целое число, которое не может быть меньше двух и больше 10 (для транзакционных шаблонов) или больше 15 (для остальных шаблонов)<br><br>Используйте эту операнду, чтобы замаскировать два и более подряд идущих слова или числа</p>                | заказ %w на сумму %w{1,2} успешно принят сумма к оплате %d. Свяжитесь с нами по телефону %d{1,2} | Заказ АВ123 на сумму 4000 руб успешно принят Сумма к оплате 4000. Свяжитесь с нами по телефону 123 15 |

\* допустимые спецсимволы: № . , : ; - \_ \` & ^ ? { } \[ ] < > / \ | ! @ # $ % ^ \* ( ) + = \~

#### Правила составления шаблонов

1. **НЕЛЬЗЯ** использовать несколько однотипных операнд подряд.&#x20;

Например: операнды %d %d следует заменить операндой %d{1,2}.&#x20;

Операнды %d %w{1,2} следует заменить операндой %w{1,3}.

2. **НЕЛЬЗЯ** использовать операнду %w+. Мы не рекомендуем использовать операнду %d+
3. Операнды вида %w{1,n} и %d{1,n} обязательно должны иметь открывающую и закрывающую скобки.
4. Для указания даты, телефона, пароля желательно использование операнды %d или %d{1,n}.
5. Шаблон должен без затруднений идентифицироваться с текстом конечного сообщения.
6. **НЕЛЬЗЯ** начинать и/или заканчивать смс пробелами, иначе сообщение автоматически учитывается как несоответствующее шаблону.
7. Шаблоны регистронезависимы (оплата=ОПЛАТА=Оплата и т.д.) и будут добавлены в систему в нижнем регистре и без спецсимволов. На применение шаблонов к текстам сообщений это не повлияет, т.к. проверка попадает текст под шаблон или нет производится без учета спецсимволов в тексте и в нижнем регистре.
8. Если для загружаемого шаблона в системе будет найдет точно такой же шаблон (на то же имя отправителя и того же оператора), то такой шаблон добавлен не будет.
