Взаимодействие с внешними контрагентами


Всем привет!

Взаимодействие с внешними контрагентами - это область в которой организации получают значительный эффект от внедрения ЭЦП и перехода на электронные документы, так как именно при работе с внешними контрагентами значительно сокращается время обработки документов и накладные расходы на их транспортировку. При этом к взаимодействию с внешними контрагентами возможно относить не только такие очевидные бизнес-процессы, как договорная работа, но и другие, к примеру, некоторые аспекты кадрового делопроизводства. Более того если рассматривать пользователей в разрезе их доступа к определенным информационным системам, то внешними могут оказаться и многие сотрудники: в частности в области кадрового делопроизводства большинство сотрудников являются внешними по отношению к 1С в которой работают сотрудники отдела кадров и бухгалтера.

Таким образом задачу можно сформулировать так: как подписывать электронные документы с теми субъектами, которые не имеют доступа к электронным документам и информационным системам, в которых их формируют и хранят.

Под эту формулировку попадают различные сценарии, к примеру:

  • работа с договорами (поставки товаров или оказания услуг), актами и другими сопровождающими документами - в этом случае контрагенты не имеют доступа к информационным системам отделов закупок;
  • прием новых сотрудников на работу - в этом случае соискатели подписывают пакеты документов, но не имеют доступа к кадровым системам, таким как 1С ЗУП;
  • кадровое делопроизводство - так как даже после приема на работу сотрудников у большинства из них все еще нет доступа к 1С ЗУП и подобным системам.

Сервис SIGEX предоставляет набор удобных инструментов для организации взаимодействия с внешними контрагентами включающий в себя:

Все это позволяет легко переходить на электронное взаимодействие с внешними контрагентами на базе электронных документов подписанных ЭЦП, а так же реализовывать продвинутые узкоспециализированные сценарии тогда, когда это необходимо.

# Регистрация и предрегистрация документов

Перед тем, как выполнять какие-либо действия с документом на сервисе SIGEX, его необходимо зарегистрировать. При регистрации документу присваивается уникальный идентификатор - идентификатор документа, по идентификатору документа информационные системы через API могут получать информацию о документе и подписях под ним, а так же выполнять другие действия, такие как регистрация дополнительных подписей, проверка подписей, формирование Карточек электронных документов и многие другие. Так же идентификатор документа присутствует в ссылке на страницу подписанного документа - страницу на https://sigex.kz на которой можно так же ознакомиться с информацией о документе и подписях и выполнять другие действия, в частности добавить свою подпись под документ.

Наш сервис устроен так, что для регистрации документа необходимо предоставить первую подпись под этим документом - так мы определяем чей это документ. Этот подход удобен в тех случаях, когда какой-то документ должен быть подписан двумя сторонами и регистрирующая сторона может подписать документ первой. К примеру в случае с договорами: процесс согласования прошел и стороны готовы подписывать договор.

Бывают ситуации когда не удобно или не логично первой подписывать документ той стороне, которая регистрирует документ. К примеру если документом является некое заявление, которо должен подписать новый контрагент организации. Само заявление формируется автоматически из шаблона в информационной системе организации и у контрагента доступа в информационную систему нет. В этом случае удобно воспользоваться предрегистрацией - эта функция доступна только через API информационным системам наших заказчиков с платной подпиской Крупный Бизнес. Предрегистрация позволяет зарегистрировать документ без подписи, таким образом возможно зарегистрировать документ, передать его на подписание контрагенту и потом по идентификатору документа получить информацию о подписи. Далее, в зависимости от бизнес-процесса, возможно добавлять дополнительные подписи и другие действия над документом.

Технические подробности о регистрации и предрегистрации доступны в разделе документации по API.

# Пакеты документов

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

Подробности о том, как работают пакеты документов, доступны в статье Представляем пакеты документов.

# Архивное хранение подлинников подписанных документов

По умолчанию сервис SIGEX не хранит подлинников электронных документов, только информацию об электронных цифровых подписях под ним. То есть в том случае, если кто-то подписал PDF файл, то наш сервис не будет хранить самого PDF файла, а только информацию о том, кто его подписал. Если это вызывает сомнения или недоумение, рекомендуем ознакомиться со статьей Что такое ЭЦП?.

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

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

Детали работы функции архивирования изложены в соответствующем разделе документации по API.

# Уведомления по электронной почте

В сервисе SIGEX реализована возможность отправки уведомлений по электронной почте, в том числе следующих:

  • уведомления о подписании нового документа;
  • уведомления о предрегистрации документа;
  • уведомления о добавлении подписи к документу;
  • уведомления о добавлении подписи к документу, подписанному пользователем.

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

