Присоединяйтесь!

Получить документы и проверить их состояние в API

Получить документы и проверить их состояние в API
Русский

Изменения в документообороте входящих документов отражаются в наборе событий. События возвращаются в результате выполнения команды «СБИС.СписокИзменений».

Например, при поступлении входящего документа сервером online.sbis.ru было сгенерировано событие «Получение». Нужно загрузить все входящие вложения (первичные и служебные) и сохранить под каждым вложением связанные с этим событием ЭП.

  1. Выполните команду «СБИС.СписокИзменений», чтобы получить список документов, по которым произошли события документооборота в СБИС.
  2. Обработайте каждое вложение, в зависимости от полученного события:
    • с извещением об удалении документа противоположной стороной («Документ.Событие.Название»=«Уведомление об удалении на стороне отправителя») — остановите документооборот и пометьте документ в вашей ИС как удаленный;
    • с запросом на аннулирование («Документ.Событие.Название»=«Получение соглашения об аннулировании») — запросите у ответственного по документу подтверждение/отклонение аннулирования;
    • «Документ.Направление»≠«Входящий»/«Исходящий» или «Документ.Событие.Название»≠«Получение» — не обрабатывайте.

    По умолчанию все вложения документа обрабатываются одновременно. СБИС также поддерживает раздельную обработку, например часть вложений может быть утверждена, часть — отклонена или аннулирована.

  3. Убедитесь, что ваша система поддерживает версионность документов (несколько редакций).

    Поддерживает версионность
    Поддерживает версионность
    Не поддерживает версионность
    Не поддерживает версионность
    • С помощью поля «Документ.Идентификатор» выполните поиск и определите наличие предыдущих редакций документа в вашей системе.
    • Если редакции найдены, пометьте их как неактуальные. При необходимости, синхронизируйте состояния редакции документа в вашей системе и СБИС с помощью «СБИС.ПрочитатьДокумент» с адресацией по полю «Документ.Редакция.Идентификатор».
    • Зарегистрируйте новую редакцию документа по полю «Документ.Редакция.Идентификатор».
    • С помощью поля «Документ.Идентификатор» выполните поиск и определите наличие документа в вашей системе. Если документ есть, переместите его в архив.
    • Если редакция:
      • неактуальна («Документ.Редакция.Актуален»=«Нет») — пропустите обработку;
      • актуальна («Документ.Редакция.Актуален»=«Да») — зарегистрируйте документ, как новый входящий.
  4. Загрузите вложения входящего документа в вашу информационную систему.

    Получите и сохраните в локальный архив содержимое входящих вложений («Документ.Событие.Вложение.Направление»=«Входящий»), которые ассоциированны с событием:

    • «Документ.Событие.Вложение.Служебный»=«Нет» — для первичных вложений;
    • «Документ.Событие.Вложение.Служебный»=«Да» — для служебных вложений.

    Получите и сохраните в локальный архив содержимое ЭП, которые ассоциированы с вложениями события:

    • «Документ.Событие.Вложение.Направление»=«Входящий» — под входящими вложениями;
    • «Документ.Событие.Вложение.Файл.Ссылка» пустая, «Документ.Событие.Вложение.Подпись.Файл.Ссылка» заполненная — под вложениями, по которым есть входящие подписи.

Комментарий

С событием может быть ассоциирована одна или несколько ЭП («Документ.Вложение.Ссылка» — пустая, а «Документ.Вложение.Подпись.Ссылка» — не пустая). Это означает, например, отправку подписи под первичным документом при утверждении.

Чтобы получить содержимое вложения, выполните GET-запрос по URL-адресу в поле «Документ.Событие.Вложение.Файл.Ссылка».

Для получения содержимого ЭП, выполните GET-запрос по URL-адресу в поле «Документ.Событие.Вложение.Подпись.Ссылка».

«Документ.Состояние» описывает состояние для редакции, по которой зарегистрировано событие. Если вложения документа имеют разные состояния, то общее состояние пакета определяется по наихудшему событию. Например, одно вложение может быть утверждено, а другое отклонено. Состояние документа будет «Отклонен».

Нашли неточность? Выделите текст с ошибкой и нажмите ctrl + enter.