Сценарий из mcp-everything. Актуально на 2026-10-25.
Для двусторонних документов (УПД, акт) получатель формирует и подписывает свой титул.
titleIndex титула получателя, letterId (сообщение) и documentId (документ отправителя).BoxId, MessageId и RecipientTitles[] (ParentEntityId — титул отправителя, SignedContent).curl -X POST "https://diadoc-api.kontur.ru/V3/PostMessagePatch" \
-H "Authorization: DiadocAuth ddauth_api_client_id=$CLIENT_ID, ddauth_token=$TOKEN" \
-H "Content-Type: application/json" \
-d '{
"BoxId": "'"$BOX_ID"'",
"MessageId": "'"$MESSAGE_ID"'",
"RecipientTitles": [{
"ParentEntityId": "'"$ENTITY_ID"'",
"SignedContent": {"Content": "'"$XML_BASE64"'", "Signature": "'"$SIGNATURE_BASE64"'"}
}]
}'
https://diadoc-api.kontur.ruhttps://diadoc-api.testkontur.ruТип: Другое
Нужны ключ разработчика (выдаётся по заявке на https://www.diadoc.ru/integrations/api) и авторизационный токен пользователя. Оба передаются в заголовке по схеме DiadocAuth:
Токен выдаёт POST /V3/Authenticate: по логину и паролю (type=password, JSON с login и password), по сертификату (type=certificate, ответ расшифровывается закрытым ключом и подтверждается через /V3/AuthenticateConfirm) или по auth.sid (type=sid).
Authorization: DiadocAuth ddauth_api_client_id={{client_id}}, ddauth_token={{auth_token}}
Тело — упрощённый XML UserDataXml по XSD-схеме контракта типа документа.
Документация: https://developer.kontur.ru/doc/diadoc.api/method?type=post&path=%2FGenerateTitleXml
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
boxId |
query | string | да | Ящик (GUID) |
documentTypeNamedId |
query | string | да | Тип документа из GetDocumentTypes |
documentFunction |
query | string | да | Функция документа |
documentVersion |
query | string | да | Версия документа |
titleIndex |
query | integer | да | Номер титула |
letterId |
query | string | нет | Сообщение с титулом отправителя (для титула получателя) |
documentId |
query | string | нет | Документ с титулом отправителя |
editingSettingId |
query | string | нет | Настройка редактирования |
disableValidation |
query | boolean | нет | Отключить проверку по XSD |
Подписи, титулы получателя, извещения, отказы, аннулирование, согласование.
Документация: https://developer.kontur.ru/doc/diadoc.api/method?type=post&path=%2FV3%2FPostMessagePatch
| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
operationId |
query | string | нет | ID операции для идемпотентности |
BoxId |
body | string | да | Ящик с исходным сообщением |
MessageId |
body | string | да | Исходное сообщение |
RecipientTitles[].ParentEntityId |
body | string | нет | Титул отправителя, к которому относится титул получателя |
RecipientTitles[].SignedContent |
body | object | нет | Титул получателя и подпись |
Signatures |
body | array | нет | Подписи под документами (ParentEntityId, Signature) |
XmlSignatureRejections |
body | array | нет | Отказы в подписи |
RevocationRequests |
body | array | нет | Предложения об аннулировании |
BoxIdGuid из GetMyOrganizations (GUID).204 или пустым телом с Retry-After.operationId защищает от повторной отправки: при успешном вызове с тем же ID все следующие вернут тот же результат.IsTest и не имеют юридической силы.Invoices, Torg12Documents, UniversalTransferDocumentSellerTitles и др.) заменены универсальными DocumentAttachments и RecipientTitles.Если этого недостаточно — официальная документация: https://developer.kontur.ru/doc/diadoc-api/ Вся интеграция одним документом: https://mcp-everything.ru/integrations/diadoc.md