> ## 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.

# Глоссарий: Синхронизация автомобилей

> Справочник моделей, клиента API и служебных сущностей интеграции сервиса автоштрафов — по ним автомобили компании привязываются к внешнему сервису и подтягиваются штрафы.

Справочник к странице [«Синхронизация автомобилей»](/ru/logic/auto-penalties/car-sync).

## Понятия

| Понятие                                      | Значение                                                                                                                                          |
| -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------- |
| Автомобиль сервиса автоштрафов               | Автомобиль, известный сервису автоштрафов, по которому подтягиваются штрафы.                                                                      |
| Привязка авто компании к сервису автоштрафов | Связь автомобиля компании (единицы инвентаря) с автомобилем сервиса автоштрафов.                                                                  |
| Клиент API сервиса автоштрафов               | HTTP-клиент к сервису автоштрафов: авторизуется, кэширует токен, повторяет запросы при сбоях и предоставляет методы для работы с авто и штрафами. |
| Ошибка API сервиса автоштрафов               | Исключение при сбоях запросов к сервису автоштрафов: ошибка авторизации, неуспешный ответ, отсутствие токена.                                     |
| Результат фоновой задачи                     | Стандартная запись о ходе и итоге фоновой задачи; служит защитой от параллельных запусков.                                                        |

## Модели и поля

### Автомобиль сервиса автоштрафов

*Автомобиль, известный сервису автоштрафов, по которому подтягиваются штрафы. Внешний идентификатор уникален во внешнем сервисе.*

**Идентификация**

| Поле              | Тип   | Описание                                          |
| ----------------- | ----- | ------------------------------------------------- |
| Внешний ID        | число | Уникальный идентификатор авто во внешнем сервисе. |
| Номер автомобиля  | текст | Госномер автомобиля.                              |
| Номер техпаспорта | текст | Номер технического паспорта авто.                 |

**Состояние**

| Поле           | Тип        | Описание                                         |
| -------------- | ---------- | ------------------------------------------------ |
| Дата активации | дата/время | Когда авто было активировано для синхронизации.  |
| Активен        | флаг       | Включена ли синхронизация штрафов по этому авто. |

**Служебное**

| Поле            | Тип        | Описание                            |
| --------------- | ---------- | ----------------------------------- |
| Дата создания   | дата/время | Момент появления записи в системе.  |
| Дата обновления | дата/время | Момент последнего изменения записи. |

### Привязка авто компании к сервису автоштрафов

*Связь автомобиля компании (единицы инвентаря) с автомобилем сервиса автоштрафов. Привязка уникальна по сочетанию компании, автомобиля сервиса автоштрафов и единицы инвентаря.*

| Поле                           | Тип   | Описание                                                      |
| ------------------------------ | ----- | ------------------------------------------------------------- |
| Компания                       | связь | Компания, которой принадлежит привязка.                       |
| Автомобиль сервиса автоштрафов | связь | Связанный автомобиль сервиса автоштрафов (может быть пустым). |
| ID единицы инвентаря           | число | ID автомобиля в инвентаре компании.                           |

**Служебное**

| Поле            | Тип        | Описание                              |
| --------------- | ---------- | ------------------------------------- |
| Дата создания   | дата/время | Момент создания привязки.             |
| Дата обновления | дата/время | Момент последнего изменения привязки. |

### Клиент API сервиса автоштрафов

*HTTP-клиент к сервису автоштрафов: авторизуется, запоминает токен доступа, повторяет запросы при сбоях и предоставляет методы для работы с авто и штрафами. Токен кэшируется на 1 час; при ответе 401 он сбрасывается и запрос повторяется после повторной авторизации.*

**Конфигурация**

