API Московский транспорт (transport.mos.ru) - API-CLOUD
Документация по работе с API Московский транспорт (transport.mos.ru)

Алгоритм получения результата запроса с помощью нашего сервиса достаточно прост и практически одинаков для всех видов ресурсов.
Получите ваш персональный ключ API в настройках вашего аккаунта.
для каждого пользователя генерируется уникальный аутентификационный токен, мы называем "персональный ключ API". Это строка из 32 символов, которая выглядит примерно так:
53ba1b7a55abbа14aa97eff3a5220792
Этот ключ используется для всех ваших запросов к api-cloud.
Отправьте запрос HTTP POST на URL нашего API: https://api-cloud.ru/api/transportMos.php с персональным ключом API и параметрами.
function get_rez($url) {
		$ch = curl_init($url);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER,true);
		curl_setopt($ch,CURLOPT_TIMEOUT,120); // Таймаут необходим, поскольку 30 секунд может не хватить и вы не получите ответ 
		$res = curl_exec($ch);
		curl_close($ch);
		return $res;
	}

  $data = [
    'type' => 'Тип запроса (type)',
    ...
    Необходимы для запроса параметры
    ...
    'token' => 'Токен',
    ];

    // Структурированная ссылка для GET запроса
    $url = 'https://api-cloud.ru/api/transportMos.php?' . http_build_query($data);

    $data = get_rez($url); // Результат ответа (JSON)
Сервер вернёт результат обработки или код ошибки, если что-то пошло не так.
Сервер возвращает ответ в формате JSON.
История изменений/обновлений API
Предупреждение Установите таймаут (TIMEOUT) ожидания минимум 120 секунд, иначе вы можете не получить результат, ваш код может прерваться не дождавшись ответа
type (Метод) Описание Параметры в запросе
В одном запросе возможно отправить только 1 тип
pass Проверить пропуск для грузового транспорта
🔑 Вывод данных по пропускам
Обязательные
Поиск по серии и номеру пропуска
licenseSeries - Серия пропуска
Разрешено: буквы кириллицы
Маска: ББ, БА, МБ, МК
licenseNumber - Номер пропуска
Разрешено: цифры
token - персональный ключ API

Поиск по гос. номеру
regNumber - Регистрационный номер транспортного средства
Разрешено: кириллица, латиница, цифры, знаки "-"
token - персональный ключ API

Дополнительные
onlyActual=1 - фильтр по признаку "Действующий пропуск"
Фильтры применимые с дополнительными (только 1 фильтр из списка)
dayannual=1 - в результате только "Дневной Годовой" пропуски
nightannual=1 - в результате только "Ночной Годовой" пропуски
dayonetime=1 - в результате только "Дневной Разовый" пропуски
nightonetime=1 - в результате только "Ночной Разовый" пропуски
rnis Проверка регистрации ТС в РНИС
🔑 Статус регистрации ТС в системе РНИС
🔑 Телематика передается/не передается
🔑 Время/дата передачи телематики
🔑 Информация о БНСО
Обязательные
regNum - Регистрационный номер ТС
Разрешено: латиница, кириллица, цифры, знаки "-"
token - персональный ключ API
Примеры запросов

История изменений API Московский транспорт

дата что изменилось
07.06.2024

Метод rnis:
Добавлен массив бортовое навигационно-связное оборудование (bnsoList)
Подробнее в документации

15.03.2024

Добавлена маска для обработки корректности серии пропуска (licenseSeries).
Разрешены значения: ББ, БА, МБ, МК
Если переданное значение ей не соответствует, то вернется ошибка:
{"error":"334","message":"SERIES_INCORRECT_MASK"}

31.10.2023

Метод "pass", добавили возможность проверки иностранных регистрационных знаков.

09.08.2023

Тип запороса pass: В "list" переименован ключ с "ГРЗ" на "grz"

09.08.2023

Тип запороса pass: В "list" переименован ключ с "ГРЗ" на "grz"

09.08.2023

Тип запороса pass: В "list" переименован ключ с "ГРЗ" на "grz"

09.08.2023

В "list" переименован ключ с "ГРЗ" на "grz"

16.05.2023

В типе запроса pass добавили фильтры вывода в результате:
dayannual=1 - в результате только "Дневной Годовой" пропуски
nightannual=1 - в результате только "Ночной Годовой" пропуски
dayonetime=1 - в результате только "Дневной Разовый" пропуски
nightonetime=1 - в результате только "Ночной Разовый" пропуски
Передавать можно только 1 параметр фильтра, при передаче нескольких параметров возникнет ошибка "PARAMETER_FILTER_CONFLICT"

