Show/Hide Toolbars

Руководство администратора

Интеграция со СБИС

Ссылки Назад Вверх Вперед

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

В системе СБИС

У пользователя, под которым идет работа, должна быть зарегистрирована электронная подпись в системе СБИС.

На рабочем месте пользователя

Чтобы подписывать и отправлять электронные документы в системе СЬИС необходимо использовать квалифицированную электронную подпись (КЭП). В СБИС можно работать с различными СКЗИ, например с КриптоПро CSP.

плагин КриптоПро (ссылка на сайт КриптоПро). Не забудьте его включить!

КриптоПро CSP (ссылка на сайт КриптоПро)

Технические требования к рабочему месту

В "Первой Форме"

Действия для настройки интеграции:

1. Добавьте сервис с типом Sbis.

2. Выберите его в качестве значения Sbis service в общих настройках приложения.

3. Убедитесь, что задание SyncEdocumentsFromSbisJob работает.

4.  Добавьте пользовательский ключ SbisLastEventsId.

5. Автоматизируйте действия, которые могут потребоваться при интеграции со СБИС.

Доступные смарт-действия при создании пакета действий:

СБИС - Отправить отказ от аннулирования

СБИС - Отправить подписание

СБИС - Отправить подписанное извещение о получении

СБИС - Отправить подписанные соглашения об аннулировании

СБИС - Отправить подписанный отказ от подписи

СБИС - Отправить соглашение об аннулировании

СБИС - Отправить электронный документ

СБИС - Получить архив МЧД (возвращает System.Int32)

СБИС - Получить сертификаты (возвращает System.Int32)

СБИС - Получить статус МЧД (возвращает System.Int32)

СБИС - Получить тэги документа (возвращает System.Int32)

СБИС - Синхронизировать статусы документов в сообщении (возвращает System.Int32)

СБИС - Создать файл аннулирования подписи (возвращает TCClassLib.Orm.FileStorageFileInfo)

СБИС - Создать файл извещения о получении (возвращает TCClassLib.Orm.FileStorageFileInfo)

СБИС - Создать файлы отказа от аннулирования (возвращает TCClassLib.Orm.FileStorageFileInfo)

СБИС - Создать файлы отказа от подписи (возвращает TCClassLib.Orm.FileStorageFileInfo)

СБИС - Создать файлы подтверждения подписи (возвращает TCClassLib.Orm.FileStorageFileInfo)

Доступные смарт-действия при создании смарт-скрипта (LUA):

GenerateRejectionSbisSignature — Создать файл отказа от подписи

GenerateRevocationRejectionSbisSignature — Создать файл отказа от аннулирования

SbisAttachRejectSignature — Отправить подписанный отказ от подписи в СБИС

SbisAttachRevocationRequestedSignature — Отправить соглашение об аннулировании в СБИС

SbisAttachRevocationSignature — Отправить соглашение об аннулировании в СБИС

SbisAttachSignature — Отправить подписание в СБИС

SbisGenerateRevocationTitle — Создать файл аннулирования подписи

SyncMessageStatusSbis — Синхронизировать статусы документов в сообщении СБИС

Отклонение документа

Для отклонения сперва создается файл отказа от подписи с помощью смарт-действия GenerateRejectionSbisSignature.

Входящие параметры:

File* — ID файла

Reason* — Причина отказа

Thumbprint* — Отпечаток сертификата, находится в системе СБИС в информации о сертификатах для подписи

ServiceId* — ID сервиса

PowerOfAttorney* — МЧД. PowerOfAttorney должен представлять собой Json такого вида -

{

"registerNumber":string, //Номер МЧД

"issuerInn": string,     //ИНН доверителя

"useDefault": string      

}

где: RegisterNumber — номер МЧД, IssuerInn — ИНН доверителя, useDefault — используется, если необходимо применять по умолчанию МЧД, которая указана в СБИС для пользователя/сервиса. Если в СБИС указана одна МЧД или установлена МЧД "по умолчанию", то при UseDefault = true будут проигнорированы документы, которые нельзя подписать с помощью этой МЧД. Необязательный параметр. В качестве значения указывается true или false без кавычек.

Смарт возвращает объект с параметрами: {FileId, VersionId, AttachmentId, DocumentId}. Сохраните AttachmentId, DocumentId и сам файл.

Файл необходимо подписать ЭЦП, отпечаток которой был передан в параметре Thumbprint.

Затем отправляется подписанный отказ от подписи в СБИС с помощью смарт-действия SbisAttachRejectSignature.

Входящие параметры:

File* — ID файла

RejectionFile* — ID файла отказа, который был получен из смарт-действия GenerateRejectionSbisSignature и затем подписан.

ServiceId* — ID сервиса

Signature* — Подпись

Reason* — Комментарий

AttachmentId* — Идентификатор титула

PowerOfAttorney* — МЧД. PowerOfAttorney должен представлять собой Json такого вида -

{

"registerNumber":string, //Номер МЧД

"issuerInn": string,     //ИНН доверителя

"useDefault": string   //

}

где: RegisterNumber — номер МЧД, IssuerInn — ИНН доверителя, useDefault — используется, если необходимо применять по умолчанию МЧД, которая указана в СБИС для пользователя/сервиса.

Пример

Аннулирование документа со стороны "Первой Формы"

Предварительно создается файл аннулирования подписи с помощью смарт-действия SbisGenerateRevocationTitle.

Входящие параметры:

