Шаблонизация SMS: как это устроено
Что такое операторские шаблоны, почему от них зависит цена сообщения и как идёт согласование. Про саму технологию, без привязки к Templify.
Почему одно SMS дороже другого
Оператор берёт за сообщение разные деньги — смотря что в нём написано. Дороже всего стоит реклама. Дешевле идут сообщения по делу клиента: код подтверждения, статус заказа, списание с карты. На небольшой рассылке разницы не видно, на регулярной она и есть основная часть счёта.
Вопрос в том, как оператор отличает одно от другого. Читать сообщения некому — их миллионы, а верить на слово отправителю нельзя: тогда рекламой не назвался бы никто. Поэтому решение принимается машиной и по самому тексту. Шаблон — это способ заранее показать оператору, какие тексты вы будете отправлять, и получить на них дешёвый тариф.
Что такое шаблон
Шаблон — это будущее сообщение, из которого вынули всё меняющееся. Постоянный текст остаётся как есть, а на месте суммы, кода, номера заказа и имени стоят переменные. Операторы называют их операндами — это слово встретится вам в их отказах.
- Живое сообщение: «Заказ 69757 на сумму 4300 руб принят. Компания „Ромашка“».
- Шаблон из него: «Заказ %d на сумму %d руб принят. Компания „Ромашка“».
Один шаблон покрывает все сообщения, которые из него получаются: и заказ 69757 на 4300 рублей, и заказ 12 на 90. Согласовывать каждое сообщение не нужно, согласовывают заготовку — в этом весь смысл затеи.
Как сообщение узнаётся по шаблону
Каждое уходящее сообщение сверяется с зарегистрированными шаблонами. Подошло под шаблон — идёт по его типу и по его цене. Не подошло ни под один — считается рекламой и тарифицируется как реклама.
Совпасть должны три вещи, а не только текст: сам текст, подпись отправителя и дата — сообщение, ушедшее раньше, чем шаблон стал действующим, под него не попадает.
Сверка при этом устроена не буквоедски, но и не вольно:
- Регистр не важен: «КОД» и «код» для сверки одно и то же.
- Лишние пробелы не важны: два пробела подряд или перенос строки читаются как один пробел.
- А вот знаки препинания — часть текста. Кавычки-ёлочки вместо прямых, длинное тире вместо дефиса, лишняя точка — и сообщение под шаблон уже не подходит.
Переменные, они же операнды
Записываются переменные операторским синтаксисом — он общий у всех. Пород всего две:
- %w — одно слово: буквы, цифры или знаки, лишь бы без пробелов. %w{1,3} — от одного до трёх слов через пробел.
- %d — одно число целиком, сколько бы в нём ни было цифр. %d{1,3} — до трёх чисел через пробел; так записывают сумму, разделённую по разрядам: «1 234 567».
Чем шире переменная, тем больше сообщений покрывает шаблон — и тем настороженнее к нему модератор. Под «до двадцати слов» в конце текста можно спрятать что угодно, в том числе рекламу, и операторы это знают: широкая операнда в конце — известная причина отказа. Держать их стоит настолько узкими, насколько позволяют настоящие данные.
Типы трафика
У шаблона есть тип — это ваше утверждение о том, что за сообщение вы шлёте. От него зависит и цена, и то, примет ли оператор заявку вообще.
- Сервисный (у части операторов он называется информационным) — сообщение по делу клиента: заказ собран, запись перенесена, услуга подключена.
- Транзакционный — операция с деньгами: списание, зачисление, платёж. В тексте должно быть видно саму операцию, сумму и счёт, иначе оператор завернёт.
- Авторизационный, он же идентификационный, — код для входа или подтверждения. Отдельным типом его принимают не все; остальным тот же код подаётся сервисным.
- Рекламный — всё, что не попало в предыдущие. Шаблон для рекламы не нужен: дешевле она от этого не станет.
Наборы типов у операторов не совпадают — ни составом, ни названиями. Один и тот же код подтверждения у одного оператора идёт отдельным типом, а у другого сервисным, и это нормальное положение дел, а не чья-то ошибка.
Каждый оператор решает сам
Шаблон согласовывается не «вообще», а у каждого оператора отдельно. Друг от друга они не зависят, правила у них похожие, но не одинаковые, а трактует эти правила живой модератор. Обычное дело: один принял текст сервисным, другой на том же тексте отказал.
Отсюда три вещи, которые удивляют чаще всего:
- Отказ одного оператора не портит тариф у остальных. Абоненты той сети, где шаблон согласован, получат сообщение по дешёвой цене; абоненты отказавшей сети — по рекламной. Это одна и та же рассылка с разной ценой у разных получателей.
- Переподавать надо только тому, кто отказал. У остальных шаблон уже работает, и трогать его незачем.
- А вот если поменялся сам текст рассылки — переподавать надо всем. Старые шаблоны новый текст не покрывают, и он уедет рекламой у каждого оператора разом.
Подпись отправителя
Подпись — то, что абонент видит в SMS вместо номера. Её же называют именем отправителя или Sender ID. Регистрируется она у оператора отдельно от шаблонов и заранее: сначала имя, потом тексты под него.
Имя короткое: от 3 до 11 символов, латиница и цифры, без пробелов. Кириллицей его не написать — таких букв нет в алфавите, которым кодируются буквенные имена в SMS.
Подпись участвует в сверке наравне с текстом. Сообщение, отправленное с одним именем, не подойдёт под шаблон, зарегистрированный на другое, даже если тексты совпадают до знака. Поэтому у каждой подписи свой набор шаблонов, и заводить их приходится под каждую.
Путь шаблона и сроки
Согласование — процесс, внутри которого есть люди, и идёт он неделями, а не минутами.
- 1Вы отдаёте шаблоны туда, откуда идёт рассылка: напрямую оператору, если у вас с ним договор, или своему поставщику SMS.
- 2Заявка попадает к оператору. У части операторов приём идёт по графику — в определённые числа месяца; не попали в окно, ждёте следующего.
- 3Модератор читает текст и отвечает: зарегистрировал или отказал. Отказ приходит с причиной, обычно в одну строку и своими словами.
- 4У согласованного шаблона появляется дата активации. До неё сообщения по нему идут по прежней цене — то есть по рекламной.
Дальше шаблон живёт, пока по нему идёт трафик. Часть операторов снимает его сама, если по нему давно ничего не отправляли: у разных операторов это 60 и 180 дней простоя. Снятый шаблон не «включается обратно» — его согласовывают заново, со всеми сроками.
Отдать заявку можно двумя путями. Напрямую — если у вас свой договор с оператором и доступ в его кабинет. Или через поставщика SMS (его часто называют агрегатором), у которого договоры с операторами уже есть: тогда шаблоны вы отдаёте ему, а он несёт их дальше и возвращает ответ. Правила к тексту в обоих случаях операторские — их пишут не посредники, — а вот сроки, порядок подачи и цена у посредника свои.
За что идут деньги
Считать надо две вещи сразу, и вторую обычно узнают поздно.
- Цена сообщения. Ради неё всё и затевается: трафик, покрытый шаблоном, стоит дешевле рекламного.
- Плата за сам шаблон. У части операторов за каждый согласованный шаблон идёт помесячный счёт, и он не зависит от того, прошло по шаблону миллион сообщений или ни одного.
Поэтому лишний шаблон — это не беспорядок в списке, а счёт каждый месяц. Дубли (один и тот же текст, заведённый дважды), заготовки под рассылку, которая так и не началась, и остатки старых акций платятся наравне с рабочими.
Оттуда же и обратная задача: несколько похожих текстов часто описываются одним шаблоном с более широкой переменной — и платить придётся за один вместо пяти. Вся работа с шаблонами и сводится к этой середине: слишком широкая переменная не понравится модератору, слишком узкая не покроет трафик.
Что дальше
Это была технология — она одинакова, чем бы вы ни пользовались. Как то же самое делается по шагам: собрать текст с переменными, проверить его до подачи, выгрузить файл в том виде, в каком его ждёт оператор, и отметить ответ — в гайде «Первый шаблон: от текста до подачи».