08.04.2023

1. Оптимизировали скорость обработки по типу запроса "pass"
2. Выполнена перенастройка под источник.

20.03.2023

Метод запроса pass: Пофиксили ошибку "Повторите запрос"

13.03.2023

По методу запроса "pass" добавили возможность вывода в результате только действующих пропусков. Необходимо передать свойство onlyActual=1 вместе с запросом.

01.03.2023

Для метода pass исправили ошибку, при которой нельзя было запросить информацию по конкретному пропуску.

16.02.2023

Исправлены мелкие баги в работе, которые приводили к высокой нагрузке на сервис.

03.12.2022

Починили работу метода pass. Работает в штатном режиме.

21.11.2022

Тип запроса (pass) потерпел некоторые изменения, которые потребуют за собой небольшие правки в вашем коде.
1. Чтобы проверить пропуска по гос. номеру, то теперь не нужно передавать свойство licenseSeries, передаем только свойство regNumber
2. В результате поиска пропал ключ datecancellation, вместо него появился ключ tip - тип пропуска (Годовой,Разовый)
3. В ключах startdate и validitydate пропало время, только дата.
Документация обновлена согласно изменениям.

24.10.2022

По типу запроса rnis добавили латиницу в исключения при проверке свойства regNum.
Необходимо для отправки запроса с иностранными номерами.

23.10.2022

В массив inquiry добавили ключ balance. Вывод текущего баланса после запроса, позволит не отправлять дополнительные запросы на проверку баланса. 

27.09.2022

Починили type->rnis

21.04.2022

1. Добавлен заголовок "Content-type: application/json; charset=utf-8"
2. Запросы теперь отправляются не GET, а POST.

16.03.2022

Обновили алгоритмы type->pass и type->rnis

22.01.2022

Новый тип запроса - rnis
Проверка регистрации ТС в РНИС

Возможные коды ошибок

код (error) Описание ошибки (message)
888 ИМЯ передаваемой переменной: forbidden symbols present
В переменной ИМЯ присутствуют запрещенные символы
766 MISSING_MANDATORY_PARAMETER
Отсутствуют обязательные параметры
602 TOKEN_NO_ACCESS
Нет доступа к запрашиваему методу запроса
505 MISSING_REQ_REGNUM_STS_PARAM
Ошибка в переданных параметрах regnum или sts
504 TOKEN_LOCKED_IN_THE_SYSTEM
Переданный токен заблокирован службой качества / автоматической системой
503 TOKEN_NOT_REGISTERED_IN_THE_SYSTEM
Переданный токен не зарегистрирован в системе
502 MISSING_REQUIRED_TOKEN_PARAMETER
Отсутствует параметр token
500 MISSING_REQUIRED_TYPE_PARAMETER
Отсутствует параметр type
499 WRONG_TOKEN_KEY
Вы указали значение параметра token в неверном формате, ключ должен содержать 32 символа.
498 TOKEN_NO_MONEY
Для выполнения запроса недостаточно средств, пополните баланс.
460 NO_REQUIRED_PARAMETERS
Отсутствуют обязательные параметры
456 MAX_LIMIT
Превышено количество одновременных соединений (потоки)
404 TIME_MAX_CONNECT
Достигнуто максимальное количество коннектов, при которых ресурс не вернул результата. Повторите попытку позже.
334 SERIES_INCORRECT_MASK
Параметр серии пропуска не соответствует маске
333 PARAMETER_FILTER_CONFLICT
Конфликт переданных параметров фильтрации. Возможно передать только 1 фильтр
123 IP_NOT_REGISTERED_IN_THE_SYSTEM
Сработала защита IP. Текущий IP не совпадает с заданным в ЛК
111 PARAMETER_CONFLICT
Вы указали параметры, которые конфликтуют между собой. Например VIN и regNumber. Необходимо указать либо VIN либо regNumber, что-то одно.
015 DATE_ERROR
Ошибка значения переданной даты
005 TEST_TIME_OFF
Закончился период тестирования
003 TOKEN_BLOCKED_BY_QUALITY_SERVICE
Ваш токен заблокирован службой качества. Свяжитесь с технической поддержкой
002 TOKEN_TEHBLOCK
Установлена техническая блокировка токена. Включить или выключить можно самостоятельно в настройках безопасности.
001 API_SUSPENDED
Работа этого API временно приостановлена. Мы уже в курсе проблемы и занимаемся решением. Повторите запрос позже.
Пример ответа с ошибкой

{"error":"503","message":"TOKEN_NOT_REGISTERED_IN_THE_SYSTEM"}