Рассылка по расписанию и с согласованием

В сентябре у провайдера изменилась стоимость тарифа, и у сорока клиентов баланс ушёл в минус. Их нужно предупредить: SMS с суммой, которой не хватает, в одиннадцать утра — не ночью и не в выходной. А за час до отправки об этом должна узнать команда, чтобы к звонкам клиентов были готовы.
Раньше в журнале сообщений СмИТ Биллинга рассылку можно было только отправить сразу. Чтобы попасть в 11:00, кто-то должен был нажать кнопку ровно в это время, а предупреждение в чат — написать руками. Теперь рассылку можно запланировать, отправляет её система, и сделать это могут не все подряд. Рассказываем, как это устроено.
Что было не так с кнопкой «Отправить»
Массовая рассылка — одно из немногих действий в биллинге, которое нельзя отменить. Уехавшие SMS не вернёшь, а каждая часть сообщения оплачивается. При этом у старой кнопки было три слабых места:
- Только «сейчас». Нужное время ловили вручную, а в тихий час сообщения просто вставали в очередь до утра.
- Никакого второго взгляда. Отправить мог любой сотрудник с доступом к журналу — ошибка в тексте или не та группа получателей могли обнаружиться уже у клиентов.
- Стоимость не видна. Длина текста в SMS-частях считалась с ошибкой, а сколько частей получит каждый клиент, узнавали из счёта шлюза.
Журнал сообщений — один экран
В журнале видны все сообщения клиентам: SMS, почта, Telegram, push и уведомления в личном кабинете — отправленные вручную, рассылками и самим биллингом. Сверху — сводка доставки SMS, под ней карточки запланированных рассылок, ниже — фильтры по каналам, поиск и таблица.
Кому отправить
Окно рассылки предлагает шесть способов выбрать получателей. Готовые категории закрывают частые случаи: должники, в минусе после изменения цены, сейчас онлайн, заблокированные, с обещанным платежом, юрлица, без платежей за 30 дней.
Отдельно — клиенты с активным IPTV. Это пример того, как «кому» обычно звучит на практике: «всем, кто смотрит ТВ», «всем на тарифах оптики». Поэтому выбор тарифов и услуг устроен в два шага. Сначала линейка тарифов или тип услуги — показаны только те, где есть клиенты, с их числом. Потом, если нужно, конкретные тарифы или услуги. Не отметили ничего — рассылка уйдёт всем клиентам выбранной линейки или типа.
Ещё три способа — папки клиентов, NAS и конкретные люди: поле поиска находит клиента по имени, договору, телефону или адресу. Под вкладками всегда видно, сколько получателей выходит прямо сейчас и сколько из них доступны по каждому каналу.
Сколько стоит текст
SMS кириллицей вмещает 70 знаков. Если текст длиннее, сообщение режется на части, и в каждой части остаётся уже 67 знаков: часть места уходит на служебный заголовок, по которому телефон склеивает сообщение. Латиницей — 160 и 153. Каждая часть оплачивается отдельно.
| Длина текста кириллицей | Частей на одного клиента |
|---|---|
| до 70 знаков | 1 |
| 71–134 | 2 |
| 135–201 | 3 |
Над полем текста теперь стоит счётчик: знаки, число частей и алфавит. Когда включён канал SMS, он желтеет со второй части и краснеет с третьей. Раньше счётчик делил текст на 70 для любой длины — и сообщение в 136 знаков выглядело двумя частями, хотя уходило тремя.
В тексте можно использовать подстановки: сумму долга, баланс, номер договора, имя клиента. С подстановкой долга сообщение получат только те, у кого он действительно есть на момент отправки, — клиент, который успел пополнить счёт, SMS о долге не получит.
Когда отправить
«Сейчас» ставит сообщения в очередь сразу — до 500 получателей за раз. «Запланировать» открывает поля: дата и время, темп (сколько сообщений в минуту уходит в очередь), название, номер обращения для отчёта и рабочий чат, в который придёт предупреждение.
- Получатели считаются заново в момент старта. Клиент, который пополнил счёт с вечера, в рассылку «должникам» утром уже не попадёт.
- Предупреждение в чат приходит за указанное время: сколько получателей и по каким каналам, пример сообщения, когда закончится, и ссылка на отмену.
- Тихий час соблюдается: если он наступил, рассылка ждёт и продолжается утром.
- Итог — сколько сообщений поставлено, доставлено и пропущено и почему — приходит в чат и ответом в обращение, из-за которого рассылку делали.
Перед сохранением окно ещё раз показывает, что уйдёт: сколько получателей, какими каналами, сколько SMS на человека, текст и время старта.
flowchart TB
A["Рассылка<br/>запланирована"] --> W["За час до старта<br/>предупреждение в чат"]
W --> S["Время старта:<br/>получатели<br/>считаются заново"]
S --> Q{"Тихий час?"}
Q -->|да| P["Ждём утра"]
P --> Q
Q -->|нет| B["Порциями в очередь<br/>не больше N в минуту"]
B --> R["Итог в чат<br/>и в обращение"]Кто может отправить
Создавать рассылки могут старший сэйлс, старший менеджер, маркетолог и директор. Отправлять сразу и согласовывать запланированные — только маркетолог и директор. Права проверяются на сервере при каждом действии, а каждая попытка без прав записывается в журнал действий.
Рассылка, которую запланировал старший сэйлс, получает статус «Ждёт согласования». В рабочий чат приходит сообщение, а в момент, когда должно было прийти предупреждение, — напоминание. Без согласования рассылка не начнётся, а через два часа после назначенного времени будет отмечена как несостоявшаяся.
Согласуется ровно та версия, которую видел согласующий. Если рассылку успели изменить, пока окно было открыто, согласование не пройдёт, и её придётся проверить ещё раз. А если согласованную рассылку поменял сотрудник без права отправки, она снова уходит на согласование.
Передумали — измените
Пока рассылка не началась, её можно изменить: кнопка открывает то же окно с заполненными полями. Перед сохранением окно показывает, что именно поменяется, — «было → стало». Если предупреждение уже ушло, в тот же чат приходит «Рассылка изменена», а новое предупреждение придёт заново, с новым временем и текстом.
Черновик от AI-помощника
В углу страницы — AI-помощник раздела. Он знает группы получателей с числом клиентов, запланированные рассылки и правила SMS. На вопрос «Создать рассылку» он уточняет, о чём и кому писать, предлагает группу, каналы и время — не в тихий час — и возвращает черновик. Кнопка «Открыть в окне рассылки» переносит в форму текст, название, группу, каналы и время. Отправляет всё равно человек.
Из разработки: счётчик, который недосчитывал. Старый счётчик делил длину текста на 70 для любого сообщения. Для одной SMS это верно, а для склеенной — нет: служебный заголовок забирает три знака в каждой части. Разница проявляется ровно на границах: текст в 136 знаков счётчик показывал двумя частями, а шлюз отправлял тремя. На сорока клиентах это сорок лишних SMS, которых никто не ждал.
Кнопка «Отмена», которая ломала страницу. Окна раздела переведены на общий компонент форм, и кнопка «Отмена» из старого окна переносится в новое. Библиотека окон при клике искала у кнопки родительское окно, не находила его и падала с ошибкой — окно закрывалось, но ошибка оставалась в консоли на каждой странице с переведёнными окнами. Обработчик библиотеки срабатывал раньше любого нашего, поэтому клик теперь перехватывается ещё раньше, на уровне всей страницы.
Как это работает в СмИТ Биллинге
Журнал сообщений — раздел модуля «Отчёты»: Отчёты → Журнал сообщений. Запланированные рассылки выполняет та же ежеминутная задача, что отправляет всю очередь сообщений, поэтому для них действуют общие правила: тихий час, стоп-лист, защита от повторов и журнал исходящих.
При нескольких организациях рассылка не выходит за организации автора — ни при отправке сразу, ни при старте по расписанию. Рассылку «по всем организациям» видят и меняют только сотрудники без ограничения по компаниям. Все шаги — создание, согласование, изменения, предупреждения, старт, итог и отмена — записываются в журнал действий.
Для сотрудников есть обучающий ролик на три минуты: шесть шагов от выбора получателей до черновика помощника.
Посмотреть на своих данных
Покажем платформу на живом стенде и разберём ваш случай. Или спросите ассистента прямо сейчас — он отвечает по документации и настройкам.


