Порядок работы с черновиками
Чтобы отправить отчет в контролирующий орган (КО), сначала нужно положить необходимые файлы в черновик. Это некий контейнер, который хранит в себе все файлы отчета, его приложения и мета-информацию об отчете. Все файлы в черновике перед отправкой в КО проходят проверку и подготовку, чтобы минимизировать вероятность отказа в приеме документов.
Базовый сценарий работы с черновиком предполагает следующие этапы:
Создание черновика.
Наполнение черновика документами.
Добавление подписи в черновик.
Проверка черновика: постановка задачи на проверку и отслеживание ее статуса.
Подготовка черновика: постановка задачи на подготовку и отслеживание ее статуса.
Отправка черновика: постановка задачи на отправку и отслеживание ее статуса.

Примечание
Черновик можно отправить только один раз;
После успешной отправки, черновик будет храниться в течение 1 года.
Создание черновика
Для создания черновика вызовите метод POST Create draft. В теле запроса передайте мета-информацию о налогоплательщике, отправителе и получателе:
payer
– налогоплательщик (НП). Организация, за которую отправляется отчетность;sender
– отправитель. Организация, которая общается с контролирующими органами, отправляет и получает документы;recipient
– получатель документооборота, то есть контролирующий орган.
В моделе sender
в параметре certificate
передайте открытый ключ сертификата в формате base64, который будет использован для подписания документов.
Наполнение черновика документами
Сначала загрузите файлы отчета и связанные с ним файлы в Сервис контентов. Для каждого файла должен быть свой идентификатор загруженного контента content-id
.
Затем создайте для каждого файла свой документ: POST Add Document . При каждом запросе укажите один идентификатор загруженного контента content-id
.
На этом этапе можно положить документы без подписей, если нужно просто проверить документы на соответствие форматам методом POST Check.
Добавление подписи в черновик
Каждый добавленный файл нужно подписать, чтобы подтвердить личность как отправителя. Подписей может быть несколько. Добавьте подписи к документу методом POST Add signature.
Если документы в черновике изменятся, то подписи станут недействительными. Тогда их нужно будет заменить. Для редактирования подписи текущего документа используйте метод PUT Signature.
Как работать с подписью
Подпишите файл отчета закрытым ключом электронной подписи.
Сконвертируйте полученную подпись в base64.
Добавьте подпись в формате base64 в черновик.
Примечание
Для некоторых типов документооборотов процесс подписания файлов может отличаться, например, для проактивных выплат.
Проверка документов
Проверьте все документы в черновике методом POST Check. Будут выполнены проверки:
на соответствие приложенного файла с мета-информацией черновика, например, соответствие отправителя из мета-информации черновика с указанным отправителем в файле отчета;
на соответствие формату, то есть xml-файл документа проходит проверку по xsd-схеме;
на правильность контрольных соотношений согласно формату документа;
кросс-проверки между документами черновика, например, соответствие подписантов в доверенности и документе.
При отправке запроса будет поставлена отложенная задача на проверку документов. Статус задачи можно посмотреть методом GET DraftTask. Если задача Check
завершилась не успешно, то метод вернет список ошибок и предупреждений. Исправьте их, чтобы отправить отчет в контролирующий орган.
Подготовка черновика
Чтобы подготовить контент документа к передаче в контролирующий орган, вызовите метод POST Prepare. Будут выполнены:
проверка подписей к приложенным файлам;
сжатие и шифрование контента с учетом требований контролирующего органа. У каждого типа КО, документооборота и документа могут быть свои особенности в подготовке контента. Например, какие-то документы надо сжать с применением определенного алгоритма, какие-то документы требуется зашифровать на определенные сертификаты. Эти особенности регламентируются нормативными документами.
На этом этапе обязательно наличие в черновике подписей под документами.
При отправке запроса будет поставлена отложенная задача на подготовку черновика. Статус задачи можно посмотреть методом GET DraftTask. Если задача Prepare
завершилась не успешно, то метод вернет список ошибок и предупреждений. Исправьте их, чтобы отправить отчет в контролирующий орган.
Отправка черновика
После успешной проверки и подготовки документов, отправьте черновик с помощью метода POST Send.
При отправке запроса будет поставлена отложенная задача на отправку черновика. Статус задачи можно посмотреть методом GET DraftTask. Если задача по методу Send
прошла успешно, черновик будет отправлен и превратится в документооборот, его идентификатор вернется в ответе.