Работа с извещением о получении

Генерация извещения о получении

Сгенерировать извещение о получении можно с помощью метода 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
}