Авторизация

Для доступа к сервису необходимо указать следующий заголовок:
Authorization: Bearer <token>
Запросить token можно через info@mig24.ru или в Telegram https://t.me/NTSsupport
Предоставление доступа осуществляется на платной основе. При окончании оплаченного срока доступа авторизация возвращает ошибку - Оплаченный срок доступа истек.

Асинхронные методы работы с сервисом

Общее описание работы асинхронных методов
В приложении есть очереди запросов requests и ответов responses.
Пользователь отправляет запрос /api/requests с указанием самостоятельно сгенерированным идентификатора запроса requestId, типа запроса requestType (mchd- регистрация МЧД, revocation - отмена МЧД, getstatus - получение статуса МЧД, GetMchd - Получение архива с файлами МЧД) и дополнительных данных (файлы или номер доверенности).
Если запрос был отклонен приложением, то пользователь получает отказ, корректирует запрос и отправляет снова.
Если запрос был принят (code 200), то он добавляется в очередь запросов, затем в очередь ответов добавляется ответ со статусом подтверждения начала обработки запроса со статусом AWAIT_SENDING_TO_CPRR (ОЖИДАНИЕ ПЕРЕДАЧИ ЗАПРОСА В ЦПРР).
Далее после обработки в ЦПРР будет добавлены остальные ответы с соответствующими статусами.

После успешной отправки запроса в сервис пользователь может:
- Получить список идентификаторов на свои ответы, которые не помечены как удаленные из очереди ответов /api/responses .
- По идентификатору ответа получить все соответствующие данные /api/responses/{responseId}.
- Отметить запрос удаленным из очереди ответов /api/responses/{responseId}.

Взаимодействие сервиса с ЦПРР
С ЦПРР взаимодействует сервис отправки запросов. Он работает следующим образом:
1. Получает список активных запросов (т.е. таких, которые не отмечены сервисом как остановленные).
2. Выполняет каждый запрос на загрузку файлов в ЦПРР с интервалом в 1 секунду. Полученный ответ добавляет в очередь ответов.
3. Выполняет каждый запрос получения статуса доверенности из ЦПРР с интервалом в 1 секунду. Полученный ответ добавляет в очередь ответов.
4. Останавливается на 1 минуту.
Если при выполнении запроса ЦПРР был недоступен, то сервис останавливается на 3 минуты сразу после попытки выполнения одного из запросов, затем переходит к следующему запросу.

Запрос на загрузку файлов МЧД или заявления на отмену сервис сначала пытается успешно загрузить, затем переводит запрос на периодическое обновление статуса МЧД пока не получит статус, после которого запрос будет остановлен и станет неактивным.
Для загрузки МЧД остановка произойдет при получении следующих статусов из ЦПРР: CREATED (ЗАРЕГИСТРИРОВАНА), ACTIVE (АКТИВНА), REJECTED (ОТКАЗ В РЕГИСТРАЦИИ), REVOKED (ОТМЕНЕНА), EXPIRED (ДЕЙСТВИЕ ИСТЕКЛО).
Для загрузки заявления на отмену остановка произойдет при получении следующих статусов из ЦПРР: REJECTED (ОТКАЗ В РЕГИСТРАЦИИ), REVOKED (ОТМЕНЕНА), EXPIRED (ДЕЙСТВИЕ ИСТЕКЛО).
На каждое полученное изменение статуса будет добавлен ответ в очередь ответов.

Запрос на однократное получение статуса по номеру МЧД будет остановлен после получения статуса из ЦПРР. В очередь ответов будет добавлен ответ.
Возможные статусы МЧД:
MchdStatus MchdStatusRus
AWAIT_SENDING_TO_CPRR ОЖИДАНИЕ ПЕРЕДАЧИ ЗАПРОСА В ЦПРР
SEND_TO_CPRR ЗАПРОС ПЕРЕДАН В ЦПРР
SEND_TO_CPRR_ERROR ОШИБКА ПРИЕМА ЗАПРОСА В ЦПРР
PROCESSING ОЖИДАНИЕ ПОДТВЕРЖДЕНИЯ
REJECTEDОТКАЗ В РЕГИСТРАЦИИ
CREATED ЗАРЕГИСТРИРОВАНА
ACTIVE АКТИВНА
REVOKED ОТМЕНЕНА
EXPIRED ДЕЙСТВИЕ ИСТЕКЛО
UNDEFINED НЕОПРЕДЕЛЕН

