DssSign (V2)

Запускает операцию подписания файлов сертификатом без носителя.

POST /V2/DssSign
Query Parameters:
  • boxId – идентификатор ящика организации.

Request Headers:
Request Body:

Тело запроса должно содержать структуру DssSignRequestV2.

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

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

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

  • 402 Payment Required – у организации с указанным идентификатором boxId закончилась подписка на API.

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

  • 404 Not Found – не найден ящик с указанным идентификатором или DSS-сертификат.

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

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

Response Body:

Тело ответа содержит идентификатор операции taskId в структуре AsyncMethodResult. По этому идентификатору с помощью метода DssSignResult можно узнать результат обработки запроса.

В случае, если для подписания используется Госключ (в теле запроса указано значение DssSignRequestV2.DssSignDataSource = GosKeySign), на подписываемые файлы накладываются ограничения:

  • СНИЛС, указанный в поле GosKeyData.Snils структуры DssSignRequestV2 должен совпадать со значением в настройках пользователя или привязан к одному из сертификатов физического лица.

  • Общий размер всех файлов в запросе не должен превышать 100 Мб.

  • Размер одного файла не должен превышать 16 Мб.

  • Максимальное количество файлов в запросе — 20.

  • Визуализация в Госключе доступна только для форматов pdf, xml, tiff, gif, png, jpg, txt. Остальные форматы будут отправлены без ошибок, но не смогут корректно отобразиться.

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

Подписание файлов с помощью сертификата

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

POST /V2/DssSign?boxId={{boxId}} HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: DiadocAuth ddauth_api_client_id={{client_id}}, ddauth_token={{auth_token}}
Content-Type: application/json; charset=utf-8

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

{
    "Files" : [
        {
            "Content": {
            "Content" : "<fileBytesBase64>"
            },
        "FileName": "fileName.xml"
        }
    ],
    "SignDataSource" : "CertificateSign",
    "CertificateData" : {
        "Thumbprint": "{{certThumbprint}}"
    }
}

Пример тела ответа:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
    "TaskId": "2fd45887-138e-4e08-aeb2-bcd55bf0dd85"
}

Подписание файлов с помощью Госключа

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

POST /V2/DssSign?boxId={{boxId}} HTTP/1.1
Host: diadoc-api.kontur.ru
Authorization: DiadocAuth ddauth_api_client_id={{client_id}}, ddauth_token={{auth_token}}
Content-Type: application/json; charset=utf-8

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

{
    "Files" : [
        {
            "Content": {
            "Content" : "<fileBytesBase64>"
            },
        "FileName": "fileName.xml"
        }
    ],
    "SignDataSource" : "GosKeySign",
    "GosKeyData" : {
        "Snils": "123-456-789 00"
    }
}

Пример тела ответа:

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8

{
    "TaskId": "2fd45887-138e-4e08-aeb2-bcd55bf0dd85"
}

См. также

Методы для работы с сертификатом без носителя:
  • DssSign — запускает операцию подписания файлов сертификатом без носителя

  • DssSign (V2) — запускает операцию подписания файлов сертификатом без носителя, в том числе с помощью Госключа

  • DssSignResult — возвращает результат операции подписания файлов сертификатом без носителя