| Поле               | Тип              | Описание                                                        |
| ------------------ | ---------------- | --------------------------------------------------------------- |
| Базовый URL        | текст            | Адрес сервиса автоштрафов; берётся из настройки.                |
| Логин (identifier) | текст            | Логин для авторизации; из настроек.                             |
| Пароль             | текст            | Пароль для авторизации; из настроек.                            |
| Таймаут запроса    | пара чисел (сек) | Таймаут на соединение и на чтение; по умолчанию (5, 30) секунд. |

**Состояние**

| Поле                  | Тип    | Описание                                                 |
| --------------------- | ------ | -------------------------------------------------------- |
| HTTP-сессия           | объект | Сессия с настроенной retry-политикой и пулом соединений. |
| Текущий токен доступа | текст  | Активный токен авторизации в памяти клиента.             |

**Константы**

| Поле                         | Тип               | Описание                                          |
| ---------------------------- | ----------------- | ------------------------------------------------- |
| Ключ кэша токена             | текст (константа) | Ключ для хранения токена авторизации.             |
| Время жизни токена в кэше    | число (сек)       | 3600 секунд (1 час).                              |
| Размер страницы по умолчанию | число             | 100 записей на страницу при постраничной выборке. |

**Retry-политика**

| Поле                 | Тип            | Описание                                           |
| -------------------- | -------------- | -------------------------------------------------- |
| Число повторов       | число          | До 3 повторных попыток при сбойных ответах.        |
| Коэффициент задержки | число          | Множитель нарастающей паузы между повторами — 0.5. |
| Статусы для повтора  | список кодов   | HTTP-коды, вызывающие повтор — 500, 502, 503, 504. |
| Методы для повтора   | список методов | GET, POST, DELETE, PUT, PATCH.                     |

**Методы**

| Поле                    | Тип   | Описание                                                                     |
| ----------------------- | ----- | ---------------------------------------------------------------------------- |
| Авторизация             | метод | Авторизация по логину и паролю; сохраняет полученный токен в кэш.            |
| Получить штрафы         | метод | Постраничная выборка штрафов с фильтрами.                                    |
| Получить список авто    | метод | Постраничная выборка списка авто с фильтрами.                                |
| Найти авто              | метод | Поиск авто по гос-номеру и техпаспорту; возвращает признак наличия и данные. |
| Добавить авто           | метод | Создание авто с номером и техпаспортом.                                      |
| Удалить авто            | метод | Удаление авто; возвращает признак успеха.                                    |
| Обновить авто           | метод | Пересоздание: сначала удаляет, затем создаёт авто заново.                    |
| Обновить штрафы по авто | метод | Принудительное обновление штрафов по списку авто.                            |

### Ошибка API сервиса автоштрафов

*Исключение, выбрасываемое при сбоях запросов к сервису автоштрафов (ошибка авторизации, неуспешный HTTP-ответ, отсутствие токена). Несёт HTTP-код и тело ответа для диагностики.*

| Поле        | Тип                 | Описание                                                       |
| ----------- | ------------------- | -------------------------------------------------------------- |
| Сообщение   | текст               | Текст ошибки.                                                  |
| HTTP-код    | число               | Код ответа, при котором возникла ошибка (может отсутствовать). |
| Тело ответа | произвольные данные | Сырой ответ сервиса для диагностики.                           |

### Результат фоновой задачи

*Стандартная запись о ходе и итоге фоновой задачи. Используется как защита от параллельных запусков: проверяются незавершённые задачи того же имени за последний час.*

| Поле             | Тип        | Описание                                                                               |
| ---------------- | ---------- | -------------------------------------------------------------------------------------- |
| Имя задачи       | текст      | Полное имя фоновой задачи; по нему ищутся уже запущенные экземпляры.                   |
| Статус           | текст      | Состояние задачи; для блокировки берутся незавершённые статусы.                        |
| Дата создания    | дата/время | Момент постановки задачи; ограничивает окно проверки (по умолчанию 1 час).             |
| Аргументы задачи | текст      | Сериализованные аргументы; проверяются на вхождение подстроки для точечной блокировки. |