File* — ID файла. Может описывать любое вложение из документа, поскольку аннулируется весь документ, а не только отдельные вложения в нем.

Reason* — Причина аннулирования

Thumbprint* — Отпечаток сертификата, находится в системе СБИС в информации о сертификатах для подписи

ServiceId* — ID сервиса

PowerOfAttorney* — МЧД. PowerOfAttorney должен представлять собой Json такого вида -

{

"registerNumber":string, //Номер МЧД

"issuerInn": string,     //ИНН доверителя

"useDefault": string   //

}

где: RegisterNumber — номер МЧД, IssuerInn — ИНН доверителя, useDefault — используется, если необходимо применять по умолчанию МЧД, которая указана в СБИС для пользователя/сервиса.

Смарт возвращает массив объектов {FileId, VersionId, AttachmentId, DocumentId} для каждого вложения, которое есть в документе.

Пример

Полученные файлы необходимо подписать, а также сохранить связь между FileId и AttacmentId.

После создания файла требуется отправить соглашение об аннулировании в СБИС с помощью смарт-действия SbisAttachRevocationSignature.

Входящие параметры:

Files* — ID файла. В параметр передается массив объектов { FileId, VersionId, AttachmentId, DocumentId }

ServiceId* — ID сервиса

Signature* — Подпись

Reason* — Комментарий

PowerOfAttorney* — МЧД. PowerOfAttorney должен представлять собой Json такого вида -

{

"registerNumber":string, //Номер МЧД

"issuerInn": string,     //ИНН доверителя

"useDefault": string   //

}

где: RegisterNumber — номер МЧД, IssuerInn — ИНН доверителя, useDefault — используется, если необходимо применять по умолчанию МЧД, которая указана в СБИС для пользователя/сервиса.

Пример

Принять аннулирование входящего документа

При запросе на аннулирование в EdocumentSbisLink придет N количество вложений со статусом 27 — в ожидании аннулирования.

Они связаны с аннулируемыми вложениями только по DocumentId.

Для аннулирования документа с тем же DocumentId необходимо отправить соглашение об аннулировании в СБИС с помощью смарт-действия SbisAttachRevocationRequestedSignature.

Входящие параметры:

Files* — Файлы. В параметр передается массив объектов {FileId, VersionId, AttachmentId, DocumentId} для уже подписанных ЭЦП вложений на стороне "Первой Формы" со статусом 27 (в ожидании аннулирования).

ServiceId* — ID сервиса

Signature* — Подпись

Reason* — Комментарий

PowerOfAttorney* — МЧД. PowerOfAttorney должен представлять собой Json такого вида -

{

"registerNumber":string, //Номер МЧД

"issuerInn": string,     //ИНН доверителя

"useDefault": string   //

}

где: RegisterNumber — номер МЧД, IssuerInn — ИНН доверителя, useDefault — используется, если необходимо применять по умолчанию МЧД, которая указана в СБИС для пользователя/сервиса.

В данном смарт-действии первостепенно необходимо заполнить FileId и VersionId, т.к. они сохраняются в таблице EdocumentSbisLink и вы получаете его контент, когда он придет как "новый документ". Стоит понимать, что это не полноценный "новый документ", а только соглашение на аннулирование.

Отклонение аннулирования входящего документа

Предварительно создается файл отказа от аннулирования с помощью смарт-действия GenerateRevocationRejectionSbisSignature.

Входящие параметры:

File* — ID файла. Может описывать любое вложение из документа, поскольку аннулируется весь документ, а не только отдельные вложения в нем.

Reason* — Причина отказа

Thumbprint* — Отпечаток сертификата, находится в системе СБИС в информации о сертификатах для подписи

ServiceId* — ID сервиса

PowerOfAttorney* — МЧД. PowerOfAttorney должен представлять собой Json такого вида -

{

"registerNumber":string, //Номер МЧД

"issuerInn": string,     //ИНН доверителя

"useDefault": string   //

}

где: RegisterNumber — номер МЧД, IssuerInn — ИНН доверителя, useDefault — используется, если необходимо применять по умолчанию МЧД, которая указана в СБИС для пользователя/сервиса.

Смарт возвращает массив объектов {FileId, VersionId, AttachmentId, DocumentId} для каждого вложения, которое есть в документе. Эти документы должны быть подписаны

После создания файла требуется отправить отказ от аннулирования в СБИС с помощью смарт-действия SbisAttachRevocationRejectionSignature.

Входящие параметры:

Files* — ID файла. В параметр передается массив объектов { FileId, VersionId, AttachmentId, DocumentId } из файлов, которые были получены в действии GenerateRevocationRejectionSbisSignature и затем подписаны.

ServiceId* — ID сервиса

Signature* — Подпись

Reason* — Комментарий

PowerOfAttorney* — МЧД. PowerOfAttorney должен представлять собой Json такого вида -

{

"registerNumber":string, //Номер МЧД

"issuerInn": string,     //ИНН доверителя

"useDefault": string   //

}

где: RegisterNumber — номер МЧД, IssuerInn — ИНН доверителя, useDefault — используется, если необходимо применять по умолчанию МЧД, которая указана в СБИС для пользователя/сервиса.

Логирование ответов

В "Первой Форме" есть возможность логировать ответы при интеграции с сервисом СБИС. По умолчанию логирование отключено.
Для его включения необходимо добавить пользовательский ключ SbisLastEventsId и установить его в значении true.

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

Записи в журнале не появляются, если при итерации заданий не было событий на обработку.

Полезные ссылки