CanPostMessage

Проверяет возможность отправки сообщения с указанными параметрами.

POST /CanPostMessage
Request Headers:
Request Body:

Тело запроса должно содержать параметры проверяемого сообщения, представленные структурой MessageToPostPrototype.

Status Codes:
  • 200 OK – операция успешно завершена.

  • 400 Bad Request – данные в запросе имеют неверный формат или отсутствуют обязательные параметры.

  • 401 Unauthorized – в запросе отсутствует HTTP-заголовок Authorization или в этом заголовке содержатся некорректные авторизационные данные.

  • 402 Payment Required – у указанного ящика закончилась подписка на API.

  • 403 Forbidden – доступ к ящику с предоставленным авторизационным токеном запрещен.

  • 405 Method Not Allowed – используется неподходящий HTTP-метод.

  • 500 Internal Server Error – при обработке запроса возникла непредвиденная ошибка.

Response Body:

Тело ответа содержит результат проверки, представленный структурой MessageValidationResult.

Метод позволяет заранее проверить корректность параметров сообщения и типов документов до вызова метода PostMessage (V3). В запросе не нужно передавать содержимое документов и подписи: достаточно указать ящики участников и типы документов.

Примеры использования

Пример HTTP-запроса:

POST /CanPostMessage HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: Bearer {{access_token}}
Accept: application/json; charset=utf-8
Content-Type: application/json

Пример тела запроса:

{
    "FromBoxId": "{{boxId_sender}}",
    "ToBoxId": "{{boxId_recipient}}",
    "DocumentPrototypes": [
        {
            "CustomDocumentId": "customDocumentId",
            "TypeNamedId": "UniversalTransferDocument",
            "Function": "СЧФ",
            "Version": "utd970_05_03_01"
        }
    ]
}

Пример тела ответа без ошибок:

{
    "FromBoxId": "abcd12345cd0408284de7ccb46d86f82@diadoc.ru",
    "FromTitle": "Отправитель",
    "ToBoxId": "1234abcd2a604f6491b1b7aad54cfaf3@diadoc.ru",
    "ToTitle": "Получатель",
    "IsInternal": false,
    "IsProxified": false,
    "ProxyBoxId": "",
    "ProxyTitle": "",
    "Errors": []
}

Пример тела ответа с ошибками:

{
    "FromBoxId": "abcd12345cd0408284de7ccb46d86f82@diadoc.ru",
    "FromTitle": "Отправитель",
    "ToBoxId": "1234abcd2a604f6491b1b7aad54cfaf3@diadoc.ru",
    "ToTitle": "Получатель",
    "IsInternal": false,
    "IsProxified": false,
    "ProxyBoxId": "",
    "ProxyTitle": "",
    "Errors": [
        {
            "Severity": "Error",
            "UserMessage": "Действие не может быть выполнено для этой версии документа. Формат является устаревшим",
            "ApiMessage": "8422e22f-ee03-45b6-b62d-257e99c755d5: Действие не может быть выполнено для этой версии документа. Формат является устаревшим",
            "CustomDocumentId": "8422e22f-ee03-45b6-b62d-257e99c755d5"
        }
    ]
}

См. также

Инструкции:
Методы для работы с сообщением:
  • CanPostMessage — проверяет возможность отправки сообщения с указанными параметрами

  • GetMessage (V6) — возвращает данные сообщения по указанному идентификатору

  • PostMessage (V3) — отправляет сообщение

  • PostMessagePatch (V4) — отправляет дополнение к сообщению

  • TransformTemplateToMessage — создает из шаблона исходящее неотправленное сообщение