АПИ для РМСП

АПИ для РМСП предоставляет разделы выписки из реестра малого и среднего предпринимательства, историю изменений, сводку и PDF-выписки по компаниям мониторинга. В веб-приложении этим данным соответствует раздел /MonitoringResultListRmsp.

Подключение и API KEY

Скопируйте API KEY пользователя в разделе «Интеграция — API». Порядок получения ключа описан в статье «Открытое API системы СУДиДЕЛО». Базовый адрес: https://api-sudodelo.torkndgov.ru. Методы и схемы ответов: Swagger, MonitoringCompanies.

Во всех методах этой статьи apiKey передаётся в строке запроса. Ключ определяет пользователя и его организацию; доступны только записи мониторинга этой организации. Храните ключ на сервере интеграции и исключайте его из публичных ссылок и журналов.

1. Найти или добавить организацию

Сначала найдите компанию по ИНН. В адресах следующих методов {id} означает идентификатор компании мониторинга, а не ИНН, ОГРН или идентификатор найденного дела.

GET /api/MonitoringCompanies/id-by-inn-or-name?apiKey=YOUR_API_KEY&inn=ИНН_ОРГАНИЗАЦИИ

Возьмите items[].id нужной компании. Можно искать по name — части названия; нужен хотя бы один из параметров inn и name. Если заданы оба, достаточно совпадения по любому из них. При hasMore=true уточните запрос: возвращается до 100 совпадений.

Для обхода всех компаний используйте GET /api/MonitoringCompanies?apiKey=YOUR_API_KEY&numberPage=1&pageSize=100. В этом ответе идентификатор компании называется items[].dicElementId.

Если компании ещё нет, добавьте её в мониторинг:

POST /api/MonitoringCompanies?apiKey=YOUR_API_KEY
Content-Type: application/json

{
  "companyName": "НАЗВАНИЕ_ОРГАНИЗАЦИИ",
  "inn": "ИНН_ОРГАНИЗАЦИИ"
}

Замените значения реальными реквизитами. Поля companyName и inn обязательны. Сохраните dicElementId из созданной карточки. Повторное добавление того же ИНН возвращает 400: используйте существующую запись. После добавления запускается фоновый сбор сведений; результаты могут появиться не сразу.

Для РМСП поддерживаются ИНН из 10 цифр (юридические лица) и 12 цифр (индивидуальные предприниматели).

2. Получить разделы выписки РМСП

GET /api/MonitoringCompanies/{id}/rmsp?apiKey=YOUR_API_KEY&dateFrom=2026-01-01&dateTo=2026-09-28

Параметры dateFrom и dateTo необязательны; передавайте даты в формате YYYY-MM-DD. Если фильтр периода не нужен, опустите их. Параметры пагинации у методов разделов, истории и сводки отсутствуют. Пример:

curl --fail --get "https://api-sudodelo.torkndgov.ru/api/MonitoringCompanies/12345/rmsp" \
  --data-urlencode "apiKey=YOUR_API_KEY" \
  --data-urlencode "dateFrom=2026-01-01" \
  --data-urlencode "dateTo=2026-09-28"

Здесь и ниже замените 12345 на идентификатор компании и YOUR_API_KEY на ключ пользователя. Даты в примерах задают иллюстративный период.

При успешном вызове метод возвращает JSON-объект с данными выписки РМСП. Ниже перечислены поля верхнего уровня этого ответа и их назначение:

  • monitoringCompanyId, inn, companyName — идентификатор компании, ИНН и наименование
  • dateFrom, dateTo — запрошенные границы периода
  • pdfUrl — адрес актуальной PDF во внешнем сервисе РМСП
  • sections — массив разделов выписки

Каждый раздел содержит name и массив records. Поля записи: parameter (название поля), value (значение), grn, date и isSuperseded (запись устарела относительно более поздней записи того же параметра). Значения и даты внутри записей могут быть строками или null.

3. Получить историю изменений

GET /api/MonitoringCompanies/{id}/rmsp/history?apiKey=YOUR_API_KEY&dateFrom=2026-01-01&dateTo=2026-09-28

