DssSign (V2)
Запускает операцию подписания файлов сертификатом без носителя.
- POST /V2/DssSign
- Query Parameters:
boxId – идентификатор ящика организации.
- Request Headers:
Authorization – данные, необходимые для авторизации.
- 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 — возвращает результат операции подписания файлов сертификатом без носителя