Трансграничный электронный документооборот
Трансграничный электронный документооборот (ТЭДО) — решение для обмена юридически значимыми электронными документами с зарубежными организациями.
В обмене документами в ТЭДО участвует доверенная третья сторона (ДТС), которая проверяет передаваемые подписи. Для подписи документов с российской стороны используется квалифицированная электронная подпись (КЭП), а со стороны иностранного партнера — аналог КЭП, сертифицированный в его стране. Иностранная подпись проверяется через механизм ДТС. В обмене могут участвовать формализованные и неформализованные документы: точный список зависит от страны, в которой работает контрагент.
Обмен документами в ТЭДО через API Диадока выполняется стандартными методами, особенности зависят от страны зарубежного партнера.
Примечание
Подробная информация о подключении и возможностях ТЭДО приведена в Контур.Помощи.
Обратите внимание, что для ТЭДО не поддерживается:
автороуминг,
работа с шаблонами,
пакетная отправка и получение пакетов,
методы работы с контрагентами при использовании иностранных идентификаторов.
Для поиска зарубежных организаций используйте код иностранного налогоплательщика в методах:
Подробное описание ТЭДО с доступными странами — в разделах ниже.
ТЭДО с Беларусью
Схема документооборота с контрагентом из Республики Беларусь (РБ) зависит от направления обмена.
Отправка документа из РФ в РБ
Отправка документа происходит по следующему алгоритму:
Контрагент в РФ готовит к отправке документ одного из следующих типов:
УПД (ДОП, СЧФДОП) по формату приказа ФНС № ЕД-7-26/970@;
УКД (ДИС, КСЧФДИС) по формату приказа ФНС № ЕД-7-26/736@;
ИУПД при исправлениях УПД по формату приказа ФНС № ЕД-7-26/970@;
неформализованный документ.
Методы и подходы для работы с УПД, УКД и ИУПД приведены на странице Работа с УПД. В ТЭДО для таких документов в блоках Покупатель и Грузополучатель формируется структура СвИнНеУч. При разработке интеграционного решения учитывайте, что реквизиты ИНН и КПП иностранного ящика ненастоящие, они нужны только для технической реализации.
Контрагент в РФ отправляет документ через API Диадока контрагенту в РБ.
Система белорусского оператора ЭДО получает документ. Статус доставки можно получить из структуры RoamingNotification.
Белорусская ДТС проверяет подпись. При обнаружении ошибок их описание также доступно в структуре
RoamingNotification.Контрагент в РБ получает документ и выполняет одно из действий:
подписывает документ;
отказывает в подписи в формате уведомления об уточнении (УоУ);
выполняет аннулирование (для УПД и УКД — только если документ ранее подписали).
Получение документа из РБ в РФ
Получение документа происходит по следующему алгоритму:
Контрагент в РБ готовит к отправке товарную накладную формата Республики Беларусь (ТНРБ). Она определяется Постановлением РБ № 9/75/35/26 от 18.12.2023 и представляет собой двухтитульный документ в формате XML.
Контрагент в РБ отправляет ТНРБ через своего оператора ЭДО.
Диадок получает документ.
Российская ДТС проверяет подпись. Для неформализованных документов статус проверки, информацию о проверке в виде JSON-файла и PDF-квитанцию с подписью можно получить из структуры OuterDocflow. Подробнее — в разделе Квитанции ДТС.
Контрагент в РФ получает ТНРБ (тип
XmlTorgBlrв Диадоке) и выполняет одно из действий:
подписывает документ — формирует ответный титул с помощью метода GenerateTitleXml. Аннулировать подписанную ТНРБ нельзя;
отказывает в подписи — формирует документ-отмену в белорусском формате
BLRAPNс помощью метода GenerateSignatureRejectionXml (V2). Когда контрагент в РБ получаетBLRAPN, он отправляет контрагенту в РФ документ-отмену товарной накладной по формату ТНРБ с полемFunctionCode = 1. Документооборот ТНРБ считается завершенным при получении документа-отмены контрагентом в РФ.
ТЭДО с Казахстаном
Схема документооборота с контрагентом из Казахстана не отличается от схемы с Беларусью кроме доступных форматов — в обмене участвуют исключительно неформализованные документы. В ТЭДО с Казахстаном можно:
отправить документ с запросом ответной подписи или без него;
подписать полученный документ или отказать в подписи;
аннулировать документ — но только если контрагент работает через оператора ЭДО «МетаЭра».
ТЭДО с Узбекистаном
Схема документооборота с контрагентом из Узбекистана не отличается от схемы с Беларусью кроме доступных форматов — в обмене участвуют исключительно неформализованные документы. В ТЭДО с Узбекистаном можно:
отправить документ с запросом ответной подписи или без него;
подписать полученный документ или отказать в подписи.
Аннулировать документ в ТЭДО с Узбекистаном нельзя: отправка предложения об аннулировании (ПоА) не поддерживается.
Обратите внимание, что пока ТЭДО с контрагентом из Узбекистана возможен только в случае, если он работает через оператора ЭДО UNICON.
Квитанции ДТС
Квитанция доверенной третьей стороны (ДТС) — служебный документ, содержащий информацию о проверке подписи под документом от иностранной организации в рамках ТЭДО.
Механизм проверки иностранной подписи
Для проверки иностранной подписи Диадок отдает документ с этой подписью во внешний сервис проверки ДТС. В ответ Диадок получает квитанцию — она содержит результат проверки подписи. Диадок сохраняет результат проверки как внешний документооборот с идентификатором TtpSignatureVerificationResult и названием «ДТС». В API статус проверки ДТС представлен как статус этого внешнего документооборота.
Структура JSON-файла
JSON-файл с информацией о проверке содержит следующие данные:
signatureInfResult— подпись службы ДТС. У нее свой итог целостности и сертификата, тип, сертификат подписанта службы и метка доверенного времени. ВextendedInformation— ссылка на машиночитаемую доверенность.ticketInfo— паспорт квитанции: доверенное время создания, идентификатор транзакции, серийный номер, тип запроса и хэш проверенных данных.бинарные вложения в виде строки в формате Base64:
dvcResponse— подписанная квитанция о проверке;printForm— печатная форма квитанции;printFormSignature— подпись к печатной форме.
Чтобы получить вложения в виде файлов, декодируйте строку и сохраните как файл с соответствующим расширением: для квитанции — «.dvc», для печатной формы — «.pdf», для подписи — «.sig».
Пример квитанции ДТС:
{
"objectCount": {
"dsc": "Количество электронных подписей",
"val": 1
},
"proofList": [
{
"dsc": "Детальная информация об электронной подписи '1', лица подписавшего электронный документ",
"status": {
"valB": true,
"dsc": "Статус проверки электронной подписи",
"val": "ДЕЙСТВИТЕЛЬНА"
},
"certificateInfo": {
"subject": {
"dsc": "Субъект",
"val": "Иванов Иван Иванович"
},
"subjectFio": {
"dsc": "ФИО субъекта",
"val": "Иванов Иван Иванович"
},
"issuer": {
"dsc": "Издатель",
"val": "АО \"ПФ \"СКБ Контур\""
},
"tspan": {
"dsc": "Время действия",
"from": "14 мая 2026 г. 6:11:07 UTC",
"fromFileTime": 134232126670000000,
"till": "14 мая 2027 г. 6:21:07 UTC",
"tillFileTime": 134547492670000000
},
"serial": {
"dsc": "Серийный номер",
"val": "11112222333344445555666677778888"
},
"signAlg": {
"oid": "1.2.643.7.1.1.3.2",
"dsc": "Алгоритм подписи сертификата",
"val": "ГОСТ Р 34.11-2012/34.10-2012 256 бит"
},
"openKeyAlg": {
"oid": "1.2.643.7.1.1.1.1",
"dsc": "Алгоритм открытого ключа",
"val": "ГОСТ Р 34.10-2012 256 бит"
},
"openKey": {
"dsc": "Открытый ключ",
"val": "<...>"
},
"dsc": "Сертификат ключа проверки электронной подписи",
"certificateRaw": "<...>"
},
"target": {
"dsc": "Информация о подписи",
"createTime": {
"fileTime": 134342062600000000,
"dsc": "Время в подписи (недоверенное)",
"val": "18 сентября 2026 г. 11:57:40 UTC"
},
"comment": {
"dsc": "Комментарий к подписи",
"val": "Нет комментария"
},
"targetType": {
"hexType": "00000205",
"dsc": "Тип подписи подробно",
"val": "Усиленная, Квалифицированная, PAdES"
},
"deathTime": {
"fileTime": 134547492670000000,
"dsc": "Время истечения",
"val": "14 мая 2027 г. 6:21:07 UTC"
},
"certQualifyStatus": {
"dsc": "Информация о статусе квалифицированности",
"certFieldError": {
"hexType": "0000000000000000",
"dsc": "Код ошибок полей сертификата",
"val": "good"
},
"statusStartCert": {
"comment": "Действует",
"dsc": "Cтатус аккредитации УЦ на момент издания сертификата",
"val": 2
},
"statusCurrent": {
"comment": "Действует",
"dsc": "Текущий статус аккредитации УЦ",
"val": 2
},
"qualifiedStatus": {
"valB": true,
"dsc": "Статус квалифицированности сертификата",
"val": "Квалифицированный"
}
}
},
"chain": {
"dsc": "Доказательства в цепочке",
"status": {
"valB": true,
"dsc": "Действительность сертификата ключа проверки электронной подписи лица, подписавшего документ",
"val": "ПОДТВЕРЖДЕНА"
},
"additionalInformation": {
"errors": [],
"information": [
"Идентификатор проверяемых данных: 0123456789abcdef0123456789abcdef-fedcba9876543210fedcba9876543210",
"Тип подписи: Усиленная, квалифицированная",
"Идентификатор службы ДТС: ДТС v.6 (#Dvc1-2021-01)"
],
"dsc": "Дополнительная информация"
},
"certificates": [
{
"subject": {
"dsc": "Субъект",
"val": "Иванов Иван Иванович"
},
"subjectFio": {
"dsc": "ФИО субъекта",
"val": "Иванов Иван Иванович"
},
"issuer": {
"dsc": "Издатель",
"val": "АО \"ПФ \"СКБ Контур\""
},
"tspan": {
"dsc": "Время действия",
"from": "14 мая 2026 г. 6:11:07 UTC",
"fromFileTime": 134232126670000000,
"till": "14 мая 2027 г. 6:21:07 UTC",
"tillFileTime": 134547492670000000
},
"serial": {
"dsc": "Серийный номер",
"val": "11112222333344445555666677778888"
},
"signAlg": {
"oid": "1.2.643.7.1.1.3.2",
"dsc": "Алгоритм подписи сертификата",
"val": "ГОСТ Р 34.11-2012/34.10-2012 256 бит"
},
"openKeyAlg": {
"oid": "1.2.643.7.1.1.1.1",
"dsc": "Алгоритм открытого ключа",
"val": "ГОСТ Р 34.10-2012 256 бит"
},
"openKey": {
"dsc": "Открытый ключ",
"val": "<...>"
},
"dsc": "Сертификат в цепочке",
"certificateRaw": "<...>"
},
{
"subject": {
"dsc": "Субъект",
"val": "АО \"ПФ \"СКБ Контур\""
},
"issuer": {
"dsc": "Издатель",
"val": "Минцифры России"
},
"tspan": {
"dsc": "Время действия",
"from": "3 июля 2025 г. 9:34:16 UTC",
"fromFileTime": 133960088560000000,
"till": "3 июля 2039 г. 9:34:16 UTC",
"tillFileTime": 138377720560000000
},
"serial": {
"dsc": "Серийный номер",
"val": "00BB4E9B0A000000000B35"
},
"signAlg": {
"oid": "1.2.643.7.1.1.3.2",
"dsc": "Алгоритм подписи сертификата",
"val": "ГОСТ Р 34.11-2012/34.10-2012 256 бит"
},
"openKeyAlg": {
"oid": "1.2.643.7.1.1.1.1",
"dsc": "Алгоритм открытого ключа",
"val": "ГОСТ Р 34.10-2012 256 бит"
},
"openKey": {
"dsc": "Открытый ключ",
"val": "<...>"
},
"dsc": "Сертификат в цепочке",
"certificateRaw": "<...>"
},
{
"subject": {
"dsc": "Субъект",
"val": "Минцифры России"
},
"issuer": {
"dsc": "Издатель",
"val": "Минцифры России"
},
"tspan": {
"dsc": "Время действия",
"from": "8 января 2022 г. 13:32:39 UTC",
"fromFileTime": 132861223590000000,
"till": "8 января 2040 г. 13:32:39 UTC",
"tillFileTime": 138541159590000000
},
"serial": {
"dsc": "Серийный номер",
"val": "00951FA3477C61043AADFA858627823442"
},
"signAlg": {
"oid": "1.2.643.7.1.1.3.2",
"dsc": "Алгоритм подписи сертификата",
"val": "ГОСТ Р 34.11-2012/34.10-2012 256 бит"
},
"openKeyAlg": {
"oid": "1.2.643.7.1.1.1.1",
"dsc": "Алгоритм открытого ключа",
"val": "ГОСТ Р 34.10-2012 256 бит"
},
"openKey": {
"dsc": "Открытый ключ",
"val": "<...>"
},
"dsc": "Сертификат в цепочке",
"certificateRaw": "<...>"
}
],
"tspInf": [],
"crlInf": [
{
"dsc": "Информация о списке отзыва",
"issuer": {
"dsc": "Сертификат издателя",
"val": "Минцифры России"
},
"createTime": {
"fileTime": 134333301240000000,
"dsc": "Дата выпуска",
"val": "8 сентября 2026 г. 8:35:24 UTC"
},
"nextTime": {
"fileTime": 134359221240000000,
"dsc": "Дата следующего перевыпуска",
"val": "8 октября 2026 г. 8:35:24 UTC"
}
}
],
"ocspInf": [
{
"dsc": "Информация о службе онлайн проверки статуса сертификата",
"time": {
"fileTime": 134344435380000000,
"dsc": "Время формирования OCSP ответа",
"val": "21 сентября 2026 г. 5:52:18 UTC"
},
"subject": {
"dsc": "Информация о сертификате службы",
"val": "Васильев Василий Васильевич"
},
"issuer": {
"dsc": "Издатель",
"val": "АО \"ПФ \"СКБ Контур\""
},
"serial": {
"dsc": "Серийный номер сертификата службы",
"val": "FEDCBA9876543210FEDCBA9876543210"
},
"ocspVerStatus": {
"status": {
"valB": true,
"dsc": "Информация о проверке сертификата службы",
"val": "Действителен"
}
},
"certExt": {
"subject": {
"dsc": "Субъект",
"val": "Васильев Василий Васильевич"
},
"subjectFio": {
"dsc": "ФИО субъекта",
"val": "Васильев Василий Васильевич"
},
"issuer": {
"dsc": "Издатель",
"val": "АО \"ПФ \"СКБ Контур\""
},
"tspan": {
"dsc": "Время действия",
"from": "10 июля 2025 г. 13:56:13 UTC",
"fromFileTime": 133966293730000000,
"till": "3 июля 2039 г. 9:34:16 UTC",
"tillFileTime": 138377720560000000
},
"serial": {
"dsc": "Серийный номер",
"val": "FEDCBA9876543210FEDCBA9876543210"
},
"signAlg": {
"oid": "1.2.643.7.1.1.3.2",
"dsc": "Алгоритм подписи сертификата",
"val": "ГОСТ Р 34.11-2012/34.10-2012 256 бит"
},
"openKeyAlg": {
"oid": "1.2.643.7.1.1.1.1",
"dsc": "Алгоритм открытого ключа",
"val": "ГОСТ Р 34.10-2012 256 бит"
},
"openKey": {
"dsc": "Открытый ключ",
"val": "<...>"
},
"dsc": "Информация о сертификате",
"certificateRaw": "<...>"
}
}
],
"hasProofs": true
}
}
],
"dvcResponse": "<...>",
"printForm": "<...>",
"printFormSignature": "<...>",
"verifyType": 2,
"signatureInfResult": {
"verifyType": 5,
"verifyResult": {
"valB": true,
"dsc": "Целостность данных",
"val": "ПОДТВЕРЖДЕНА"
},
"verifyCertificateResult": {
"valB": true,
"dsc": "Сертификат ключа проверки электронной подписи",
"val": "ДЕЙСТВИТЕЛЕН"
},
"signType": {
"dsc": "Тип электронной подписи",
"val": "Усиленная, Квалифицированная, С меткой времени"
},
"createTime": {
"dsc": "Определено по метке доверенного времени",
"tspList": [
{
"dsc": "Информация о метке доверенного времени",
"subject": {
"dsc": "Субъект",
"val": "Петров Петр Петрович"
},
"issuer": {
"dsc": "Издатель",
"val": "АО \"ПФ \"СКБ Контур\""
},
"time": {
"fileTime": 134344435430000000,
"dsc": "Время формирования метки доверенного времени",
"val": "21 сентября 2026 г. 5:52:23 UTC"
},
"serial": {
"dsc": "Серийный номер метки доверенного времени",
"val": "00000000000000000000000001"
},
"policy": {
"dsc": "Идентификатор политики",
"val": "1.2.3.4"
},
"eds": {
"dsc": "ЭП метки доверенного времени",
"val": "Верна"
},
"certificateRaw": "<...>",
"hash": {
"dsc": "Хэш-значение",
"val": "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"
}
}
],
"tsp": {
"dsc": "Информация о метке доверенного времени",
"subject": {
"dsc": "Субъект",
"val": "Петров Петр Петрович"
},
"issuer": {
"dsc": "Издатель",
"val": "АО \"ПФ \"СКБ Контур\""
},
"time": {
"fileTime": 134344435430000000,
"dsc": "Время формирования метки доверенного времени",
"val": "21 сентября 2026 г. 5:52:23 UTC"
},
"serial": {
"dsc": "Серийный номер метки доверенного времени",
"val": "00000000000000000000000001"
},
"policy": {
"dsc": "Идентификатор политики",
"val": "1.2.3.4"
},
"eds": {
"dsc": "ЭП метки доверенного времени",
"val": "Верна"
},
"certificateRaw": "<...>",
"hash": {
"dsc": "Хэш-значение",
"val": "0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF0123456789ABCDEF"
}
}
},
"certificateInfo": {
"subject": {
"dsc": "Субъект",
"val": "Петров Петр Петрович"
},
"subjectFio": {
"dsc": "ФИО субъекта",
"val": "Петров Петр Петрович"
},
"issuer": {
"dsc": "Издатель",
"val": "АО \"ПФ \"СКБ Контур\""
},
"tspan": {
"dsc": "Время действия",
"from": "2 сентября 2025 г. 7:27:24 UTC",
"fromFileTime": 134012716440000000,
"till": "2 сентября 2031 г. 7:37:24 UTC",
"tillFileTime": 135905746440000000
},
"serial": {
"dsc": "Серийный номер",
"val": "0123456789ABCDEF0123456789ABCDEF01"
},
"signAlg": {
"oid": "1.2.643.7.1.1.3.2",
"dsc": "Алгоритм подписи сертификата",
"val": "ГОСТ Р 34.11-2012/34.10-2012 256 бит"
},
"openKeyAlg": {
"oid": "1.2.643.7.1.1.1.1",
"dsc": "Алгоритм открытого ключа",
"val": "ГОСТ Р 34.10-2012 256 бит"
},
"openKey": {
"dsc": "Открытый ключ",
"val": "<...>"
},
"dsc": "Информация о сертификате",
"certificateRaw": "<...>"
},
"dsc": "Информация об ЭП службы ДТС",
"extendedInformation": {
"dsc": "Дополнительная информация",
"val": "00000000-0000-0000-0000-000000000001#https://m4d.nalog.gov.ru/EMCHD/check-status?guid=00000000-0000-0000-0000-000000000001#0000000000#000000000000"
}
},
"verifyResult": {
"comment": "Статус проверки квитанции",
"valB": true,
"dsc": "Подлинность документа",
"val": "ПОДТВЕРЖДЕНА"
},
"ticketInfo": {
"createTimeInfo": {
"dsc": "Время создания квитанции",
"dvcTime": {
"dsc": "Определено по метке доверенного времени",
"tspList": [
{
"dsc": "Информация о метке доверенного времени",
"subject": {
"dsc": "Субъект",
"val": "Петров Петр Петрович"
},
"issuer": {
"dsc": "Издатель",
"val": "АО \"ПФ \"СКБ Контур\""
},
"time": {
"fileTime": 134344435410000000,
"dsc": "Время формирования метки доверенного времени",
"val": "21 сентября 2026 г. 5:52:21 UTC"
},
"serial": {
"dsc": "Серийный номер метки доверенного времени",
"val": "00000000000000000000000002"
},
"policy": {
"dsc": "Идентификатор политики",
"val": "1.2.3.4"
},
"eds": {
"dsc": "ЭП метки доверенного времени",
"val": "Верна"
},
"certificateRaw": "<...>",
"certificateSpan": {
"dsc": "Время действия",
"from": "30 июля 2025 г. 17:21:39 UTC",
"fromFileTime": 133983588990000000,
"till": "30 июля 2035 г. 17:31:39 UTC",
"tillFileTime": 137138922990000000
}
}
],
"tsp": {
"dsc": "Информация о метке доверенного времени",
"subject": {
"dsc": "Субъект",
"val": "Петров Петр Петрович"
},
"issuer": {
"dsc": "Издатель",
"val": "АО \"ПФ \"СКБ Контур\""
},
"time": {
"fileTime": 134344435410000000,
"dsc": "Время формирования метки доверенного времени",
"val": "21 сентября 2026 г. 5:52:21 UTC"
},
"serial": {
"dsc": "Серийный номер метки доверенного времени",
"val": "00000000000000000000000002"
},
"policy": {
"dsc": "Идентификатор политики",
"val": "1.2.3.4"
},
"eds": {
"dsc": "ЭП метки доверенного времени",
"val": "Верна"
},
"certificateRaw": "<...>",
"certificateSpan": {
"dsc": "Время действия",
"from": "30 июля 2025 г. 17:21:39 UTC",
"fromFileTime": 133983588990000000,
"till": "30 июля 2035 г. 17:31:39 UTC",
"tillFileTime": 137138922990000000
}
}
}
},
"transactionId": {
"dsc": "Идентификатор транзакции",
"val": "cp-00000000-0000-0000-0000-000000000001"
},
"serial": {
"dsc": "Серийный номер квитанции",
"val": "0123456789ABCDEF0123456789ABCDEF"
},
"requestInf": {
"dsc": "Информация о запросе",
"request": {
"createTime": {
"dsc": "Время формирования",
"dvcTime": {
"dsc": "Определено по локальному времени",
"time": {
"fileTime": 134344434230000000,
"dsc": "Время формирования",
"val": "21 сентября 2026 г. 5:50:23 UTC"
}
}
},
"requestType": {
"dsc": "Тип запроса",
"val": 2
},
"useHash": {
"valB": false,
"dsc": "Использование хэширования в запросе",
"val": "Нет"
}
}
},
"messageImprint": {
"dsc": "Хэш-штамп:",
"hash": {
"dsc": "Хэш-значение",
"val": "0123456789ABCDEF0123456789ABCDEF01234567"
},
"hashAlg": {
"oid": "1.3.14.3.2.26",
"dsc": "Алгоритм хэширования",
"val": "sha1"
}
},
"dataHash": []
},
"requestLabel": "Проверка ЭП на документе",
"validTo": "2031-09-02T10:37:24+03:00"
}
Статусы проверки
Статус проверки подписи можно получить с помощью методов для работы с событиями, документами и сообщениями или с помощью методов для работы с документооборотом.
Получение через методы для работы с событиями, документами и сообщениями
Методы работы с сообщениями и событиями возвращают все полученные статусы:
Методы работы с документами возвращают последний полученный статус:
Информация о статусах возвращается в структуре OuterDocflowInfo.
Пример структуры OuterDocflowInfo:
{
"DocflowNamedId": "TtpSignatureVerificationResult",
"DocflowFriendlyName": "ДТС",
"Status": {
"NamedId": "VerificationSucceed",
"FriendlyName": "Подпись успешно прошла проверку через ДТС",
"Type": "Success",
"Description": "Подпись под документом прошла проверку через доверенную третью сторону",
"Details": []
}
}
Получение через методы для работы с документооборотом
Информация о статусах возвращается в структуре DocflowV5 в поле OuterDocflows в виде списка структур OuterDocflowV5.
В поле LatestStatusEntityId указан последний полученный статус. Все полученные статусы перечислены в поле StatusEntities.
Кроме статуса из структуры OuterDocflows можно получить и содержимое квитанции, подробнее — в разделе Внешний документооборот.
Пример структуры OuterDocflows:
{
"Docflow": {
"OuterDocflows": [
{
"DocflowNamedId": "TtpSignatureVerificationResult",
"ParentEntityId": "<идентификатор документа>",
"LatestStatusEntityId": "<идентификатор сущности квитанции>",
"DocflowFriendlyName": "ДТС",
"StatusEntities": [
{
"Attachment": {
"Attachment": {
"Entity": {
"EntityId": "<идентификатор сущности квитанции>",
"Content": {
"Size": 1234
}
},
"AttachmentFilename": "Квитанция_ДТС_<id>"
}
},
"Status": {
"NamedId": "VerificationSucceed",
"FriendlyName": "Подпись успешно прошла проверку через ДТС",
"Type": "Success"
}
}
]
}
]
}
}
Информация о статусе обработки
Обратите внимание, что структуры OuterDocflowInfo и OuterDocflowV5 могут содержать информацию не только о проверке подписи, но и о других внешних документооборотах. Отличить статусы ДТС можно по идентификатору DocflowNamedId = TtpSignatureVerificationResult. Значения статусов описаны в таблице ниже.
Status.Type |
Status.NamedId |
Status.FriendlyName |
|---|---|---|
Normal |
VerificationInProgress |
Ожидается проверка через ДТС |
Success |
VerificationSucceed |
Подпись успешно прошла проверку через ДТС |
Error |
VerificationFailed |
Ошибка проверки подписи через ДТС |
Warning |
PaymentIsRequired |
Пакет проверок подписи через ДТС исчерпан |
Получение квитанции
Квитанцию ДТС можно получить через API двумя способами — из информации о внешнем документообороте и в составе архива документооборота.
Внешний документооборот
Квитанцию ДТС можно получить из информации о внешнем документообороте — OuterDocflowV5.
Для этого:
Получите состояние документооборота документа с помощью методов
Информация о статусах возвращается в структуре DocflowV5 в поле
OuterDocflowsв виде списка структур OuterDocflowV5.В структуре
OuterDocflowsнайдите элемент с идентификаторомDocflowNamedId = TtpSignatureVerificationResult.В этом элементе в поле
StatusEntities, хранящем все полученные статусы, найдите последний статус, который удовлетворяет условиюStatusEntity.Attachment.Attachment.Entity.EntityId == outerDocflow.LatestStatusEntityId. Обратите внимание, что нельзя взять просто последний элемент в списке: ориентироваться нужно наLatestStatusEntityId.Из найденного события получите значения:
Status— результат проверки через ДТС, подробнее — Информация о статусе обработки;Attachment.Attachment.Entity— сущность с содержимым квитанции.
Обратите внимание на статус проверки
Status: скачивать содержимое квитанции можно только приStatus.NamedIdв значенияхVerificationSucceedилиVerificationFailed. Подробнее — в разделе Информация о статусе обработки.Пример структуры OuterDocflows:
{ "Docflow": { "OuterDocflows": [ { "DocflowNamedId": "TtpSignatureVerificationResult", "ParentEntityId": "<идентификатор документа>", "LatestStatusEntityId": "<идентификатор сущности квитанции>", "DocflowFriendlyName": "ДТС", "StatusEntities": [ { "Attachment": { "Attachment": { "Entity": { "EntityId": "<идентификатор сущности квитанции>", "Content": { "Size": 1234 } }, "AttachmentFilename": "Квитанция_ДТС_<id>" } }, "Status": { "NamedId": "VerificationSucceed", "FriendlyName": "Подпись успешно прошла проверку через ДТС", "Type": "Success" } } ] } ] } }
В приведенном примере
EntityIdсовпадает сLatestStatusEntityId, поэтому это и есть сущность последнего результата проверки.Получите содержимое квитанции:
Если в найденной сущности заполнено
Content.Data, то содержимое уже есть в ответе. В JSON байты передаются в Base64.Если
Content.Dataне заполнено, вызовите метод GetEntityContent (V4), указав параметры:boxId— ящик, из которого получен документ;messageId—DocumentId.MessageIdэтого документа;entityId— идентификатор сущности квитанции (не исходного документа и неParentEntityId).
Тело ответа метода — это информация о проверке в виде JSON-файла.
О том, как обработать полученный JSON-файл и как получить из него квитанцию и печатную форму с подписью — в разделе Структура JSON-файла.
Архив документооборота
Квитанцию ДТС можно получить в архиве документооборота, указав при вызове метода GenerateDocumentZip параметр fullDocflow = true. Квитанция вернется в архиве в виде набора файлов:
JSON-файл с информацией о проверке подписи. Содержит итог проверки и перечень ошибок проверки. Этот файл формирует сервис ДТС, Диадок его только хранит и возвращает в неизменном виде. Имя файла —
*_ttp.json. Подробнее — в разделе Структура JSON-файла.PDF-квитанция — печатная форма квитанции. Имя файла —
*_ttp.pdf.Подпись ДТС под PDF-квитанцией — отдельный файл подписи. Имя файла —
*_ttp.pdf.sgn.