Работа с печатными формами
Диадок позволяет получить печатную форму для формализованных документов, чтобы отобразить их пользователю в удобочитаемом формате — PDF или PNG.
Печатную форму документа можно сформировать как до, так и после его отправки в Диадок.
Генерация печатной формы для документа в Диадоке
Печатную форму можно использовать для отображения содержимого XML-файла формализованного документа в понятном человеку виде. Кроме самого документа форма содержит штамп оператора. В нем указана информация об идентификаторе документа в Диадоке, его подписанте, сертификате квалифицированной электронной подписи и дате подписания документа. Печатная форма со штампом сама по себе не является юридически значимым документом: она предназначена только для просмотра документа.
Печатную форму можно сгенерировать в формате PDF или PNG.
Печатная форма в формате PDF
Сгенерировать печатную форму документа в формате PDF можно с помощью метода GeneratePrintForm.
Пример HTTP-запроса метода GeneratePrintForm:
GET /GeneratePrintForm?boxId={{boxId}}&messageId={{messageId}}&documentId={{documentId}} HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Печатная форма в формате PNG
Сгенерировать печатную форму документа в формате PNG можно с помощью метода GeneratePrintFormPng. В отличие от PDF, результат в PNG разбивается на страницы, а каждый файл содержит только одну из них.
Генерация PNG выполняется асинхронно. Метод создает задачу на печать и возвращает ее идентификатор в структуре AsyncMethodResult. Повторный вызов для того же документа в течение 7 дней вернет идентификатор уже существующей задачи, а не создаст новую. Если между одинаковыми вызовами прошло больше 7 дней, метод создаст новую задачу.
Пример HTTP-запроса метода GeneratePrintFormPng:
POST /GeneratePrintFormPng?boxId={{boxId}}&messageId={{messageId}}&documentId={{documentId}} HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Accept: application/json; charset=utf-8
Пример тела ответа GeneratePrintFormPng:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"TaskId": "2fd45887-138e-4e08-aeb2-bcd55bf0dd85"
}
Статус и результат генерации можно получить с помощью метода GetGeneratedPrintFormResult, передав ему идентификатор задачи из TaskId. Результат может получить любой пользователь. В зависимости от статуса структура может содержать в себе разные ответы:
если
OperationStatus = InProgress: генерация еще выполняется — повторите запрос позднее;если
OperationStatus = Success: в полеFilesхранится список имен PNG-файлов на полке документов. Каждый файл можно скачать отдельным вызовом метода ShelfDownload (V2), передав в него имя файлаfileName. Скачать файлы может только тот пользователь, который запустил печать методом GeneratePrintFormPng;если
OperationStatus = Failed: в полеErrorsхранится список ошибок.
Пример HTTP-запроса метода GetGeneratedPrintFormResult:
GET /GetGeneratedPrintFormResult?boxId={{boxId}}&taskId={{taskId}} HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Accept: application/json; charset=utf-8
Примеры тела ответа GetGeneratedPrintFormResult:
Операция не завершена
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 { "OperationStatus": "InProgress", "Files": [], "Errors": [] }
Операция завершена успешно
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 { "OperationStatus": "Success", "Files": [ "dd-api-6831e2e9-cc81-48d5-807d-fe51c2037d44", "dd-api-7b2c91a0-1e4f-4d8a-9c33-0a1b2c3d4e5f" ], "Errors": [] }
Операция завершилась с ошибкой
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 { "OperationStatus": "Failed", "Files": [], "Errors": [ "Unable to generate print form" ] }
Генерация печатной формы по содержимому документа
Для формализованного документа, не отправленного в Диадок, тоже можно сформировать печатную форму. Так можно предварительно ознакомиться с внешним видом документа и сравнить, как меняется печатная форма в зависимости от указанного типа.
Печатную форму можно сгенерировать в формате PDF или PNG.
Печатная форма в формате PDF
Сгенерировать печатную форму документа в формате PDF можно с помощью метода GeneratePrintFormFromAttachment.
Исходный документ нужно передать в теле запроса метода GeneratePrintFormFromAttachment. В ответе метод вернет идентификатор, который нужно передать в метод GetGeneratedPrintForm. Если у переданного документа нет стандартной печатной формы, метод вернет нечитаемое изображение с XML-содержимым — независимо от того, есть ли для документа нестандартная печатная форма.
Пример HTTP-запроса метода GeneratePrintFormFromAttachment:
POST /GeneratePrintFormFromAttachment?documentType=UniversalTransferDocument&fromBoxId={{boxId}} HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Content-Type: application/octet-stream
Пример тела запроса метода GeneratePrintFormFromAttachment:
<Файл ИдФайл="ON_NSCHFDOPPR_2BM-9677800047-967701000-202207281004154081709_2BM-9681265956-968101000-202207281000014689156_20250116_8c703486-75df-46f8-8f0a-959b09f807a9_1_1_0_0_1_00" ВерсФорм="5.03" ВерсПрог="Diadoc 1.0">
<Документ КНД="1115131" ВремИнфПр="18.13.16" ДатаИнфПр="16.01.2025" Функция="СЧФДОП" ПоФактХЖ="Документ об отгрузке товаров (выполнении работ), передаче имущественных прав (документ об оказании услуг)" НаимДокОпр="Документ о передаче товаров (работ, услуг, имущественных прав)" УИД="UID" НаимЭконСубСост="Документ-НаимЭконСубСост" СоглСтрДопИнф="1111.2222.0000">
<СвСчФакт НомерДок="123" ДатаДок="01.02.2023" ИмяФайлИспрПрод="СвСчФакт-ИмяФайлИспрПрод" ИмяФайлИспрПок="СвСчФакт-ИмяФайлИспрПок">
<СвПрод ОКПО="0166273597" КодОПФ="12200" ПолнНаимОПФ="СвПрод-ПолнНаимОПФ" СтруктПодр="СвПрод-СтруктПодр" ИнфДляУчаст="СвПрод-ИнфДляУчаст" СокрНаим="СвПрод-СокрНаим">
<ИдСв>
<СвЮЛУч НаимОрг="СвЮЛУч-НаимОрг" ИННЮЛ="9103624367" КПП="187245452" />
</ИдСв>
<Адрес>
<АдрРФ КодРегион="72" НаимРегион="Тюменская область" Индекс="344249" Район="Тюмень" Город="Тюмень" НаселПункт="АдрРФ-НаселПункт" Улица="АдрРФ-Улица" Дом="АдрРФ-Дом" Корпус="АдрРФ-Корпус" Кварт="АдрРФ-Кварт" ИныеСвед="АдрРФ-ИныеСвед" />
</Адрес>
<БанкРекв НомерСчета="49634485849155">
<СвБанк НаимБанк="СИБИРСКИЙ БАНК ПАО СБЕРБАНК" БИК="045004641" КорСчет="30101810500000000641" />
</БанкРекв>
<Контакт ИнКонт="Контакт-ИнКонт">
<Тлф>8-343-123-4567</Тлф>
<ЭлПочта>email@google.com</ЭлПочта>
</Контакт>
</СвПрод>
<ГрузОт>
<ГрузОтпр ОКПО="76098674" КодОПФ="12000" ПолнНаимОПФ="ГрузОтпр-ПолнНаимОПФ" СтруктПодр="ГрузОтпр-СтруктПодр" ИнфДляУчаст="ГрузОтпр-ИнфДляУчаст" СокрНаим="ГрузОтпр-СокрНаим">
<ИдСв>
<СвИП ИННФЛ="753381367749" СвГосРегИП="СвИП-СвГосРегИП" ОГРНИП="421319982803452" ДатаОГРНИП="12.12.2012" ИныеСвед="СвИП-ИныеСвед">
<ФИО Фамилия="Иванов" Имя="Иван" Отчество="Иванович" />
</СвИП>
</ИдСв>
<Адрес>
<АдрГАР ИдНом="03510210-e5f3-4bc6-bbd2-24d7fe25b3ed" Индекс="450133">
<Регион>72</Регион>
<НаимРегион>Тюменская область</НаимРегион>
<МуниципРайон ВидКод="1" Наим="МуниципРайон-Наим" />
<ГородСелПоселен ВидКод="1" Наим="ГородСелПоселен-Наим" />
<НаселенПункт Вид="НаселенПункт" Наим="НаселенПункт-Наим" />
<ЭлПланСтруктур Тип="ЭлПланСтруктур" Наим="ЭлПланСтруктур-Наим" />
<ЭлУлДорСети Тип="ЭлУлДорСети" Наим="ЭлУлДорСети-Наим" />
<ЗемелУчасток>ЗемелУчасток</ЗемелУчасток>
<Здание Тип="Здание" Номер="Здание-Номер" />
<ПомещЗдания Тип="ПомещЗдания" Номер="ПомещЗдания-Номер" />
<ПомещКвартиры Тип="ПомещКвартиры" Номер="ПомещКвартиры-Номер" />
</АдрГАР>
</Адрес>
</ГрузОтпр>
</ГрузОт>
<ГрузПолуч ОКПО="18989253" КодОПФ="12000" ПолнНаимОПФ="ГрузПолуч-ПолнНаимОПФ" СтруктПодр="ГрузПолуч-СтруктПодр" ИнфДляУчаст="ГрузПолуч-ИнфДляУчаст" СокрНаим="ГрузПолуч-СокрНаим">
<ИдСв>
<СвФЛУч ИННФЛ="518191632595" ИдСтатЛ="1" ИныеСвед="СвФЛУч-ИныеСвед">
<ФИО Фамилия="Петров" Имя="Петр" Отчество="Петрович" />
</СвФЛУч>
</ИдСв>
<Адрес>
<АдрИнф КодСтр="112" НаимСтран="Беларусь" АдрТекст="АдрИнф-АдрТекст" />
</Адрес>
<БанкРекв НомерСчета="569712456874">
<СвБанк НаимБанк="ЗАО Сбербанк России, отделение на Московской 11" БИК="012345671" />
</БанкРекв>
</ГрузПолуч>
<СвПРД НомерПРД="СЧФ/123/456" ДатаПРД="01.02.2023" СуммаПРД="1000.00" />
<ДокПодтвОтгрНом РеквНаимДок="Документ о передаче товаров (работ, услуг, имущественных прав)" РеквНомерДок="123" РеквДатаДок="01.02.2023">
<РеквИдРекСост>
<ИННЮЛ>1978337389</ИННЮЛ>
</РеквИдРекСост>
</ДокПодтвОтгрНом>
<СвПокуп ОКПО="74047744" КодОПФ="12200" ПолнНаимОПФ="СвПокуп-ПолнНаимОПФ" СтруктПодр="СвПокуп-СтруктПодр" ИнфДляУчаст="СвПокуп-ИнфДляУчаст" СокрНаим="СвПокуп-СокрНаим">
<ИдСв>
<СвЮЛУч НаимОрг="СвЮЛУч-НаимОрг" ИННЮЛ="1234567894" КПП="667301001" />
</ИдСв>
<Адрес>
<АдрИнф КодСтр="112" НаимСтран="Беларусь" АдрТекст="АдрИнф-АдрТекст" />
</Адрес>
</СвПокуп>
<ДенИзм КодОКВ="643" НаимОКВ="Российский рубль" КурсВал="12" />
<ДопСвФХЖ1 ИдГосКон="1234567890123456789012345" СпОбстФСЧФДОП="12345">
<ВидОбяз КодВидОбяз="1" НаимВидОбяз="ВидОбяз-НаимВидОбяз" />
<ИнфПродЗаГоскКазн ДатаГосКонт="02.02.2022" НомерГосКонт="5" КодКазначПрод="0160" />
<СвФактор ОКПО="74047744" КодОПФ="12000" ПолнНаимОПФ="СвФактор-ПолнНаимОПФ" СтруктПодр="СвФактор-СтруктПодр" ИнфДляУчаст="СвФактор-ИнфДляУчаст" СокрНаим="СвФактор-СокрНаим">
<ИдСв>
<СвИП ИННФЛ="916363626153" ОГРНИП="421032906553286" ДатаОГРНИП="21.08.2019" ИныеСвед="СвИП-ИныеСвед">
<ФИО Фамилия="ФИО-Фамилия" Имя="ФИО-Имя" Отчество="ФИО-Отчество" />
</СвИП>
</ИдСв>
<Адрес>
<АдрРФ КодРегион="72" НаимРегион="Тюменская область" Индекс="344249" Район="Тюмень" Город="Тюмень" НаселПункт="АдрРФ-НаселПункт" Улица="АдрРФ-Улица" Дом="АдрРФ-Дом" Корпус="АдрРФ-Корпус" Кварт="АдрРФ-Кварт" ИныеСвед="АдрРФ-ИныеСвед" />
</Адрес>
</СвФактор>
<ОснУстДенТреб РеквНаимДок="ОснУстДенТреб-РеквНаимДок" РеквНомерДок="144" РеквДатаДок="04.04.2004">
<РеквИдРекСост>
<ИННФЛ>342265432525</ИННФЛ>
</РеквИдРекСост>
</ОснУстДенТреб>
<СопрДокФХЖ РеквНаимДок="СопрДокФХЖ-РеквНаимДок" РеквНомерДок="876" РеквДатаДок="05.05.2005">
<РеквИдРекСост>
<ДаннИно КодСтр="112" НаимСтран="Беларусь" Наим="ДаннИно-Наим" ИдСтат="ИГ" ИныеСвед="ДаннИно-ИныеСвед" Идентиф="ДаннИно-Идентиф" />
</РеквИдРекСост>
</СопрДокФХЖ>
</ДопСвФХЖ1>
<ИнфПолФХЖ1 ИдФайлИнфПол="5b0a8e80-1a7b-4194-a64d-60ca9f10dd82">
<ТекстИнф Идентиф="ТекстИнф-Идентиф" Значен="ТекстИнф-Идентиф" />
</ИнфПолФХЖ1>
</СвСчФакт>
<ТаблСчФакт>
<СведТов НомСтр="1" НалСт="20%" НаимТов="СведТов-НаимТов" ОКЕИ_Тов="113" НаимЕдИзм="м3" КолТов="16" ЦенаТов="200.00" СтТовБезНДС="654.00" СтТовУчНал="784.80">
<СвДТ КодПроисх="980" НомерДТ="123456" />
<ДопСведТов ПрТовРаб="5" ДопПризн="Приз" НадлОтп="102" СортТов="СортТов" СерияТов="ДопСведТов-СерияТов" ГТИН="10000057074365" КодВидТов="1111111111" КодВидПр="676">
<КрНаимСтрПр>Евросоюз</КрНаимСтрПр>
<СопрДокТов РеквНаимДок="СопрДокТов-РеквНаимДок" РеквНомерДок="144" РеквДатаДок="04.04.2004">
<РеквИдРекСост>
<ИННФЛ>342265432525</ИННФЛ>
</РеквИдРекСост>
</СопрДокТов>
<НалУчАморт АмГруппа="13" КодОКОФ="165" СрПолИспОС="23" ФактСрокИсп="100" />
<СумНалВосст>
<СумНал>550.00</СумНал>
</СумНалВосст>
<СведПрослеж НомТовПрослеж="10001000/010123/1234567/001" ЕдИзмПрослеж="778" КолВЕдПрослеж="30" СтТовБезНДСПрослеж="100" НаимЕдИзмПрослеж="упак" />
<НомСредИдентТов ИдентТрансУпак="НомСредИдентТов-ИдентТрансУпак" КолВедМарк="100" ПрПартМарк="111">
<КИЗ>НомСредИдентТов-КИЗ</КИЗ>
</НомСредИдентТов>
</ДопСведТов>
<Акциз>
<БезАкциз>без акциза</БезАкциз>
</Акциз>
<СумНал>
<СумНал>1000.00</СумНал>
</СумНал>
</СведТов>
<СведТов НомСтр="2" НалСт="20%" НаимТов="Product2 > 2.0 мм" ОКЕИ_Тов="778" НаимЕдИзм="упак" КолТов="114.100" ЦенаТов="516.67" СтТовБезНДС="58951.67" СтТовУчНал="70742.00">
<СвДТ КодПроисх="178" НомерДТ="555555" />
<ДопСведТов ПрТовРаб="5" ДопПризн="ДопП" НадлОтп="505" ХарактерТов="ДопСведТов-ХарактерТов" СортТов="СортТов" СерияТов="ДопСведТов-СерияТов" АртикулТов="ДопСведТов-АртикулТов" КодТов="ДопСведТов-КодТов" ГТИН="10000057074365" КодВидТов="1111111111">
<КрНаимСтрПр>Конго</КрНаимСтрПр>
<НалУчАморт АмГруппа="12" КодОКОФ="165" СрПолИспОС="234" ФактСрокИсп="100" />
<СумНалВосст>
<СумНал>1345.00</СумНал>
</СумНалВосст>
</ДопСведТов>
<Акциз>
<БезАкциз>без акциза</БезАкциз>
</Акциз>
<СумНал>
<СумНал>1000.00</СумНал>
</СумНал>
</СведТов>
<ВсегоОпл СтТовБезНДСВсего="8965.00" СтТовУчНалВсего="10000.00">
<СумНалВсего>
<СумНал>456.00</СумНал>
</СумНалВсего>
</ВсегоОпл>
</ТаблСчФакт>
<СвПродПер>
<СвПер СодОпер="СвПер-СодОпер" ВидОпер="СвПер-ВидОпер" ДатаПер="15.02.2024" ДатаНачПер="16.02.2024" ДатаОконПер="16.02.2024">
<ОснПер РеквНаимДок="ОснПер-РеквНаимДок" РеквНомерДок="567" РеквДатаДок="14.02.2024">
<РеквИдРекСост>
<ИННФЛ>144647873819</ИННФЛ>
</РеквИдРекСост>
</ОснПер>
<СвЛицПер>
<ИнЛицо>
<ПредОргПер Должность="ПредОргПер-Должность" НаимОргПер="ПредОргПер-НаимОргПер" ИныеСвед="ПредОргПер-ИныеСвед">
<ОснДоверОргПер РеквНаимДок="ОснДоверОргПер-РеквНаимДок" РеквНомерДок="098" РеквДатаДок="03.02.2024">
<РеквИдРекСост>
<ИННЮЛ>4620212891</ИННЮЛ>
</РеквИдРекСост>
</ОснДоверОргПер>
<ОснПолнПредПер РеквНаимДок="ОснПолнПредПер-РеквНаимДок" РеквНомерДок="098" РеквДатаДок="03.02.2024">
<РеквИдРекСост>
<ИННЮЛ>4620212891</ИННЮЛ>
</РеквИдРекСост>
</ОснПолнПредПер>
<ФИО Фамилия="Иванов" Имя="Иван" Отчество="Иванович" />
</ПредОргПер>
</ИнЛицо>
</СвЛицПер>
<СвПерВещи>
<ДокПерВещ РеквНаимДок="ДокПерВещ-РеквНаимДок" РеквНомерДок="098" РеквДатаДок="03.02.2024">
<РеквИдРекСост>
<ИННЮЛ>4620212891</ИННЮЛ>
</РеквИдРекСост>
</ДокПерВещ>
</СвПерВещи>
</СвПер>
<ИнфПолФХЖ3 ИдФайлИнфПол="9c3adc2b-a085-4acd-af8c-3494290d782c">
<ТекстИнф Идентиф="Идентиф1в" Значен="Значен1в" />
<ТекстИнф Идентиф="Идентиф2в" Значен="Значен2в" />
</ИнфПолФХЖ3>
</СвПродПер>
<Подписант СпосПодтПолном="6" Должн="Должность">
<ФИО Фамилия="Иванов" Имя="Иван" Отчество="Иванович" />
</Подписант>
<ОснДоверОргСост РеквНаимДок="ОснДоверОргСост-РеквНаимДок" РеквНомерДок="123" РеквДатаДок="01.02.2023">
<РеквИдРекСост>
<ДаннИно КодСтр="112" НаимСтран="Беларусь" Наим="ДаннИно-Наим" ИдСтат="ИГ" ИныеСвед="ДаннИно-ИныеСвед" Идентиф="ДаннИно-Идентиф" />
</РеквИдРекСост>
</ОснДоверОргСост>
</Документ>
</Файл>
Пример тела ответа GeneratePrintFormFromAttachment:
6ba0d2ea-f16c-45b4-825f-92bf2203944d
Пример HTTP-запроса метода GetGeneratedPrintForm:
GET /GetGeneratedPrintForm?printFormId=f68fe07d-d514-4896-9183-bdeae22d22b2 HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Печатная форма в формате PNG
Сгенерировать печатную форму документа в формате PNG можно с помощью метода GeneratePrintFormPngFromAttachment. В отличие от PDF, результат в PNG разбивается на страницы, а каждый файл содержит только одну из них.
Исходный документ нужно передать в теле запроса. Генерация PNG выполняется асинхронно. Метод создает задачу на печать и возвращает ее идентификатор в структуре AsyncMethodResult. Повторный вызов для того же содержимого документа в течение 7 дней вернет идентификатор уже существующей задачи, а не создаст новую. Если между одинаковыми вызовами прошло больше 7 дней, метод создаст новую задачу.
Пример HTTP-запроса метода GeneratePrintFormPngFromAttachment:
POST /GeneratePrintFormPngFromAttachment?boxId={{boxId}}&documentType=UniversalTransferDocument HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Accept: application/json; charset=utf-8
Content-Type: application/xml
Пример тела запроса метода GeneratePrintFormPngFromAttachment:
<Файл ИдФайл="ON_NSCHFDOPPR_2BM-9677800047-967701000-202207281004154081709_2BM-9681265956-968101000-202207281000014689156_20250116_8c703486-75df-46f8-8f0a-959b09f807a9_1_1_0_0_1_00" ВерсФорм="5.03" ВерсПрог="Diadoc 1.0">
<Документ КНД="1115131" ВремИнфПр="18.13.16" ДатаИнфПр="16.01.2025" Функция="СЧФДОП" ПоФактХЖ="Документ об отгрузке товаров (выполнении работ), передаче имущественных прав (документ об оказании услуг)" НаимДокОпр="Документ о передаче товаров (работ, услуг, имущественных прав)" УИД="UID" НаимЭконСубСост="Документ-НаимЭконСубСост" СоглСтрДопИнф="1111.2222.0000">
<СвСчФакт НомерДок="123" ДатаДок="01.02.2023" ИмяФайлИспрПрод="СвСчФакт-ИмяФайлИспрПрод" ИмяФайлИспрПок="СвСчФакт-ИмяФайлИспрПок">
<СвПрод ОКПО="0166273597" КодОПФ="12200" ПолнНаимОПФ="СвПрод-ПолнНаимОПФ" СтруктПодр="СвПрод-СтруктПодр" ИнфДляУчаст="СвПрод-ИнфДляУчаст" СокрНаим="СвПрод-СокрНаим">
<ИдСв>
<СвЮЛУч НаимОрг="СвЮЛУч-НаимОрг" ИННЮЛ="9103624367" КПП="187245452" />
</ИдСв>
<Адрес>
<АдрРФ КодРегион="72" НаимРегион="Тюменская область" Индекс="344249" Район="Тюмень" Город="Тюмень" НаселПункт="АдрРФ-НаселПункт" Улица="АдрРФ-Улица" Дом="АдрРФ-Дом" Корпус="АдрРФ-Корпус" Кварт="АдрРФ-Кварт" ИныеСвед="АдрРФ-ИныеСвед" />
</Адрес>
<БанкРекв НомерСчета="49634485849155">
<СвБанк НаимБанк="СИБИРСКИЙ БАНК ПАО СБЕРБАНК" БИК="045004641" КорСчет="30101810500000000641" />
</БанкРекв>
<Контакт ИнКонт="Контакт-ИнКонт">
<Тлф>8-343-123-4567</Тлф>
<ЭлПочта>email@google.com</ЭлПочта>
</Контакт>
</СвПрод>
<ГрузОт>
<ГрузОтпр ОКПО="76098674" КодОПФ="12000" ПолнНаимОПФ="ГрузОтпр-ПолнНаимОПФ" СтруктПодр="ГрузОтпр-СтруктПодр" ИнфДляУчаст="ГрузОтпр-ИнфДляУчаст" СокрНаим="ГрузОтпр-СокрНаим">
<ИдСв>
<СвИП ИННФЛ="753381367749" СвГосРегИП="СвИП-СвГосРегИП" ОГРНИП="421319982803452" ДатаОГРНИП="12.12.2012" ИныеСвед="СвИП-ИныеСвед">
<ФИО Фамилия="Иванов" Имя="Иван" Отчество="Иванович" />
</СвИП>
</ИдСв>
<Адрес>
<АдрГАР ИдНом="03510210-e5f3-4bc6-bbd2-24d7fe25b3ed" Индекс="450133">
<Регион>72</Регион>
<НаимРегион>Тюменская область</НаимРегион>
<МуниципРайон ВидКод="1" Наим="МуниципРайон-Наим" />
<ГородСелПоселен ВидКод="1" Наим="ГородСелПоселен-Наим" />
<НаселенПункт Вид="НаселенПункт" Наим="НаселенПункт-Наим" />
<ЭлПланСтруктур Тип="ЭлПланСтруктур" Наим="ЭлПланСтруктур-Наим" />
<ЭлУлДорСети Тип="ЭлУлДорСети" Наим="ЭлУлДорСети-Наим" />
<ЗемелУчасток>ЗемелУчасток</ЗемелУчасток>
<Здание Тип="Здание" Номер="Здание-Номер" />
<ПомещЗдания Тип="ПомещЗдания" Номер="ПомещЗдания-Номер" />
<ПомещКвартиры Тип="ПомещКвартиры" Номер="ПомещКвартиры-Номер" />
</АдрГАР>
</Адрес>
</ГрузОтпр>
</ГрузОт>
<ГрузПолуч ОКПО="18989253" КодОПФ="12000" ПолнНаимОПФ="ГрузПолуч-ПолнНаимОПФ" СтруктПодр="ГрузПолуч-СтруктПодр" ИнфДляУчаст="ГрузПолуч-ИнфДляУчаст" СокрНаим="ГрузПолуч-СокрНаим">
<ИдСв>
<СвФЛУч ИННФЛ="518191632595" ИдСтатЛ="1" ИныеСвед="СвФЛУч-ИныеСвед">
<ФИО Фамилия="Петров" Имя="Петр" Отчество="Петрович" />
</СвФЛУч>
</ИдСв>
<Адрес>
<АдрИнф КодСтр="112" НаимСтран="Беларусь" АдрТекст="АдрИнф-АдрТекст" />
</Адрес>
<БанкРекв НомерСчета="569712456874">
<СвБанк НаимБанк="ЗАО Сбербанк России, отделение на Московской 11" БИК="012345671" />
</БанкРекв>
</ГрузПолуч>
<СвПРД НомерПРД="СЧФ/123/456" ДатаПРД="01.02.2023" СуммаПРД="1000.00" />
<ДокПодтвОтгрНом РеквНаимДок="Документ о передаче товаров (работ, услуг, имущественных прав)" РеквНомерДок="123" РеквДатаДок="01.02.2023">
<РеквИдРекСост>
<ИННЮЛ>1978337389</ИННЮЛ>
</РеквИдРекСост>
</ДокПодтвОтгрНом>
<СвПокуп ОКПО="74047744" КодОПФ="12200" ПолнНаимОПФ="СвПокуп-ПолнНаимОПФ" СтруктПодр="СвПокуп-СтруктПодр" ИнфДляУчаст="СвПокуп-ИнфДляУчаст" СокрНаим="СвПокуп-СокрНаим">
<ИдСв>
<СвЮЛУч НаимОрг="СвЮЛУч-НаимОрг" ИННЮЛ="1234567894" КПП="667301001" />
</ИдСв>
<Адрес>
<АдрИнф КодСтр="112" НаимСтран="Беларусь" АдрТекст="АдрИнф-АдрТекст" />
</Адрес>
</СвПокуп>
<ДенИзм КодОКВ="643" НаимОКВ="Российский рубль" КурсВал="12" />
<ДопСвФХЖ1 ИдГосКон="1234567890123456789012345" СпОбстФСЧФДОП="12345">
<ВидОбяз КодВидОбяз="1" НаимВидОбяз="ВидОбяз-НаимВидОбяз" />
<ИнфПродЗаГоскКазн ДатаГосКонт="02.02.2022" НомерГосКонт="5" КодКазначПрод="0160" />
<СвФактор ОКПО="74047744" КодОПФ="12000" ПолнНаимОПФ="СвФактор-ПолнНаимОПФ" СтруктПодр="СвФактор-СтруктПодр" ИнфДляУчаст="СвФактор-ИнфДляУчаст" СокрНаим="СвФактор-СокрНаим">
<ИдСв>
<СвИП ИННФЛ="916363626153" ОГРНИП="421032906553286" ДатаОГРНИП="21.08.2019" ИныеСвед="СвИП-ИныеСвед">
<ФИО Фамилия="ФИО-Фамилия" Имя="ФИО-Имя" Отчество="ФИО-Отчество" />
</СвИП>
</ИдСв>
<Адрес>
<АдрРФ КодРегион="72" НаимРегион="Тюменская область" Индекс="344249" Район="Тюмень" Город="Тюмень" НаселПункт="АдрРФ-НаселПункт" Улица="АдрРФ-Улица" Дом="АдрРФ-Дом" Корпус="АдрРФ-Корпус" Кварт="АдрРФ-Кварт" ИныеСвед="АдрРФ-ИныеСвед" />
</Адрес>
</СвФактор>
<ОснУстДенТреб РеквНаимДок="ОснУстДенТреб-РеквНаимДок" РеквНомерДок="144" РеквДатаДок="04.04.2004">
<РеквИдРекСост>
<ИННФЛ>342265432525</ИННФЛ>
</РеквИдРекСост>
</ОснУстДенТреб>
<СопрДокФХЖ РеквНаимДок="СопрДокФХЖ-РеквНаимДок" РеквНомерДок="876" РеквДатаДок="05.05.2005">
<РеквИдРекСост>
<ДаннИно КодСтр="112" НаимСтран="Беларусь" Наим="ДаннИно-Наим" ИдСтат="ИГ" ИныеСвед="ДаннИно-ИныеСвед" Идентиф="ДаннИно-Идентиф" />
</РеквИдРекСост>
</СопрДокФХЖ>
</ДопСвФХЖ1>
<ИнфПолФХЖ1 ИдФайлИнфПол="5b0a8e80-1a7b-4194-a64d-60ca9f10dd82">
<ТекстИнф Идентиф="ТекстИнф-Идентиф" Значен="ТекстИнф-Идентиф" />
</ИнфПолФХЖ1>
</СвСчФакт>
<ТаблСчФакт>
<СведТов НомСтр="1" НалСт="20%" НаимТов="СведТов-НаимТов" ОКЕИ_Тов="113" НаимЕдИзм="м3" КолТов="16" ЦенаТов="200.00" СтТовБезНДС="654.00" СтТовУчНал="784.80">
<СвДТ КодПроисх="980" НомерДТ="123456" />
<ДопСведТов ПрТовРаб="5" ДопПризн="Приз" НадлОтп="102" СортТов="СортТов" СерияТов="ДопСведТов-СерияТов" ГТИН="10000057074365" КодВидТов="1111111111" КодВидПр="676">
<КрНаимСтрПр>Евросоюз</КрНаимСтрПр>
<СопрДокТов РеквНаимДок="СопрДокТов-РеквНаимДок" РеквНомерДок="144" РеквДатаДок="04.04.2004">
<РеквИдРекСост>
<ИННФЛ>342265432525</ИННФЛ>
</РеквИдРекСост>
</СопрДокТов>
<НалУчАморт АмГруппа="13" КодОКОФ="165" СрПолИспОС="23" ФактСрокИсп="100" />
<СумНалВосст>
<СумНал>550.00</СумНал>
</СумНалВосст>
<СведПрослеж НомТовПрослеж="10001000/010123/1234567/001" ЕдИзмПрослеж="778" КолВЕдПрослеж="30" СтТовБезНДСПрослеж="100" НаимЕдИзмПрослеж="упак" />
<НомСредИдентТов ИдентТрансУпак="НомСредИдентТов-ИдентТрансУпак" КолВедМарк="100" ПрПартМарк="111">
<КИЗ>НомСредИдентТов-КИЗ</КИЗ>
</НомСредИдентТов>
</ДопСведТов>
<Акциз>
<БезАкциз>без акциза</БезАкциз>
</Акциз>
<СумНал>
<СумНал>1000.00</СумНал>
</СумНал>
</СведТов>
<СведТов НомСтр="2" НалСт="20%" НаимТов="Product2 > 2.0 мм" ОКЕИ_Тов="778" НаимЕдИзм="упак" КолТов="114.100" ЦенаТов="516.67" СтТовБезНДС="58951.67" СтТовУчНал="70742.00">
<СвДТ КодПроисх="178" НомерДТ="555555" />
<ДопСведТов ПрТовРаб="5" ДопПризн="ДопП" НадлОтп="505" ХарактерТов="ДопСведТов-ХарактерТов" СортТов="СортТов" СерияТов="ДопСведТов-СерияТов" АртикулТов="ДопСведТов-АртикулТов" КодТов="ДопСведТов-КодТов" ГТИН="10000057074365" КодВидТов="1111111111">
<КрНаимСтрПр>Конго</КрНаимСтрПр>
<НалУчАморт АмГруппа="12" КодОКОФ="165" СрПолИспОС="234" ФактСрокИсп="100" />
<СумНалВосст>
<СумНал>1345.00</СумНал>
</СумНалВосст>
</ДопСведТов>
<Акциз>
<БезАкциз>без акциза</БезАкциз>
</Акциз>
<СумНал>
<СумНал>1000.00</СумНал>
</СумНал>
</СведТов>
<ВсегоОпл СтТовБезНДСВсего="8965.00" СтТовУчНалВсего="10000.00">
<СумНалВсего>
<СумНал>456.00</СумНал>
</СумНалВсего>
</ВсегоОпл>
</ТаблСчФакт>
<СвПродПер>
<СвПер СодОпер="СвПер-СодОпер" ВидОпер="СвПер-ВидОпер" ДатаПер="15.02.2024" ДатаНачПер="16.02.2024" ДатаОконПер="16.02.2024">
<ОснПер РеквНаимДок="ОснПер-РеквНаимДок" РеквНомерДок="567" РеквДатаДок="14.02.2024">
<РеквИдРекСост>
<ИННФЛ>144647873819</ИННФЛ>
</РеквИдРекСост>
</ОснПер>
<СвЛицПер>
<ИнЛицо>
<ПредОргПер Должность="ПредОргПер-Должность" НаимОргПер="ПредОргПер-НаимОргПер" ИныеСвед="ПредОргПер-ИныеСвед">
<ОснДоверОргПер РеквНаимДок="ОснДоверОргПер-РеквНаимДок" РеквНомерДок="098" РеквДатаДок="03.02.2024">
<РеквИдРекСост>
<ИННЮЛ>4620212891</ИННЮЛ>
</РеквИдРекСост>
</ОснДоверОргПер>
<ОснПолнПредПер РеквНаимДок="ОснПолнПредПер-РеквНаимДок" РеквНомерДок="098" РеквДатаДок="03.02.2024">
<РеквИдРекСост>
<ИННЮЛ>4620212891</ИННЮЛ>
</РеквИдРекСост>
</ОснПолнПредПер>
<ФИО Фамилия="Иванов" Имя="Иван" Отчество="Иванович" />
</ПредОргПер>
</ИнЛицо>
</СвЛицПер>
<СвПерВещи>
<ДокПерВещ РеквНаимДок="ДокПерВещ-РеквНаимДок" РеквНомерДок="098" РеквДатаДок="03.02.2024">
<РеквИдРекСост>
<ИННЮЛ>4620212891</ИННЮЛ>
</РеквИдРекСост>
</ДокПерВещ>
</СвПерВещи>
</СвПер>
<ИнфПолФХЖ3 ИдФайлИнфПол="9c3adc2b-a085-4acd-af8c-3494290d782c">
<ТекстИнф Идентиф="Идентиф1в" Значен="Значен1в" />
<ТекстИнф Идентиф="Идентиф2в" Значен="Значен2в" />
</ИнфПолФХЖ3>
</СвПродПер>
<Подписант СпосПодтПолном="6" Должн="Должность">
<ФИО Фамилия="Иванов" Имя="Иван" Отчество="Иванович" />
</Подписант>
<ОснДоверОргСост РеквНаимДок="ОснДоверОргСост-РеквНаимДок" РеквНомерДок="123" РеквДатаДок="01.02.2023">
<РеквИдРекСост>
<ДаннИно КодСтр="112" НаимСтран="Беларусь" Наим="ДаннИно-Наим" ИдСтат="ИГ" ИныеСвед="ДаннИно-ИныеСвед" Идентиф="ДаннИно-Идентиф" />
</РеквИдРекСост>
</ОснДоверОргСост>
</Документ>
</Файл>
Пример тела ответа GeneratePrintFormPngFromAttachment:
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"TaskId": "2fd45887-138e-4e08-aeb2-bcd55bf0dd85"
}
Статус и результат генерации можно получить с помощью метода GetGeneratedPrintFormResult, передав ему идентификатор задачи из TaskId. Результат может получить только тот пользователь, который запустил печать методом GeneratePrintFormPngFromAttachment. Иначе метод вернет ошибку 403 (Forbidden). В зависимости от статуса структура может содержать в себе разные ответы:
если
OperationStatus = InProgress: генерация еще выполняется — повторите запрос позднее;если
OperationStatus = Success: в полеFilesхранится список имен PNG-файлов на полке документов. Каждый файл можно скачать отдельным вызовом метода ShelfDownload (V2), передав в него имя файлаfileName;если
OperationStatus = Failed: в полеErrorsхранится список ошибок.
Пример HTTP-запроса метода GetGeneratedPrintFormResult:
GET /GetGeneratedPrintFormResult?boxId={{boxId}}&taskId={{taskId}} HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Accept: application/json; charset=utf-8
Примеры тела ответа GetGeneratedPrintFormResult:
Операция не завершена
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 { "OperationStatus": "InProgress", "Files": [], "Errors": [] }
Операция завершена успешно
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 { "OperationStatus": "Success", "Files": [ "dd-api-6831e2e9-cc81-48d5-807d-fe51c2037d44", "dd-api-7b2c91a0-1e4f-4d8a-9c33-0a1b2c3d4e5f" ], "Errors": [] }
Операция завершилась с ошибкой
HTTP/1.1 200 OK Content-Type: application/json; charset=utf-8 { "OperationStatus": "Failed", "Files": [], "Errors": [ "Unable to generate print form" ] }
Генерация протокола передачи документа
Протокол передачи — файл, который содержит всю историю работы с документом. В нем отражается информация о подписях, датах отправки титулов, запросах уточнения, аннулировании и других действиях. При необходимости подтверждения факта передачи документов протокол можно предоставить в суд.
Сгенерировать печатную форму протокола передачи документа можно с помощью метода GenerateDocumentProtocol. В теле ответа будет находиться содержимое файлов печатной формы и данных подписанта в кодировке Base64.
Пример HTTP-запроса метода GenerateDocumentProtocol:
GET /GenerateDocumentProtocol?boxId={{boxId}}&messageId={{messageId}}&documentId={{documentId}} HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Accept: application/json
Пример тела ответа GenerateDocumentProtocol:
{
"PrintForm": "JVBERi0xLjQKJdP0zOEKM...E4MTcKJSVFT0YK", // содержимое PDF-файла печатной формы в кодировке Base-64
"Signature": "MIINIAYJKoZIhvcNAQcCo...M4qZkbzpR34Q==" // содержимое XML-файла с данными подписанта в кодировке Base-64
}
Генерация архива документооборота
Диадок позволяет получить все файлы, связанные с документооборотом документа, в одном архиве: пользовательские и служебные документы, а также подписи к ним. Сгенерировать такой архив можно с помощью метода GenerateDocumentZip. В ответе метод вернет путь к архиву на полке документов. Полученный путь нужно передать в метод ShelfDownload (V2), указав fileName.
Архив для неформализованного договора, подписанного с протоколом разногласий, и архив самого протокола будут включать в себя универсальное сообщение с кодом 4002, которое фиксирует связь этих документов. Архив одного из документов не содержит второй документ пары. Подробнее — на странице Работа с протоколом разногласий.
Пример HTTP-запроса метода GenerateDocumentZip:
GET /GenerateDocumentZip?boxId={{boxId}}&messageId={{messageId}}&documentId={{documentId}}&fullDocflow=true HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Accept: application/json
Пример тела ответа GenerateDocumentZip:
{
"ZipFileNameOnShelf": "__userId__/Diadoc.Documents.1f208d03-2a60-4f64-91b1-b7aad54cfaf3.ba04162c-e26f-448f-a370-299b4f15b6d1.da7cd73e-ff49-4a23-a018-42d27487e536.638747862192156432.FullDocflow_.zip"
}
Проверка наличия у документа нестандартной печатной формы
Диадок позволяет определить, существует ли для переданного документа в указанном ящике нестандартная печатная форма. Сделать это можно c помощью метода DetectCustomPrintForms.
Пример HTTP-запроса метода DetectCustomPrintForms:
POST /DetectCustomPrintForms?boxId={{boxId}} HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Content-Type: application/json; charset=utf-8
Accept: application/json
Пример тела запроса метода DetectCustomPrintForms:
{
"DocumentIds" : [
{
"MessageId" : "b93e4464-b14d-4c30-a8f5-b714c390d0a0",
"EntityId" : "6c69e5bd-f421-4825-9f31-970182fee429"
},
{
"MessageId" : "f2f388b8-4a96-4ce5-bd85-23fe10131ea4",
"EntityId" : "bf16d371-3b18-47dd-b5f1-5a959628d0ef"
}
]
}
Пример тела ответа метода DetectCustomPrintForms:
{
"Items": [
{
"DocumentId": {
"EntityId": "6c69e5bd-f421-4825-9f31-970182fee429",
"MessageId": "b93e4464-b14d-4c30-a8f5-b714c390d0a0"
},
"HasCustomPrintForm": false
},
{
"DocumentId": {
"EntityId": "bf16d371-3b18-47dd-b5f1-5a959628d0ef",
"MessageId": "f2f388b8-4a96-4ce5-bd85-23fe10131ea4"
},
"HasCustomPrintForm": true
}
]
}