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

Подробная спецификация методов показана в Swagger в разделе Черновики и конструктор черновиков (draftsbuilder).

Примечание

Черновик можно отправить только один раз. После успешной отправки черновик будет храниться в течение 1 года.

Список доступных методов:

Создание черновика

Метод: POST Create draft

С помощью этого метода создается черновик с минимально необходимым набором мета-информации, который в будущем можно при необходимости отредактировать или дополнить, используя метод Редактирование описания черновика.

Получение черновика

Метод: GET Draft

В ответ на вызов данного метода можно получить всю актуальную информацию по черновику:

  • заполненную мета-информацию на момент вызова метода;

  • перечень документов находящихся в черновике;

  • статус черновика. В зависимости от этапа работы с черновиком ему присваивается свой статус:

    • new — новый;

    • checkInProgress — в процессе проверки;

    • checked — проверенный;

    • prepareInProgress — в процессе подготовки к отправке;

    • readyToSend — подготовленный к отправке;

    • sendInProgress — в процессе отправки;

    • sent - отправленный;

    • transferredToWeb - перемещенный в веб-интерфейс Контур.Экстерна;

    • sentViaWeb — отправленный через веб-интерфейс.

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

Получение списка черновиков

Метод: GET Drafts

С помощью метода можно получить список созданных черновиков для указанной учетной записи. В ответе метод вернет актуальную информацию по каждому черновику.

Списки черновиков хранятся постранично. Одна страница содержит 100 черновиков. По умолчанию можно получить одну страницу списка. Если черновиков более 100, то оставшиеся можно получить с помощью параметров take и skip. Например, чтобы получить 140 черновиков можно сделать два запроса. В первом запросе можно не передавать параметры, тогда по умолчанию вернутся первые 100 черновиков. Во втором запросе можно указать параметры skip = 100, чтобы пропустить первые 100 черновиков, и take = 40, чтобы запросить остальные.

Также страницы можно получать с помощью ссылок, которые передаются в возвращаемом параметре page-links:

  • поле href содержит ссылку на опреденную страницу списка черновиков;

  • поле rel содержит подсказку на какую страницу указана ссылка относительно текущей. Может принимать следующие значения:

    • первая страница;

    • последняя страница;

    • текущая страница;

    • предыдущая страница;

    • следующая страница.

Ссылки может не быть, если запрошена последняя или единственная страница. Также не будет ссылки на предыдущую страницу, если запрошена первая страница.

Редактирование черновика

Метод: PUT Draft

Метод обновляет значения параметров черновика. Если черновик с переданным идентификатором не существует, метод его создаст.

Удаление черновика

Метод: DELETE Draft

Получение описания черновика

Метод: GET Meta

Получение только мета-информации черновика.

Редактирование описания черновика

Метод: PUT Meta

Проверка документов в черновике

Метод: POST Check

Вызовом данного метода можно проверить все документы, находящиеся в черновике. Документы проходят форматно-логические контроли по отдельности, но при наличии нескольких документов в черновике или подписей к документам возможно проведение кросс-проверок, то есть проверок на соответствие документов и подписей между собой.

Подготовка документов в черновике к отправке

Метод: POST Prepare

С помощью данного метода документы подготавливаются к транспортировке их в контролирующий орган: происходит шифрование и сжатие согласно транспортным протоколам.

Отправка документов из черновика

Метод: POST Send

На выходе данного метода получается документооборот, с которым продолжается работа с помощью методов блока Docflow.

Предупреждение

Методы Check, Prepare, Send необходимо выполнять асинхронно. При таком вызове будет создана задача, статус выполнения которой можно отслеживать по taskId.

Получение списка задач черновика

Метод: GET DraftTasks

Проверка статуса задачи черновика по TaskId

Метод: GET DraftTask

Метод возвращает результат выполнения задачи. Модель ответа зависит от типа поставленной задачи: для задачи проверки вернется модель данных CheckResult, подготовки - PrepareResult, отправки - Docflow, подписания - CryptOperationStatusResult.

Создание черновика в веб-интерфейсе Контур.Экстерна

Метод: POST CreateWebDraft

Метод создает общий черновик в веб-интерфейсе Контур.Экстерна и передает метаинформацию черновика из API. В ответе метод вернет ссылку на созданный черновик в веб-интерфейсе.

Статусы черновика

  • TransferedToWeb – черновик перемещен и создан в веб-интерфейсе;

  • SentViaWeb – черновик отправлен в контролирующий орган через веб-интерфейс.

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

  • 400 BadRequest – нельзя загрузить черновик в веб-интерфейс сервиса: выбран неподходящий тип документооборота, добавлены приложения или черновик имеет неподходящий статус (readyToSent, sent).