## Документация API проверки ТС в РНИС (rnis.mos.ru) Сервис позволяет по государственному регистрационному номеру проверить наличие транспортного средства в Единой региональной навигационно-информационной системе города Москвы (РНИС) и получить время последней навигационной отметки. Источник данных — `rnis.mos.ru`. ### Проверка транспортного средства Для проверки ТС используйте следующий запрос: ``` https://service.api-assist.com/parser/rnis_api/?key=ВАШ_КЛЮЧ_ДОСТУПА®Number=ГОСНОМЕР_ТС ``` **Параметры запроса:** - **key** — ключ доступа к сервису (обязательный). - **regNumber** — государственный регистрационный номер ТС (обязательный), например `Т160ХО774`. **Пример запроса:** ``` https://service.api-assist.com/parser/rnis_api/?key=ВАШ_КЛЮЧ_ДОСТУПА®Number=Т160ХО774 ``` **Пример ответа на запрос:** Ответ возвращается в формате JSON. При успешной проверке поле `record` содержит информацию о транспортном средстве: ```json { "success": 1, // Флаг успешности выполнения запроса. При получении 0 сделайте повторный запрос сразу же или через несколько минут. "record": { // Информация о транспортном средстве. Отсутствует, если ТС по указанному госномеру в РНИС не найдено. "regNumber": "Т160ХО774", // Государственный регистрационный номер ТС (по данным источника) "lastMark": "2026-06-22 21:04:51", // Дата и время последней навигационной отметки (МСК), формат YYYY-MM-DD HH:MM:SS. null, если отметок нет. "sources": [ // Источники навигационных данных по этому ТС { "type": "Wialon", // Тип источника телеметрии "originType": "Wialon", // Исходный тип источника "bnsoNumber": "" // Номер бортового навигационно-связного оборудования (может быть пустым) } ] } } ``` **Пример ответа, когда ТС не найдено:** Поле `record` отсутствует. ```json { "success": 1 } ``` ### Интерпретация ответа и обработка ошибок **Общие рекомендации:** - Если поле `success` заполнено и `success = 1` — перед вами успешный ответ, с которым можно работать. Только такие запросы учитываются в статистике и расходуют оплаченный лимит. - Иначе, если поле `error` заполнено — запрос требует вашего внимания. Текст ошибки рекомендуется сохранить или отправить для дальнейшего анализа. - Иначе, если поле `error` не заполнено — это ошибка, связанная со стабильностью источника. В таком случае мы рекомендуем игнорировать ответ и повторить запрос. #### 1. Код ответа — 200 - Поле `success = 1` — удалось получить информацию от источника. Такие и только такие запросы можно запускать в дальнейшую обработку. - При наличии `record` — ТС найдено в навигационной системе. - При отсутствии `record` — ТС по указанному госномеру не найдено. - Поле `success = 0` — не удалось получить информацию от источника. Запрос не будет учтён в статистике. Необходимо повторить запрос. #### 2. Код ответа — 403 Выдаётся сервисом в случае невозможности обработки запроса из-за ограничения доступа: закончилась подписка, превышен лимит и так далее. Причины ошибок отражены в поле `error` ответа. Ниже приведён список возможных ошибок с их описанием и кодами: - **Invalid access key** `error_code = 40301` Указанный ключ доступа недействителен или отсутствует. - **The subscription period has expired** `error_code = 40302` Доступ к сервису истёк, требуется продление. - **Invalid IP** `error_code = 40303` Запрос выполнен с IP-адреса, который не разрешён для доступа. - **Day limit of requests exceeded** `error_code = 40304` Достигнут оплаченный лимит запросов на день. - **Month limit of requests exceeded** `error_code = 40305` Достигнут оплаченный лимит запросов на месяц. **Пример ответа:** ```json { "error": "Invalid access key", "error_code": 40301 } ``` #### 3. Код ответа — 400 Выдаётся сервисом в случае невозможности обработки запроса из-за ошибки валидации, неверного или отсутствующего значения какого-либо поля. Поле `error_code` всегда равно `40001`, подробности доступны в поле `error`. **Пример ответа:** ```json { "error": "regNumber is required", "error_code": 40001 } ```