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

Обработать служебные документы в API

Обработать служебные документы в API

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

При запуске документа с любым количеством вложений генерируется общее подтверждение о получении оператором и отдельное извещение на каждое вложение.

Служебные документы могут создаваться:

  • на online.sbis.ru — документы создаются автоматически. Гарантируется правильность заполнения, соответствие формата документов законодательству и регламенту документооборота;
  • во внешней системе — отслеживать актуальность форматов документов нужно самостоятельно.

Алгоритм работы

  1. Вызовите метод «СБИС.ИнформацияОСлужебныхЭтапах». В ответе вернется массив со списком наших организаций, по которым нужно обработать служебные документы.
  2. Обработайте служебные документы для каждой организации, которая была возвращена командой:
    1. В цикле выполните запрос «СБИС.СписокСлужебныхЭтапов». На вход передайте «Фильтр.Наша.Организация». В ответе вернется список документов с информацией о служебных этапах на обработку. Если список пуст, перейдите к следующей организации.
    2. Обработайте служебный этап с помощью «СБИС.ПодготовитьДействие» и «СБИС.ВыполнитьДействие».
  3. Подпишите документы.

    В СБИС
    В СБИС
    В вашей ИС
    В вашей ИС
    1. Выберите подписанта (сертификат для подписания) и вызовите «СБИС.ПодготовитьДействие». На вход передайте информацию:
    2. Скачайте с сервера измененные и сформированные вложения. Это можно сделать с помощью отправки HTTP GET-запроса по URL-адресу в поле «Документ.Этап.Вложение.Файл.Ссылка». Скачать можно вложения со значением поля «Документ.Этап.Вложение.Модифицирован» = «Да».
    3. Сформируйте электронные подписи под каждым вложением, которое требует подписания («Документ.Этап.Вложение.ТребуетПодписания» = «Да»).
    4. Отправьте документ с помощью команды «СБИС.ВыполнитьДействие». В результате будет передана информация об этапе, его действии и идентификаторы вложений.
    1. Сформируйте электронные подписи под каждым вложением, которое требует подписания («Документ.Этап.Вложение»).
    2. Отправьте документ с помощью команды «СБИС.ВыполнитьДействие». В результате выполнения будет передана информация об этапе, его действии и идентификаторы вложений.

Рекомендации для максимальной производительности

  • Распараллельте запросы метода «СБИС.СписокСлужебныхЭтапов» по разным «нашим организациям». Документы из полученных списков обрабатывайте параллельно. Вызовы «СБИС.ПодготовитьДействие» и «СБИС.ВыполнитьДействие» по одному документу должны выполняться последовательно.
    Число одновременных запросов от одного пользователя не должно превышать 10.
  • Не допускайте одновременной обработки служебных этапов из разных точек (ваша ИС, личный кабинет, СБИС Коннект и другие) от пользователей, у которых пересекаются права или области видимости по «нашим организациям» или документам.

Решение проблем

  • «Событие обрабатывается другим процессом» (код «00000000-0000-0000-0000-1FA0000B0002») или «Действие уже обработано» (код «00000000-0000-0000-0000-1FA0000B0001») указывают на неверную настройку или интеграцию. Чтобы исправить ошибку:
    1. Распределите пользователей по областям видимости или «нашим организациям».
    2. Укажите конкретного сотрудника в поле «Получение документов подтверждает» в личном кабинете, в карточке каждой нашей организации.
    3. Проверьте наличие доступа у пользователя к собственному или делегированному ключу ЭП.
  • «Ошибка установки значимых дат на событии» (код «00000000-0000-0000-0000-1FA0000B0000») — время в теле xml-вложения документа меньше времени его фактического создания (получения). Используйте московское время при генерации извещений в вашей системе.

Если при обработке извещения на сервере появляется ошибка, выдача этого события в методе «СБИС.СписокСлужебныхЭтапов» для текущей сессии приостанавливается. При повторении ошибок интервал приостановки увеличивается по экспоненте, с начальным шагом 10 минут после каждой ошибки.
Чтобы получить приостановленные события конкретного документа или редакции, вызовите метод «СБИС.СписокСлужебныхЭтапов» и передайте в нем идентификатор документа или редакции документа. События вернутся без учета предыдущих ошибок и приостановок.

Комментарий

  1. В контейнер с ЭП из вашей системы на стороне online.sbis.ru может быть добавлена техническая информация, которая не изменяет юридической значимости ЭП.
  2. Если при обработке извещения на сервере появляется ошибка, выдача этого события в методе «СБИС.СписокСлужебныхЭтапов» для текущей сессии приостанавливается. При повторении ошибок интервал приостановки увеличивается по экспоненте, с начальным шагом 10 минут после каждой ошибки.
    Для получения приостановленных событий конкретного документа или редакции вызовите метод «СБИС.СписокСлужебныхЭтапов» и передайте в нем идентификатор документа или редакции документа. События вернутся без учета предыдущих ошибок и приостановок.
  3. Если служебные вложения формируются в вашей ИС, мы рекомендуем вызывать метод «СБИС.ПодготовитьДействие». В этом случае online.sbis.ru генерирует служебные вложения и возвращает их в списке на подписание. Извлеките идентификаторы сформированных вложений («Документ.Этап.Вложение.Идентификатор»). Используйте их при добавлении вложений и отправке команды «СБИС.ВыполнитьДействие». Это позволит заменить сгенерированные online.sbis.ru вложения на ваши.
  4. Команда «СБИС.СписокСлужебныхЭтапов» возвращает только один служебный этап по одному и тому же документу, даже если этапов несколько.
Нашли неточность? Выделите текст с ошибкой и нажмите ctrl + enter.