Дополнение сообщения
Сформированные сообщения можно дополнять титулами последующих участников и служебными документами.
Дополняя существующее сообщение с документом, получатель может подписать документ, отправить на него ответный титул или отказать в подписи, запросить уточнение или корректировку. Также с помощью дополнения отправитель и получатель документа могут запросить согласование или аннулирование. В дополнениях к сообщению хранятся все извещения о получении и подтверждения оператора. Одно сообщение может содержать неограниченное количество дополнений к исходному документу. Подробнее механизм работы с сообщением описан на странице Обмен документами в Диадоке.
Дополнить существующее сообщение с документом можно с помощью метода PostMessagePatch (V3) или PostMessagePatch (V4). Пользователь, вызывающий метод, должен иметь доступ к ящику, в котором хранится сообщение.
В теле запроса метода передайте структуру MessagePatchToPost или MessagePatchToPostV2, заполненную следующими данными:
BoxId
— идентификатор ящика, в котором находится исходное сообщение.
MessageId
— идентификатор сообщения, к которому относится дополнение.сущность дополнения — данные, которыми нужно дополнить существующее сообщение:
RecipientTitles
— ответный титул на документ; передайте структуру RecipientTitleAttachment для передачи XML-файла ответного титула:
ParentEntityId
— идентификатор первого титула документа (титула отправителя).
SignedContent.Content
— XML-файл документа.
SignedContent.Signature
— файл подписи.
NeedReceipt
— запрос извещения о получении документа отправителем; если имеет значениеtrue
, то отправитель первого титула документа будет обязан сформировать и отправить ИоП после получения титула получателя. Возможность запросить извещение о получении зависит от вида документооборота.
Signatures
— подпись под документом.
RequestedSignatureRejections
— отказ в подписи под документом.
Receipts
— извещение о получении документа.
CorrectionRequests
— запрос уточнения или корректировки.
ResolutionRequests
— запрос согласования.
Resolutions
— согласование документа.
RevocationRequests
— предложение об аннулировании.
Все возможные варианты дополнения сообщения перечислены в структуре MessagePatchToPost и MessagePatchToPostV2.
Примечание
Обратите внимание, что API Диадока не создает файл подписи, его нужно сгенерировать самостоятельно.
Пример HTTP-запроса метода PostMessagePatch с ответным титулом:
POST /V3/PostMessagePatch HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Content-Type: application/json; charset=utf-8
Пример тела запроса метода PostMessagePatch с ответным титулом:
{
"BoxId": "{{boxId}}",
"MessageId": "bbcedb0d-ce34-4e0d-b321-3f600c920935",
"RecipientTitles": [
{
"ParentEntityId":"30cf2c07-7297-4d48-bc6f-ca7a80e2cf95&",
"SignedContent":
{
"Content": "PD94bWwgdmVyc2l...LDQudC7Pg==", // содержимое XML-файла в кодировке base-64
"Signature": "MIIN5QYJKoZIhvc...KsTM6zixgz" // содержимое файла подписи в кодировке base-64
}
}
]
}
Метод вернет в ответе отправленное дополнение, представленное структурой MessagePatch.
В результате работы метода сообщение будет обновлено в ящиках всех участников документооборота. В ящике получателя обновление может произойти с задержкой.