Проверить организацию
GET https://www.rsnmo.ru/api/v1/company?inn=7707329152
Передавайте ИНН строкой из 10 или 12 цифр с корректными контрольными цифрами. Начальные нули сохраняются. Ключ доступа на этом этапе не требуется.
Формат ответа
api_version — версия контракта; request_id — идентификатор запроса, также в заголовке X-Request-ID; data — сведения; meta — ограничения и состояния источников. В успешном ответе error равен null.
data.found=false означает, что в загруженных данных сведений не найдено. Это не подтверждает отсутствие организации. Успешный поиск, в том числе без совпадений, возвращает HTTP 200.
Как понимать источники
| Поле / значение | Значение |
|---|---|
lookup_status: found | В ответе есть записи этого источника. |
no_local_data | Локальный поиск выполнен, пригодных для ответа записей нет. Отсутствие сведений в официальном реестре не подтверждено. |
not_checked | Проверка этого источника не выполнена. |
unavailable | Компонент не удалось прочитать; результат по нему неизвестен. |
update_status | fresh, stale, unavailable или unknown — состояние обновления источника, отдельно от наличия сохранённых данных. |
data_loaded_at | Дата загрузки самых новых из возвращённых записей, если известна. |
last_successful_import_at | Последний успешный импорт по отчёту мониторинга. Это не дата выпуска документа и не дата проверки этой организации. |
Состояние fresh означает соблюдение контрольного интервала обновления, а не актуальность каждого документа. Если отчёт мониторинга отсутствует или старше 48 часов, состояние обновления — unknown. Источники, работающие по отдельным ИНН, не считаются полными снимками реестра.
Полная загруженная история реестров
GET /api/v1/registry-history?inn=7732121398&source=fsa-certificates-official&limit=30&offset=0
Метод возвращает все загруженные записи выбранного источника постранично. Название источника передавайте в source — это source_key из сведений о компании или списка на странице поиска. По умолчанию выбраны сертификаты ФСА. Финансовые и закупочные разделы компании в этот метод не входят.
Фильтры number и status ищут подстроку без учёта регистра; для статуса «е» и «ё» равнозначны. date_from и date_to задают включительный интервал даты записи в формате YYYY-MM-DD. Это дата из соответствующего реестра, а не дата загрузки или проверки. Записи без распознаваемой даты не попадают в интервал.
limit — от 1 до 100 (по умолчанию 30); offset — от 0 до 10000000. В data находятся items, total (все совпадения выбранного источника с учётом фильтров), returned, has_more и next_offset. Передавайте next_offset для следующей страницы, сохраняя фильтры. После смены фильтров начинайте с offset=0.
Порядок: дата по убыванию, затем устойчивый идентификатор строки record_id. Разные записи с одинаковым номером сохраняются отдельно. Счётчик относится к загруженным строкам, а не ко всему официальному реестру. Во время импортов между запросами страницы могут меняться; при длительной выгрузке учитывайте record_id.
Ошибки метода: 400 — invalid_inn, invalid_source, invalid_filters, invalid_pagination; 405 — неверный метод; 429 — превышение частоты; 503 — source_unavailable. Ошибка источника не означает отсутствие записей. Метод истории только читает локальные данные.
Ссылки на выборку и CSV
На странице поиска примените фильтры истории и нажмите «Скопировать ссылку». Ссылка сохраняет ИНН, источник, номер, статус и даты; при открытии загружается первая страница. Ссылка сохраняет условия поиска, а не снимок данных: после обновления источника результат может измениться. Кнопка «Сбросить фильтры» очищает условия и адрес.
GET /api/v1/registry-history?inn=7732121398&source=fsa-certificates-official&format=csv скачивает все совпадения выбранного источника с теми же фильтрами. limit и offset в CSV не ограничивают выгрузку. Формат по умолчанию — json.
CSV: UTF-8 с BOM, разделитель «;», первая строка — заголовки. Содержит ИНН, название и код источника, запись, номер, статус, дату записи, дату загрузки и идентификатор строки. X-Total-Count содержит число выгруженных записей. При отсутствии совпадений скачивается только строка заголовков.
Все строки выгрузки читаются из одного снимка базы. Файл выдаётся после завершения формирования. Если выгрузка превышает 64 МиБ или отведённое время формирования, метод возвращает 422 export_too_large и предлагает сузить фильтры, без частичного CSV. Ошибка источника возвращает 503. Неизвестный format — 400 invalid_format.
Для безопасного открытия в электронных таблицах значения с признаками формул и числовые строки с начальными нулями получают начальный апостроф. При программном чтении учитывайте это представление; исходные значения доступны в JSON.
Полнота и ограничения
meta.completeness=partial: ответ построен по локальным данным. История контрактов загружена не полностью, события судов и банкротств пока не загружены. Массивы ограничены; returned_records — число возвращённых строк, не общий объём реестра. Источники в meta.sources описывают реестры и основные наборы финансовых, регистрационных и закупочных данных; производные поля могут объединять несколько источников.
Запрос может поставить отсутствующие или устаревшие сведения в существующую очередь фонового обогащения. Ответ не ожидает её завершения. Пакетные запросы, персональные ключи и webhooks пока не реализованы.
Ошибки и частота запросов
400 — invalid_inn; 405 — method_not_allowed; 429 — rate_limited; 500 — internal_error. Ошибка содержит error.code и error.message, а data=null.
На сервере применяется ограничение 5 запросов в секунду на адрес с небольшим допустимым всплеском. При 429 учитывайте Retry-After и увеличивайте паузу. Не запускайте массовую проверку параллельными одиночными запросами.
Совместимость
Существующий /api_inn.php?inn=... продолжает работать в прежнем формате. У него своя внутренняя нумерация версии; API v1 — отдельный контракт. В версии 1 возможны дополнительные поля; потребитель должен игнорировать неизвестные поля. Несовместимые изменения потребуют новой версии. Денежные значения могут передаваться десятичными строками для сохранения точности.