Работа с машиночитаемой доверенностью
Для подписания документов сотрудники и уполномоченные лица организаций должны использовать сертификат физического лица и прикладывать к документу машиночитаемую доверенность (МЧД).
Управление доверенностями
API Диадока предоставляет функциональность для удобной работы с МЧД: вы можете зарегистрировать МЧД и привязать ее к сотруднику, чтобы управлять списком МЧД и выбирать их при подписании документа.
Использовать МЧД через API Диадока можно без регистрации. Но если вы хотите использовать МЧД в веб-интерфейсе Диадока, ее обязательно нужно зарегистрировать.
Зарегистрировать МЧД может администратор ящика организации или сам сотрудник. Для этого нужно:
выпустить доверенность в сервисе Контур.Доверенность по инструкции: Диадок не выпускает МЧД;
получить информацию о МЧД для ее добавления в Диадок: XML-файл МЧД + ЭП руководителя или регистрационный номер МЧД + ИНН доверителя;
После этого можно:
привязать МЧД к сотруднику, чтобы работать со списком МЧД сотрудника,
установить МЧД по умолчанию, чтобы не выбирать МЧД при каждом действии с документами.
Кроме этого Диадок позволяет управлять уже привязанными к сотруднику доверенностями:
получить список МЧД, привязанных к сотруднику,
отвязать МЧД от сотрудника,
изменить для МЧД настройку «по умолчанию».
Регистрация МЧД
Чтобы зарегистрировать МЧД, вызовите метод RegisterPowerOfAttorney. Метод вернет идентификатор задачи taskId
.
Передайте идентификатор taskId
в метод RegisterPowerOfAttorneyResult, чтобы узнать результат регистрации.
После регистрации МЧД можно привязать ее к сотруднику.
Работа с МЧД сотрудника
К каждому сотруднику можно привязать до 100 действующих или не вступивших в силу МЧД. Любую из них можно использовать как доверенность по умолчанию. Пользователь в любой момент может сделать доверенностью по умолчанию другую МЧД или убрать доверенность по умолчанию совсем. Любую МЧД, уже привязанную к сотруднику, можно отвязать.
Работать с МЧД сотрудника можно с помощью методов:
AddEmployeePowerOfAttorney — привязывает МЧД к сотруднику;
DeleteEmployeePowerOfAttorney — отвязывает МЧД от сотрудника;
UpdateEmployeePowerOfAttorney — устанавливает сотруднику доверенность по умолчанию или снимает с доверенности такой признак;
GetEmployeePowersOfAttorney — возвращает список всех МЧД, привязанных к сотруднику.
Предварительная проверка МЧД
Перед отправкой документа можно проверить МЧД:
соответствует ли МЧД установленному формату,
действительна ли подпись, которой подписана МЧД,
соответствует ли МЧД сертификату, которым будет подписан документ,
действительна ли МЧД: т.е. не просрочена, уже начала свое действие, не отозвана — проверяется в тех случаях, когда за отведенное время удастся получить информацию о статусе МЧД от сервиса ФНС.
Для предварительной проверки МЧД используйте метод PrevalidatePowerOfAttorney.
Проверка полномочий МЧД
При отправке или после получения документа с МЧД вы можете проверить, соответствуют ли полномочия в МЧД этому документу. Так вы сможете убедиться в корректности подписания документа сертификатом физического лица с указанной МЧД.
Посмотреть полномочия в МЧД можно в поле PermissionsInfo структуры PowerOfAttorney, полученной следующими способами:
при регистрации МЧД — в структуре PowerOfAttorneyRegisterResult;
при получении и изменении МЧД сотрудника — в структуре EmployeePowerOfAttorney;
при получении информации о МЧД методом GetPowerOfAttorneyInfo.
Формирование документа с МЧД
При формировании формализованного документа нужно учесть данные об организации в блоке Подписант
. Для этого вместе с сертификатом физического лица укажите данные МЧД:
при генерации титула с МЧД методом GenerateTitleXml. Метод заполняет поля блока
Подписант
данными, полученными из МЧД.при подготовке документа к подписанию методом PrepareDocumentsToSign. Для этого в поле
SignerContent
структуры PrepareDocumentsToSignRequest передайте XML-файл универсального подписанта с данными МЧД.
Отправка документа с МЧД и ответное действие
Алгоритм заполнения МЧД при отправке первичного документа и при выполнении ответного действия с документом идентичны.
Отправить документ с МЧД или выполнить ответное действие можно с помощью методов:
Эти методы принимают на вход соответственно структуры SignedContent, DocumentSignature и DocumentSenderSignature, которые хранят информацию о МЧД внутри структуры PowerOfAttorneyToPost.
Передать МЧД можно одним из следующих способов:
Файлом в составе пакета документов. Этот способ может быть применен, например, если МЧД хранится в другой системе и не зарегистрирована в реестре ФНС.
С помощью реквизитов. Этот способ позволяет передать МЧД в составе пакета документов и при этом не прикладывать ее физически. Вы указываете реквизиты МЧД или выбираете МЧД по умолчанию. Тогда при формировании архива документооборота Диадок сам скачает файл МЧД из реестра ФНС.
В содержимом документа. Этот способ позволяет указать МЧД при генерации документа в XML-файле титула. Он применим только для обновленных форматов документов (см. в таблице ниже).
Для каждого способа передачи МЧД существуют свои правила заполнения структуры PowerOfAttorneyToPost
и условия их применения.
Способ передачи |
Как указать МЧД |
Условия |
---|---|---|
Файлом в составе пакета документов |
Передать в поле |
Наличие файла МЧД и подписи |
Выбрать |
Наличие у сотрудника доверенности по умолчанию или указанной доверенности |
|
С помощью реквизитов |
Выбрать |
|
В содержимом документа |
Выбрать |
Заполненный блок c МЧД в XML-файле титула, сформированного методом GenerateTitleXml. Применимо только для акта сверки формата приказа №405, акта о приемке выполненных работ КС-2 формата приказа №691, документов формата приказа №970, счета на оплату и счета-оферты формата приказа №29. |
Приложить МЧД к документу можно только одним из вышеперечисленных способом. Если вы указали МЧД сразу несколькими способами, то с документом будет отправлена та, которая выбрана с помощью параметров структуры PowerOfAttorneyToPost
: они взаимоисключают друг друга.
Если МЧД была выпущена в порядке передоверия, то вы можете указать ее следующими способами:
Передайте конечную МЧД файлом, с помощью реквизитов или в содержимом документа — так же, как и обычную МЧД. В этом случае Диадок попытается получить цепочку передоверия, и если это удалось, то в архиве документооборота будут хранится все МЧД цепочки. При отправке такого документа в роуминг с ним передаются данные всей цепочки передоверия.
Передайте всю цепочку передоверия МЧД в содержимом документа — в поле
PowerOfAttorneyToPost.Contents
. О том, как получить переданную цепочку файлов МЧД, написано в разделе Получение цепочки передоверия МЧД.
Получение документа с МЧД
Проверка приложенности МЧД к подписи
Чтобы при обработке входящих документов определить, к каким документам должна быть приложена МЧД, а к каким — нет, вы можете получить информацию о статусе приложенности МЧД к подписи. Например, если документ был подписан сертификатом ФЛ, то к подписи такого документа обязательно должна быть приложена МЧД.
Информация о статусе приложенности МЧД к подписи хранится в структуре PowerOfAttorneyAttachmentStatus и возвращается в поле PowerOfAttorneyAttachmentStatus
в структурах Entity и SignatureV3.
Кроме этого вы можете узнать тип владельца сертификата — он возвращается в поле CertificateSubjectType
структуры SignatureInfo, полученной методом GetSignatureInfo.
Получение содержимого МЧД
Если при отправке документа МЧД была приложена к нему файлом или указана с помощью реквизитов, то вы можете получить файл такой МЧД из отправленного сообщения. Для этого используйте метод GetPowerOfAttorneyContent (V2).
Получение цепочки передоверия МЧД
Если МЧД, приложенная к документу, была выпущена в порядке передоверия, то вы можете ее получить из отправленного сообщения методом GetPowerOfAttorneyInfo. Цепочка передоверия вернется в поле DelegationInfo
структуры PowerOfAttorney.
В случае, если Диадок не смог сформировать всю цепочку передоверия, вы сможете получить информацию только о первоначальной (корневой) доверенности и ее доверителях: данные доверителей будут храниться в поле DelegationInfo.RootIssuers
структуры PowerOfAttorney.
Получение МЧД в сообщении
Чтобы получить информацию о МЧД в сообщении, используйте методы:
Они возвращают информацию о МЧД и ее статусе внутри структуры Message в поле Entities.PowerOfAttorneyInfo, представленном структурой PowerOfAttorneyInfo.
Получение МЧД в документах
Чтобы получить информацию о МЧД в документах, используйте методы:
Они возвращают информацию об общем (сводном) статусе по всем МЧД для всех сущностей документа внутри структуры Document в поле DocflowStatus.PowerOfAttorneyValidationStatus, представленном структурой PowerOfAttorneyValidationStatus.
Чтобы получить подробную информацию о МЧД, отправленной с документом, используйте метод GetPowerOfAttorneyInfo. Он вернет данные в виде структуры PowerOfAttorney.
Получение МЧД в docflow
Чтобы получить информацию о МЧД в docflow, используйте методы:
Они возвращают:
информацию об общем (сводном) статусе по всем МЧД для всех сущностей документа внутри структуры DocflowStatusV3 в поле
PowerOfAttorneyValidationStatus
, представленном структурой PowerOfAttorneyValidationStatus;информацию о МЧД и ее статусе из подписи под документом внутри структуры SignatureV3 в поле
PowerOfAttorney
, представленном структурой SignaturePowerOfAttorney;статус приложенности машиночитаемой доверенности к подписи внутри структуры SignatureV3 в поле
PowerOfAttorneyAttachmentStatus
, представленном структурой PowerOfAttorneyAttachmentStatus.
Кроме этого, используя значение поля DocumentWithDocflowV3.DocumentId
вы можете с помощью методов получения МЧД в документах получить подробную информацию о МЧД в виде структуры PowerOfAttorney.