Для запроса архива МЧД - когда архив МЧД готов к скачиванию, то возвращается ответ со статусом READY_FOR_DOWNLOAD ("ГОТОВА ДЛЯ СКАЧИВАНИЯ").
В ответе присутствуют ContentType и MchdFileId
Чтобы скачать файл следует использовать синхронный метод /api/m4d/files/{mchdFileId}

Любой запрос, по которому из ЦПРР пришла ошибка будет остановлен (кроме случаев, когда ЦПРР недоступен). Содержание ошибки из ЦПРР будет предоставлено в ответе в виде строки json или в виде строки текста, если получен не json.

Методы работы со справочниками (полномочия)

Методы предназначены для получения актуальной (или нужной) версии справочников полномочий, ограничений и значений для ограничений полномочий в соответствии с Единой системы нормативной справочной информации (ЕСНСИ)

Получение кодов доступных справочников /api/esnsi/codes
Коды справочников, доступные для получения:
POWER_B2B - Код справочника полномочий B2G (для формата ФНС)
POWER_B2G - Код справочника полномочий B2B (для формата 002)
POWER_PWR_CLASS - Код справочника полномочий (для единого формата (003))
POWER_PWR_RESR - Код справочника ограничений полномочий (для единого формата)
POWER_PWR_RESTR_VALUE - Код справочника значений для ограничений полномочий

Получение последней версии справочника /api/esnsi/{code}/last-version

Получений доступных версий справочника /api/esnsi/{code}/versions

Получение zip-архива со справочником ЕСНСИ в формате xml /api/esnsi/data

Создание/загрузка МЧД в сервисе, в том числе через json

Создание пустой доверенности в формате B2G ФНС (5.01) - /api/b2g
Возвращается идентификатор mchdInfoId созданной МЧД

Создание пустой доверенности B2B (002) - /api/b2b
Возвращается идентификатор mchdInfoId созданной МЧД

Создание пустой доверенности в едином формате (003) - /api/em4d
Возвращается идентификатор mchdInfoId созданной МЧД

Создание МЧД через загрузку xml МЧД / (xml+sig) - /api/import?validate=true
validate - проверить xml по xsd-схеме
Возвращается идентификатор mchdInfoId созданной МЧД

Создание МЧД через загрузку json - /api/import/json
Возвращается идентификатор mchdInfoId созданной МЧД
пример json b2g, пример json b2b (основная), пример json b2b (передоверие), пример json Единый формат (основная), пример json Единый формат (передоверие)

Создание МЧД #ФТС через загрузку json - /api/import/json-for-fts
Возвращается идентификатор mchdInfoId созданной МЧД
Для получения регистрационных данных необходимо обратиться в техническую поддержку НТСсофт.

Изменение (замена данных) существующей неподписанной МЧД - /api/import/json?mchdInfoId={mchdInfoId}
mchdInfoId - идентификатор МЧД в которой заменяются данные





Подписание МЧД / отмены МЧД

Загрузка подписи sig для неподписанной доверенности с указанием идентификатора mchdInfoId (используется предыдущий метод)
Метод: POST
URL: /api/import?mchdInfoId={mchdInfoId}&idFileDate={idFileDate}
idFileDatestringДата в формате DD.MM.YYYY для атрибута ИдФайл в xml, если отличается от текущей даты

Подписание МЧД, размещенной в реестре сервиса - /api/signature/
Шаг 1 - Запрос хеша xml МЧД для подписания /api/signature/step1
Шаг 2 - Подписание полученного хеша xml МЧД на стороне внешней ИС, отправка подписанного хеша xml МЧД, получение хеша pdf (электронная МЧД) для подписания /api/signature/step2
Шаг 2 - Подписание полученного хеша pdf МЧД на стороне внешней ИС, отправка подписанного хеша pdf МЧД, завершение подписания - /api/signature/step3

Создание ссылки на подписание МЧД - /api/signature/url/{mchdInfoId}
МЧД должна быть заранее размещена в реестре сервиса и иметь mchdInfoId
Возвращается ссылка вида: "https://mig24.online/registry/files/2e150be5-644e-48ed-a7b2-b06608bd92ce"

Удалить подпись у МЧД - /api/signature/delete
Удаление возможно только в статусе "Ошибка при отправке в ЦПРР ФНС"

Отмена (отзыв) МЧД

Подпись отмены (отзыва) МЧД:

