Разделы
Модель данных
Справочные и транзакционные модели сервиса автоштрафов: автомобили, водители, компании-нарушители, штрафы, привязка машин к арендодателю
и логи синхронизации.
Синхронизация автомобилей
Выгрузка списка авто из сервиса автоштрафов, сверка активных и неактивных, удаление «ничьих» машин и активация/деактивация отдельного
авто через API.
API компании: авто и штрафы
Адреса арендодателя: привязка своих машин к сервису автоштрафов и просмотр штрафов только по ним, с сопоставлением аренд, клиентов
и фильтрами.
Уведомления о штрафах
Сопоставление нового штрафа с активной арендой и отправка клиенту двуязычного WhatsApp-сообщения с PDF плюс запись в общий
центр уведомлений.
Как всё устроено
В основе модуля лежит одна связка идентификаторов: у каждой внешней сущности сервиса автоштрафов (авто, водитель, компания-нарушитель, штраф) есть собственный постоянный внешний ID, и именно по нему система решает, создавать новую запись или обновлять уже известную. Этот идентификатор — сквозной ключ дедупликации через всю модель данных и весь конвейер импорта. Все обращения к внешнему сервису идут через единый клиент API: он авторизуется, кэширует токен, повторяет запросы при временных сбоях и разбивает большие списки на страницы. На нём стоят оба рабочих потока модуля.- Автопарк. Синхронизация автомобилей поддерживает локальный справочник в соответствии с тем, что заведено в сервисе автоштрафов, а привязка машин компании определяет, за какие авто вообще отвечает какой арендодатель. Без такой привязки машина считается «ничьей» и снимается со слежения.
- Штрафы. Импорт штрафов наполняет справочники и записывает сами штрафы — плановой постраничной выгрузкой либо входящим вебхуком. После записи догружаются PDF-протоколы, а в самом конце цепочки запускается рассылка.
Автопарк — фундамент, штрафы — производное от него. Штраф доводится до клиента только тогда, когда его автомобиль связан с
компанией через привязку, а момент нарушения попадает в окно активной аренды. Именно по этой цепочке
рассылка уведомлений находит клиента-арендатора и отправляет ему WhatsApp-сообщение; создание
записи об уведомлении и есть команда «отправить», а уникальность «телефон + штраф» защищает от дублей.