> ## Documentation Index
> Fetch the complete documentation index at: https://docs.yume.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# Сервис автоштрафов (штрафы и синхронизация авто)

> Интеграция с сервисом автоштрафов: синхронизация автопарка, импорт штрафов ПДД, их сопоставление с арендами и рассылка клиентам уведомлений через WhatsApp.

Интеграция с внешним сервисом автоштрафов отвечает за синхронизацию автомобилей и импорт штрафов ПДД. Компания
привязывает свои машины к сервису автоштрафов, после чего система тянет по ним штрафы — вместе с автомобилем, водителем и компанией-нарушителем —
сопоставляет их с активными арендами и рассылает клиентам уведомления о штрафах через WhatsApp.

Управление синхронизацией, активацией и деактивацией авто, а также просмотром штрафов вынесено в админку платформа и в API компании.
Внутри модуль делится на два потока: сначала автопарк заводится и поддерживается в актуальном состоянии, а затем по нему приходят
штрафы, которые нужно записать, сопоставить с арендой и довести до клиента.

## Разделы

<CardGroup cols={2}>
  <Card title="Модель данных" icon="database" href="/ru/logic/auto-penalties/models">
    Справочные и транзакционные модели сервиса автоштрафов: автомобили, водители, компании-нарушители, штрафы, привязка машин к арендодателю
    и логи синхронизации.
  </Card>

  <Card title="Синхронизация автомобилей" icon="arrows-rotate" href="/ru/logic/auto-penalties/car-sync">
    Выгрузка списка авто из сервиса автоштрафов, сверка активных и неактивных, удаление «ничьих» машин и активация/деактивация отдельного
    авто через API.
  </Card>

  <Card title="API компании: авто и штрафы" icon="list-check" href="/ru/logic/auto-penalties/company-api">
    Адреса арендодателя: привязка своих машин к сервису автоштрафов и просмотр штрафов только по ним, с сопоставлением аренд, клиентов
    и фильтрами.
  </Card>

  <Card title="Уведомления о штрафах" icon="whatsapp" href="/ru/logic/auto-penalties/notifications">
    Сопоставление нового штрафа с активной арендой и отправка клиенту двуязычного WhatsApp-сообщения с PDF плюс запись в общий
    центр уведомлений.
  </Card>
</CardGroup>

## Как всё устроено

В основе модуля лежит одна связка идентификаторов: у каждой внешней сущности сервиса автоштрафов (авто, водитель, компания-нарушитель, штраф)
есть собственный постоянный **внешний ID**, и именно по нему система решает, создавать новую запись или обновлять уже известную.
Этот идентификатор — сквозной ключ дедупликации через всю [модель данных](/ru/logic/auto-penalties/models) и весь конвейер импорта.

Все обращения к внешнему сервису идут через единый клиент API: он авторизуется, кэширует токен,
повторяет запросы при временных сбоях и разбивает большие списки на страницы. На нём стоят оба рабочих потока модуля.

* **Автопарк.** [Синхронизация автомобилей](/ru/logic/auto-penalties/car-sync) поддерживает локальный справочник в соответствии с тем, что
  заведено в сервисе автоштрафов, а привязка машин компании определяет, за какие авто вообще отвечает какой арендодатель. Без такой привязки
  машина считается «ничьей» и снимается со слежения.
* **Штрафы.** Импорт штрафов наполняет справочники и записывает сами штрафы — плановой постраничной
  выгрузкой либо входящим вебхуком. После записи догружаются PDF-протоколы, а в самом конце цепочки запускается рассылка.

<Note>
  Автопарк — фундамент, штрафы — производное от него. Штраф доводится до клиента только тогда, когда его автомобиль связан с
  компанией через [привязку](/ru/logic/auto-penalties/models), а момент нарушения попадает в окно активной аренды. Именно по этой цепочке
  [рассылка уведомлений](/ru/logic/auto-penalties/notifications) находит клиента-арендатора и отправляет ему WhatsApp-сообщение; создание
  записи об уведомлении и есть команда «отправить», а уникальность «телефон + штраф» защищает от дублей.
</Note>

Оператор работает с этим через [API компании](/ru/logic/auto-penalties/company-api): арендодатель привязывает свои
машины и смотрит штрафы только по ним.

Полный перечень моделей и полей — в глоссариях соответствующих разделов.