Шаг 1 - Передача данных для отмены и получение хеша xml файла отмены МЧД для подписания - /api/revocate/signature/step1
пример набора необходимых данных
Шаг 2 - Подписание хеш отзыва xml МЧД и отправка подписанного хеша отзыва xml МЧД - api/revocate/signature/step2
Получение zip-архива с xml отзыва МЧД и файла подписи - /api/revocate/{mchdInfoId}/archive
Возвращается zip-файл или xml-файл

Сформировать и получить xml-файл отзыва подписанной доверенности -/api/revocate/{mchdInfoId}/xml

пример набора необходимых данных

Загрузить подпись sig для отмены МЧД - /api/revocate/sig

mchdInfoId - идентификатор МЧД в сервисе

Работа с реестром МЧД сервиса

Получить список всех подписанных МЧД по СНИЛСу уполномоченного лица - /api/signed/{snils}

Возвращается массив данных - метод требует отдельного разрешения для использования

Получить список всех МЧД по ОГРН (ОГРНИП) доверителя - /api/mchd-infos/ogrn/{ogrn}

Возвращается массив данных - метод требует отдельного разрешения для использования

Получить список всех МЧД для пользователя (если userId пустой, то берется из авторизации) /api/mchd-infos



Работа существующей в сервисе МЧД

Получить информацию о файлах МЧД - /api/m4d/{mchdInfoId}/files-info

Возвращает список файлов, сформированных по данной МЧД (xml, sig, pdf)


Получить zip-архив файлов подписанной МЧД или xml-файл не подписанной МЧД - /api/m4d/{mchdInfoId}/archive

Возвращается zip-архив файлов доверенности

Получить xml-файл доверенности /api/m4d/{mchdInfoId}/xml

Возвращается xml-файл доверенности

Получить pdf-файл МЧД /api/m4d/{mchdInfoId}/pdf
Возвращается pdf-файл

Копировать МЧД - /api/m4d/{mchdInfoId}/copy

Возвращается идентификатор mchdInfoId на загруженную МЧД

Удалить МЧД в сервисе- /api/m4d/{mchdInfoId}
МЧД помечается как удаленная и не показывается при просмотре

Обновить (изменить) тип системы хранения существующей МЧД - /api/m4d/update-storage-type

Тип системы хранения" Fns / Mig24


Отправить МЧД в ЦПРР ФНС /api/fns/send/{mchdInfoId}

validate - проверить xml по xsd-схеме

Отравить отмену МЧД в ЦПРР ФНС - /api/fns/revoke/{mchdInfoId}?email={email}
email - Email для получения уведомлений

Получить информацию о статусе доверенности в ЦПРР ФНС /api/fns/check/info?number={mchdNumber} или /api/fns/check/{mchdNumber}/info

Сначала производится поиск доверенности в ЦПРР и возвращается статус из ЦПРР.
Если ЦПРР не доступен, то будет ошибка "Ошибка сервера ФНС".
Если в ЦПРР доверенность не найдена, то производится поиск в сервисе МЧД24 и возвращается статус из МЧД24.
Если в ЦПРР и МЧД24 доверенность не найдена, то возвращается ошибка "Доверенность не найдена в ЦПРР ФНС и отсутствует в сервисе МЧД24".
Возможные статусы
Получить файл архива МЧД из ЦПРР ФНС /api/fns/download/{mchdNumber}/{issuerInn}
Возвращается zip-архив доверенности
Возвращается строка "Статус: ОПЕРАЦИЯ ВЫПОЛНЯЕТСЯ. Идет запрос данных с узла ФНС. Попробуйте скачать позднее."

Получить информацию о полномочиях и статусе из в ЦПРР ФНС

/api/fns/check-powers/{mchdNumber}/{issuerInn}

Получить статус доверенности из ЦПРР ФНС и обновить его в списке МЧД

/api/fns/sync/{mchdInfoId}

Отправить в ФТС запрос на регистрацию для доверенности с указанным MchdInfoId /api/send-link-poa/{mchdInfoId}

Установить оплаченность МЧД /api/m4d/{mchdInfoId}/paid

Установить форму редактирования МЧД /api/m4d/{mchdInfoId}/form-kind/{formKind}

Проверить МЧД на правильность заполненности - /api/m4d/{mchdInfoId}/validate
Если проверка пройдена успешно, то "IsValid": true, если не успешно, то "IsValid": false,
и возвращается список ошибок (json).