Синхронизировать LMS
Регулярный джоб тянет назначения и статусы из Moko и Magnum Space, собирает события, которых платформы не отдают, и кормит ими нотификатор.
Два потока уведомлений на одном бэкенде. Первый — про обучение: интеграция с LMS Moko и Magnum Space, чтобы сотрудники реально проходили назначенные курсы. Второй — рассылочный инструмент, через который HR говорит с конкретным магазином, отделом или офисом, а не со всей компанией сразу. Интересная часть проекта — LMS. Платформы не отдают события, поэтому всю логику «у тебя новый курс / срок через три дня / срок прошёл» собирает сама система уведомлений.
LMS умела назначить курс, но не умела никого подгонять. Сотрудник забывал. Руководитель не видел, кто отстаёт. Дедлайны срывались — обычно тихо.
Плюс не было нормального способа отправить сообщение «всем в этом магазине» или «всем в этом отделе». HR координировал такие рассылки руками через руководителей и чаты.
Мы синхронизируем LMS по расписанию, дифаем состояние и генерируем события, которых платформа не отдаёт. Дальше работает движок правил: уведомление при назначении курса, повторы каждые 7 дней пока курс открыт, уведомление о завершении и эскалация руководителю, если дедлайн прошёл.
На стороне рассылок — админка, в которой HR выбирает аудиторию: магазин, отдел, офис, список номеров — и отправляет сообщение в Telegram и WhatsApp одновременно.
Регулярный джоб тянет назначения и статусы из Moko и Magnum Space, собирает события, которых платформы не отдают, и кормит ими нотификатор.
Сообщение при назначении. Повтор каждые 7 дней пока курс открыт. Сообщение о завершении. Уведомление о просроченном сроке с пингом руководителю.
Просроченные дедлайны уходят и сотруднику, и его руководителю — разговор уходит из инбокса HR.
HR собирает сообщение в админке и выбирает аудиторию по магазину, отделу, офису или списку номеров. Один шаг, два канала.
Один и тот же payload, оба канала — берётся тот, которым сотрудник уже пользуется.
LMS отдавала снимки статусов, не события. Поэтому тяжёлая часть — на нашей стороне: забирать достаточно часто, дифать дёшево и считать диф основным источником правды для всего, что идёт ниже. Когда события чистые, правила напоминаний и маршрутизация по каналам делаются просто.
На рассылочной стороне переиспользуется тот же слой доставки. Админка превращает «этот отдел, этот офис» в список номеров, который уходит в тот же пайплайн Telegram + WhatsApp.
Сотрудники получают напоминания в нужный момент, а руководитель видит, кто отстаёт — разговор о сроке случается до того, как он сорван.
Таргетированные рассылки заменяют цепочки «перешли в свой магазин». Сообщение доходит до тех, кому оно было адресовано.
Telegram и WhatsApp работают на одном бэкенде — новый шаблон, новая аудитория или новое правило настраиваются один раз.
Отвечаем в течение одного рабочего дня. На первом созвоне Азамат подключается лично: честно разбираем объём работ, бюджет и риски с человеком, который отвечает за поставку.