Ответ включает сведения о компании и периоде, pdfUrl, totalChanges и массив events. Поля события:

  • detectedAt — дата и время обнаружения изменений
  • extractionId — идентификатор извлечения выписки
  • vypiskaIssueDate — дата выдачи выписки
  • currentPdfUrl — адрес актуальной PDF на момент события
  • archivePdfUrls — ссылки на архивные PDF
  • pdfFileNames — имена файлов
  • changes — изменения полей

В changes[] находятся fieldPath (технический путь), fieldLabelRu (русское название), changeType (например, added, changed, removed), oldValue и newValue. Используйте эти поля для отображения «было → стало». Дата обнаружения и дата выдачи выписки имеют разное назначение.

4. Получить сводку изменений

GET /api/MonitoringCompanies/{id}/rmsp/summary?apiKey=YOUR_API_KEY&dateFrom=2026-01-01&dateTo=2026-09-28

Кроме сведений о компании, периоде и pdfUrl, ответ содержит:

  • eventCount — число событий с изменениями, включёнными в сводку
  • fields — уникальные названия изменённых полей
  • firstChangeDate, lastChangeDate — даты первого и последнего учтённого изменения

Изменения типа added в сводку не включаются. Событие учитывается, если в нём есть хотя бы одно изменение другого типа. Поэтому eventCount не обязан совпадать с количеством событий полной истории или totalChanges. Если учтённых изменений нет, возвращаются нулевой счётчик, пустой список полей и пустые даты.

5. Скачать актуальную PDF-выписку

GET /api/MonitoringCompanies/{id}/rmsp/pdf?apiKey=YOUR_API_KEY
curl --fail --get "https://api-sudodelo.torkndgov.ru/api/MonitoringCompanies/12345/rmsp/pdf" \
  --data-urlencode "apiKey=YOUR_API_KEY" \
  --output "extract.pdf"

Успешный ответ — бинарный файл application/pdf. Проверяйте HTTP-статус перед сохранением. Параметры периода этот метод не принимает; для прошлой выписки используйте архив. Для скачивания через СУДиДЕЛО используйте этот маршрут, а не передавайте свой API KEY по адресу внешнего pdfUrl.

6. Скачать архивную PDF-выписку

GET /api/MonitoringCompanies/{id}/rmsp/pdf/archive?apiKey=YOUR_API_KEY&path=ПУТЬ_ИЗ_ИСТОРИИ

Возьмите нужную ссылку из events[].archivePdfUrls истории и передайте её как значение path. Выполните URL-кодирование всего значения параметра; не конструируйте путь самостоятельно.

curl --fail --get "https://api-sudodelo.torkndgov.ru/api/MonitoringCompanies/12345/rmsp/pdf/archive" \
  --data-urlencode "apiKey=YOUR_API_KEY" \
  --data-urlencode "path=ЗНАЧЕНИЕ_ИЗ_ARCHIVE_PDF_URLS" \
  --output "extract.pdf"

Ответ — PDF-файл. Отдельного публичного маршрута /rmsp/archives в текущем Swagger нет; ссылки на архив доступны через историю. Если archivePdfUrls пусто или равно null, для события нет доступных ссылок на архив.

Связь с интерфейсом и пустые результаты

Методы соответствуют разделам выписки, истории, сводке и скачиванию PDF на странице /MonitoringResultListRmsp. Интерфейс показывает несколько компаний; API получает сведения по одной компании. Для общего отчёта обойдите список мониторинга. При отсутствии данных внешний ответ может быть преобразован в успешный JSON с пустыми разделами или событиями; не считайте такой ответ самостоятельным подтверждением статуса субъекта МСП.

Коды ответов и обработка ошибок

  • 200 — успешный запрос; проверьте содержимое ответа, включая пустые значения.
  • 400 — некорректные параметры; при создании компании — также дубликат ИНН.
  • 401 — ключ не передан или недействителен.
  • 404 — компания не найдена в мониторинге вашей организации.

Для методов JSON ошибка сервиса РМСП может возвращаться как 400, отказ в доступе — как 401. При скачивании PDF 404 также означает отсутствие файла, а 502 — ошибку получения PDF от внешнего сервиса.

При ошибке прочитайте тело ответа с пояснением причины. Не записывайте API KEY в журнал диагностики.

Смотрите также: Открытое API системы СУДиДЕЛО, АПИ для ЕГРЮЛ и полное описание методов мониторинга компаний.