Порядок согласования шаблонов Viber

Порядок согласования шаблонов Viber

Создание и использование шаблонных сообщений

Что такое шаблонные сообщения?

Шаблонные сообщения (Templates messages) - это бизнес сообщения, с предопределённой структурой, то есть основанные на шаблонах. Viber поддерживает шаблоны в формате регулярных выражений (RegEx).

Все шаблоны, которые Вы загружаете должны соответствовать данному формату.

Типы шаблонов

Обратите внимание, что шаблоны могут быть использованы только для отправки транзакционных сообщений. Это может быть подтверждение заказа/покупки/регистрации, информирование клиента о статусе заказа, напоминание о записи на прием/встречу и т.п.

Недействительные шаблоны

Каждый шаблон проходит валидацию и шаблоны рекламного содержания будут отклонены. Рекламными считаются шаблоны об оказании услуг, если они содержат любую дополнительную коммерческую информацию (даже в случае, если эта информация продвигает указанную услугу); предложения сделать покупку/заказать услугу; поздравления с праздниками, предложения оценить сервис и т.п.

Создание шаблонов и основы регулярных выражений

Регулярные выражения- это язык программирования, который предназначен для поиска и замены строк в тексте, а также для описания шаблонов.

Наиболее часто используемые регулярные выражения:

·        \S - соответствует любому символу, кроме пробела (букве, цифре, знаку);

·        \s - соответствует пробелу;

·        \D - соответствует любому символу, кроме цифр;

·        \d - соответствует любой цифре, и не буквенному символу (№, % и т.п.);

·        \w - соответствует любой букве или цифре.

·        Квантификаторы (указание количества повторений):

·        - 0 или более;

·        + - 1 или более:

·        {n} - ровно n раз;

·        {m,n} - от m до n раз.

Особые правила для регулярных выражений в Viber

Обратите внимание, что в нашей системе есть определенные правила для написания шаблонов. Прежде чем проверить сообщение на соответствие шаблону, мы используем механизм очистки для удаления определенных символов из сообщения.

Это означает, что данные символы (см. полный список ниже), в том числе абзацы и двойные пробелы, могут использоваться в сообщении, отправляемом пользователю Viber, но не могут в самомшаблоне. В противном случае сообщение не будет соответствовать шаблону.

Список удаленных символов:

! № # % . , : ; ? \ / ( ) + - “ ”― _ ' " ` & ^ ? { } [ ] < > / \ | ! @ # $ % ^ ( ) + = ~ *

Например, шаблон для сообщения ниже может выглядеть только следующим образом:

Добрый день \S+ \nваша покупка будет доставлена в \d+ в \S+ по адресу (\S+\s){1,20}вы можете отследить доставку на сайте \S+

Само сообщение, которое Вы планируете отправить пользователю может содержать все удаленные символы:

Добрый день, Екатерина! Ваша покупка будет доставлена в 16:00 в воскресенье по адресу: проезд Бетонный 25 вы можете отследить доставку на сайте www.viber.com

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

● Шаблоны не чувствительны к регистру, т.е. нет различия между прописными и строчными буквами.

● Шаблон не может содержать несколько последовательных пробелов

● В шаблоне нельзя использовать абзацы - \n (можно в сообщении)

● Шаблоны не могут начинаться или заканчиваться со следующих символов: "/" или "/ui"

● Следующие регулярные выражения нельзя использовать для шаблонов: ['\\s?'] и ['\\s*'], ['(\\s)?'] и ['(\\s)*']

● Шаблон не может начинаться или заканчиваться пробелом.

Т.е. регулярные выражения \s, \s+, (\S+\s+){1,10} - нельзя использовать в начале или конце шаблона.

● Некоторые символы, например « », не входят в список удаленных и при необходимости должны присутствовать и в шаблоне и в сообщении

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

Пример шаблона (RegEx)Пример сообщенияКомментарий
Добрый день \S+ Код подтверждения \S+Добрый день, Татьяна! Код подтверждения: 12345\S+ используется для обозначения любой последовательности символов (без пробелов)
\d+ плановое погашение по договору внесите оплату в личном кабинете по ссылке \S+20.08.2020 плановое погашение по договору. Внесите оплату в личном кабинете по ссылке https://viber.com\d+ - последовательность цифр и/или символов не разделенных пробелом.
Уважаемыйая[\s\S]+ напоминаем Вам о записи на[\s\S]+ в[\s\S]+ по адресу[\s\S]+Уважаемый(ая) Игорь Геннадьевич, напоминаем Вам о записи на 29.10.2020 в 16:00 по адресу ул. Советская, дом 1.\s - пробел; [\s\S]+ - соответствует комбинации пробелслово, которая может повторяться от 1 до бесконечности раз.
Заказ \d+ ожидает вас по адресу (\S+ )*\S+Заказ 354 ожидает вас по адресу ул. Советская, дом 1.\S+ )*\S+ равнозначно выражению (\S+\s)*\S+ - обозначают последовательность от 1 до ∞ слов и/или символов разделенных пробелами.
(\w+ ){0,6}Личный кабинет (\w+ ){0,4}Логин \S+ Пароль \S+Иванов Александр Петрович. Личный кабинет: https://viber.com/ Логин: 123456 Пароль: 123456

(\w+ ){0,6} или (\w+\s){0,6} - последовательность от 0 до 6 слов, разделенных пробелами;

обратите внимание, что после регулярного выражения нет пробела, т.к он прописан в самом регулярном выражении (как пробел или через regex - \s), если добавить пробел "(\w+ ){0,6} Личный" - шаблон будет некорректным и сообщение не совпадет с шаблоном.

уважаемыйая (\w+ ){0,2}по запросу (\S+ )*\d+ ответственный (\w+) номера для связи (\d+ )*\d+Уважаемый(ая) Василий Васильевич. По запросу № 117409 ответственный Петр. Номера для связи: +375330000000, +375330000000

(\S+ )*\d+ - соответствует

последовательности

слов\символов (от 1 до ∞)

разделенных пробелами, в конце

должно быть число (так как regex

оканчивается на \d+);

(\d+ )*\d+ - последовательность

чисел (от 1 до ∞) разделенных

пробелами