Уведомления о регистрации/предрегистрации всегда содержат в себе ссылки на страницу подписанного документа, то есть подобные уведомления являются каналом передачи документа контрагенту на подписание: достаточно указать электронный адрес контрагента и он получит письмо от нашего сервиса.

К уведомлениям о регистрации/предрегистрации обычно прикрепляется подлинник электронного документа. Это нужно для того, чтобы получатель смог проверить подписи под электронным документом и убедиться в том, что подписан был именно он. Так же это нужно для того, чтобы получатель смог добавить свою подпись под зарегистрированный электронный документ. В том случае, если предполагается иной способ передачи подлинника электронного документа получателю, возможно воспользоваться параметром doNotAttachDocument. В частности в том случае, если подлинник находится в архиве (в соответствии с настройками или на основании флага forceArchive), то его можно не прикреплять к письму - контрагент сможет проверять подписи, добавлять подписи, выполнять другие операции и скачать подлинник прямо на странице подписанного документа.

Так же доступен дополнительный продвинутый функционал по отправке уведомлений.

Больше информации про уведомления доступно в соответствующем разделе документации по API.

# Требования к подписям

В настройках зарегистрированного документа возможно указывать требования к подписям, которые будет разрешено регистрировать под этим документом. Эти настройки можно задавать в момент регистрации/предрегистрации документа, а так же менять в дальнейшем.

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

Так же есть возможность требовать уникальности ИИН или БИН. Это позволит предотвратить попытку второй раз подписать тот же документ.

Информация о формате настроек требований к подписям доступна в документации по API - обратите внимание на поля unique, signersRequirements, strictSignersRequirements и sequentialSignersRequirements.

# Контроль доступа

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

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

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

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

  • private- определяет ограничен ли доступ к документу, по умолчанию false;
  • switchToPrivateAfterLimitReached - определяет должен ли сервис автоматически переключить настройку private в true после того, как будет зарегистрировано определенное количество подписей, по умолчанию false;
  • publicDuringPreregistration - флаг активации специального режима контроля доступа к документу и подписываемым данным (в этом режиме до регистрации первой подписи под документом информация о документе и подписываемые данные доступны всем без ограничений), флаг возможно устанавливать только при предрегистрации документа, менять его значение нельзя;
  • publicWhileLessThanSignatures - опциональное поле, позволяет активировать специальный режим контроля доступа к документу и подписываемым данным (в этом режиме до того момента, как будет набрано указанное количество подписей, информация о документе и подписываемые данные доступны всем без ограничений), возможно устанавливать только при регистрации или предрегистрации документа, менять его значение нельзя;
  • documentAccess - позволяет задавать дополнительные правила предоставления доступа к информации о документе и данным в архиве, то есть дополняет существующие правила контроля доступа основанные на наличии подписей под документом и регистраторе документа, а не заменяет и не ужесточает их.

Таким образом, к примеру, если информационная система предрегистрирует документ с параметрами forceArchive и publicDuringPreregistration (и опциональным doNotAttachDocument), то контрагент перейдя по ссылке на страницу подписанного документа сможет сразу же его подписать. После этого документ автоматически перестанет быть публично доступным и для доступа к нему потребуется проходить аутентификацию.

Детали в документации по API.

# Способы подписания

Обычно внешние контрагенты подписывают электронные документы на странице подписанного документа, ссылку на которую они получают в уведомлении после регистрации/предрегистрации документа. На странице подписанного документа доступны следующие механизмы формирования подписей:

  • NCALayer - стандартный подход на настольных системах, мы используем библиотеку с открытым исходным кодом ncalayer-js-client;
  • eGov mobile/business - подписание с использованием мобильных приложений eGov, тут есть разные сценарии

Обзор поддержки мультиподписания доступен в статье Мультиподписание - подписываем большое количество документов.

# Продвинутые сценарии

В некоторых случаях возникает необходимость реализации специализированных сценариев, мы сталкивались со следующими:

  • подписание с использованием QR и eGov mobile/business с применением двух мобильных устройств - два контрагента встречаются лично без доступа к настольным ПК и подписывают документ по очереди сканируя QR коды на телефонах друг-друга;
  • передача диплинков для подписания через eGov mobile через мессенждеры (WhatsApp/Telegram) с использованием ботов.

Мы всегда признательны за обратную связь, расскажите нам о том, какой функционал Вы бы хотели хотели увидеть в нашем сервисе. Контакты для обратной связи здесь.