Работа с извещением о получении
Генерация извещения о получении
Сгенерировать извещение о получении можно с помощью метода GenerateReceiptXml (V2). В запросе нужно передать идентификатор ящика получателя (boxId) и структуру ReceiptGenerationRequestV2 со следующими данными:
messageId— идентификатор сообщения,
attachmentId— идентификатор сущности, для которой нужно сформировать извещение.
Эти значения можно получить из структуры Message.
Данные подписанта нужно передать в универсальном формате в виде XML-файла, сконвертированного в Base64-строку.
Пример HTTP-запроса метода GenerateReceiptXml:
POST V2/GenerateReceiptXml?boxid={{boxId}} HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Accept: application/json
Content-Type: application/json charset=utf-8
Пример тела запроса метода GenerateReceiptXml:
{
"MessageId": "bbcedb0d-ce34-4e0d-b321-3f600c920935",
"AttachmentId": "30cf2c07-7297-4d48-bc6f-ca7a80e2cf95",
"SignerContent": "PD94bWwgdmVyc2l...LDQudC7Pg==" // содержимое XML-файла с данными подписанта в кодировке Base-64
}
Пример тела ответа метода GenerateReceiptXml:
<?xml version="1.0" encoding="windows-1251"?>
<Файл ИдФайл="DP_IZVPOL_2BM-9616675014-961601000-201906250926373816603_2BM-7770357771-2012082810454029703720000000000_20230904_54c96f37-a745-4e02-8dda-41404992952f" ВерсПрог="Diadoc 1.0" ВерсФорм="1.03">
<Документ КНД="1115110">
<УчастЭДО ИдУчастЭДО="2BM-7770357771-2012082810454029703720000000000">
<ЮЛ НаимОрг="ОАО" ИННЮЛ="7770357771" КПП="770101001"/>
</УчастЭДО>
<СвИзвПолуч ДатаПол="04.09.2023" ВремяПол="13.32.26">
<СведПолФайл ИмяПолФайла="ON_NSCHFDOPPR_2BM-7770357771-2012082810454029703720000000000_2BM-9616675014-961601000-201906250926373816603_20200826_6efc7ad3-88ff-485d-86bb-c84c2262caf2">
<ЭППолФайл>MIINB3RI=...</ЭППолФайл>
</СведПолФайл>
</СвИзвПолуч>
<ОтпрДок ИдУчастЭДО="2BM-9616675014-961601000-201906250926373816603">
<ЮЛ НаимОрг="ООО" ИННЮЛ="9616675014" КПП="961601000"/>
</ОтпрДок>
<Подписант ТипПодпис="1" СтатПодп="2" Должн="Подписант-Должн">
<ФИО Фамилия="Петров" Имя="Петр" Отчество="Петрович"/>
<СвДоверЭл СпособПредставл="1" НомДовер="4a743152-e772-4249-9a47-e2e290258e79" ДатаВыдДовер="17.09.2018" ВнНомДовер="123" ДатаВнРегДовер="18.09.2018" ИдСистХран="СвДоверЭл-ИдСистХран"/>
</Подписант>
</Документ>
</Файл>
В ответе метод вернет сгенерированный XML-файл извещения о получении для сущности attachmentId из сообщения messageId в ящике boxId. Полученный XML-файл можно подписать электронной подписью и отправить с помощью метода PostMessagePatch (V4), передав его в поле Receipts структуры MessagePatchToPostV2. Инструкция об отправке документа приведена в разделе Отправка извещения о получении.
Получение извещения о получении
После получения титула продавца покупатель формирует извещение о получении титула и отправляет его продавцу. Получить извещение о получении можно с помощью метода GetMessage (V6).
В запросе нужно передать:
boxId— идентификатор ящика отправителя,
messageId— идентификатор отправленного сообщения с титулом продавца,
entityId— идентификатор отправленного титула продавца.
Эти значения можно получить из структуры Message.
В ответе метод вернет структуру Message с вложенной структурой Entity. Извещение о получении будет представлено структурой Entity со следующими полями:
EntityType = Attachment,
AttachmentType = InvoiceReceipt.
Пример HTTP-запроса метода GetMessage:
GET /V5/GetMessage?boxId={{boxId}}&messageId={{messageId}}&entityId={{entityId}} HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Accept: application/json
Content-Type: application/json charset=utf-8
Пример тела ответа метода GetMessage:
{
"EntityType": "Attachment",
"EntityId": "1d7b2e96-9945-41ab-aeea-2f310382bfad",
"ParentEntityId": "45d16c54-8700-4882-afaf-97678d6ed135",
"Content": "lores ipsum",
"AttachmentType": "InvoiceReceipt",
"FileName": "DP_IZVPOL_2BM-9610384428-961001000-201510080625090688235_2BM-9653544919-965301000-201508270726013081470_20151008_6bbfab54-4e9f-4ca1-99eb-37f34880a784.xml",
"NeedRecipientSignature": false,
"SignerBoxId": "",
"NotDeliveredEventId": "",
"RawCreationDate": 635798950114653648,
"SignerDepartmentId": "",
"NeedReceipt": false,
"IsApprovementSignature": false,
"IsEncryptedContent": false
}