ym88659208ym87991671
Ресурсы криптограции | Документация для разработчиков

Ресурсы криптограции

Обновлено 12 июля 2024

Получение информации по сертификатам

Alt text /v1/crypto

Ресурс позволяет получить информацию по крипто-профилю и сертификатам пользователя (владельца access_token, который используется в запросе), сертификатам удостоверяющих центров, и сертификату технологического криптопрофиля банка. Полученную информацию возможно использовать в криптографических операциях (в операциях с сертификатами и операциях с электронной подписью). Работает только с access_token сотрудников вашей компании.

Для получения информации по крипто-профилю и сертификатам необходимо отправить GET-запрос /v1/crypto с токеном доступа (access_token) пользователя вашей компании в параметре Authorization заголовка.

В параметре scope ссылки авторизации пользователя вашей компании должен быть указан сервис GET_CRYPTO_INFO для получения доступа к этому ресурсу.


Для обращения к ресурсу необходимо отправлять запрос на:

  • Тестовый контур https://iftfintech.testsbi.sberbank.ru:9443/fintech/api
  • Промышленный контур https://fintech.sberbank.ru:9443/fintech/api

Request

/v1/crypto
НаименованиеТипФорматRegexpОбязательностьОписание
HEADER
Authorizationstringstring^([a-zA-Z0-9]){38}$requiredAccess token пользователя, полученный через SSO.

Responses

200 (OK)
НаименованиеТипОбязательностьОписание
CryptoInfo {
   certCenterCodestringoptionalКод удостоверяющего центра (КУЦ),
   certCenterNumstringoptionalТекущий порядковый номер для генерации сертификата,
   certsCAArray[string]optionalСертификаты удостоверяющих центров.

Возвращаются в формате base64. Для дальнейшего использования потребуется их раскодировать,
   cryptoProfileInfosArray[CryptoProfileInfo]optionalИдентификаторы криптопрофилей
}
CryptoProfileInfo {
   aliasstringoptionalПсевдоним,
   certificateInfosArray[CertificateInfo]optionalИнформация о сертификатах,
   typeNamestringoptionalНаименование типа
}
CertificateInfo {
   activebooleanoptionalПризнак активности,
   certstringoptionalСертификат.

Возвращается в формате base64. Для дальнейшего использования потребуется его раскодировать,
   issuerstringoptionalИздатель,
   serialNumberstringoptionalСерийный номер,
   uuidstringoptionalУникальный идентификатор
}
401 (Unauthorized Error)
CauseMessageDescription
UNAUTHORIZEDaccessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-хУказан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос.
НаименованиеТипОбязательностьОписание
Notice {
   causestringoptionalПричина или основание сообщения,
   referenceIdstringoptionalУникальный идентификатор (UUID),
   messagestringoptionalСообщение
}
403 (Forbidden)
CauseMessageDescription
ACTION_ACCESS_EXCEPTIONОперация не может быть выполнена: доступ к ресурсу запрещенИспользуемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API.

В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция GET_CRYPTO_INFO. Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token.
ACCESS_EXCEPTIONРабота с сертификатами и криптопрофилями доступна только по собственной организацииИспользуемый в запросе access_token принадлежит пользователю, который не является сотрудником вашей компании.

Для работы с пользователями других компании используйте ресурсы группы /v1/crypto.../eio
НаименованиеТипОбязательностьОписание
Notice {
   causestringoptionalПричина или основание сообщения,
   referenceIdstringoptionalУникальный идентификатор (UUID),
   messagestringoptionalСообщение
}
500 (Internal Server Error)
CauseMessageDescription
UNKNOWN_EXCEPTIONВнутренняя ошибка сервераСделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка.
НаименованиеТипОбязательностьОписание
Notice {
   causestringoptionalПричина или основание сообщения,
   referenceIdstringoptionalУникальный идентификатор (UUID),
   messagestringoptionalСообщение
}

Создание запроса на выпуск сертификата

Alt text /v1/crypto/cert-requests

Ресурс позволяет создавать запросы на выпуск нового сертификата для пользователя, чей access_token используется в запросе. Работает только с access_token сотрудников вашей компании.

Для создания запроса на выпуск нового сертификата необходимо отправить POST-запрос /v1/crypto/cert-requests с токеном доступа (access_token) пользователя вашей компании в параметре Authorization заголовка и реквизитами запроса в теле.

В параметре scope ссылки авторизации пользователя вашей компании должен быть указан сервис CERTIFICATE_REQUEST для получения доступа к этому ресурсу.


Для обращения к ресурсу необходимо отправлять запрос на:

  • Тестовый контур https://iftfintech.testsbi.sberbank.ru:9443/fintech/api
  • Промышленный контур https://fintech.sberbank.ru:9443/fintech/api

Request

/v1/crypto/cert-requests
НаименованиеТипФорматRegexpОбязательностьОписание
HEADER
Authorizationstringstring^([a-zA-Z0-9]){38}$requiredAccess token пользователя, полученный через SSO.
BODY
CertRequest {
   emailstringstring^[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+.[A-Za-z]{2,}$requiredАдрес электронной почты,
   externalIdstringUUID^([0-9A-Fa-f]{8})-([0-9A-Fa-f]{4})-([0-9A-Za-z]{4})-([0-9A-Fa-f]{12})$requiredИдентификатор документа, присвоенный партнером,
   numberstringstringrequiredНомер документа,
   orgNamestringstringoptionalКраткое наименование организации,
   pkcs10Array[Pkcs10]objectrequiredДанные запроса на сертификат ЭП,
   userNamestringstringrequiredФамилия, имя и отчество,
   userPositionstringstringrequiredДолжность
}
Pkcs10 {
   bicryptIdstringstringrequiredИдентификатор bicryptId,
   cmsstringstringrequiredДанные запроса на сертификат ЭП в формате CMS (PKCS #10)
}

Responses

201 (Created)
НаименованиеТипОбязательностьОписание
HEADER
AuthorizationstringrequiredAccess token пользователя, полученный через SSO.
BODY
CertRequest {
   bankCommentstringoptionalБанковский комментарий к статусу документа,
   bankStatusstringoptionalСтатус документа,
   emailstringrequiredАдрес электронной почты,
   externalIdstringrequiredИдентификатор документа, присвоенный партнером,
   numberstringrequiredНомер документа,
   orgNamestringoptionalКраткое наименование организации,
   pkcs10Array[Pkcs10]requiredДанные запроса на сертификат ЭП,
   userNamestringrequiredФамилия, имя и отчество,
   userPositionstringrequiredДолжность
}
Pkcs10 {
   bicryptIdstringrequiredИдентификатор bicryptId,
   cmsstringrequiredДанные запроса на сертификат ЭП в формате CMS (PKCS #10)
}
400 (Bad request)
CauseMessageDescription
DESERIALIZATION_FAULTНеверный формат запросаДанные в request указаны в неправильном формате. Атрибуты request, в которых найдены ошибки, указаны в responce в массиве fields с описанием проблемы. Описание типа, формата и regexp атрибутов находится в request метода. Скорректируйте заполнение атрибутов и повторите запрос.
WORKFLOW_FAULTЗначение ФИО в запросе не совпадает со значением ФИО учетной записиВ request формируется запрос на выпуск сертификата ЭП на пользователя, отличного от пользователя, чей access_token используется в Authorization.

Владелец access_token и пользователь, на кого выпускается сертификат, должны совпадать.
Не удалось определить единственный криптопрофиль с типом: ИнфокриптПрофиль пользователя, чей access_token используется в Authorization, имеет тип защиты "SMS".

Запрос на выпуск сертификата можно отправлять с профиля с типом защиты "электронный ключ (токен)".
НаименованиеТипОбязательностьОписание
Notice {
   causestringoptionalПричина или основание сообщения,
   referenceIdstringoptionalУникальный идентификатор (UUID),
   messagestringoptionalСообщение
}
401 (Unauthorized Error)
CauseMessageDescription
UNAUTHORIZEDaccessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-хУказан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос.
НаименованиеТипОбязательностьОписание
Notice {
   causestringoptionalПричина или основание сообщения,
   referenceIdstringoptionalУникальный идентификатор (UUID),
   messagestringoptionalСообщение
}
403 (Forbidden)
CauseMessageDescription
ACTION_ACCESS_EXCEPTIONОперация не может быть выполнена: доступ к ресурсу запрещенИспользуемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API.

В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция CERTIFICATE_REQUEST. Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token.
ACCESS_EXCEPTIONРабота с сертификатами и криптопрофилями доступна только по собственной организацииИспользуемый в запросе access_token принадлежит пользователю, который не является сотрудником вашей компании.

Для работы с пользователями других компании используйте ресурсы группы /v1/crypto.../eio
НаименованиеТипОбязательностьОписание
Notice {
   causestringoptionalПричина или основание сообщения,
   referenceIdstringoptionalУникальный идентификатор (UUID),
   messagestringoptionalСообщение
}
500 (Internal Server Error)
CauseMessageDescription
UNKNOWN_EXCEPTIONВнутренняя ошибка сервераСделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка.
НаименованиеТипОбязательностьОписание
Notice {
   causestringoptionalПричина или основание сообщения,
   referenceIdstringoptionalУникальный идентификатор (UUID),
   messagestringoptionalСообщение
}

Получение статуса заявления

Alt text /v1/crypto/cert-requests/{externalId}/state

Ресурс позволяет получить информацию по статусу запроса на новый сертификат. Полученную информацию возможно использовать для контроля и анализа статуса запроса на новый сертификат. Работает только с access_token сотрудников вашей компании.

Для получения статуса заявления необходимо отправить GET-запрос /v1/crypto/cert-requests/{externalId}/state с токеном доступа (access_token) пользователя вашей компании в параметре Authorization заголовка и идентификатором документа (externalId) в path-параметре.

В параметре scope ссылки авторизации пользователя вашей компании должен быть указан сервис CERTIFICATE_REQUEST для получения доступа к этому ресурсу.


Для обращения к ресурсу необходимо отправлять запрос на:

  • Тестовый контур https://iftfintech.testsbi.sberbank.ru:9443/fintech/api
  • Промышленный контур https://fintech.sberbank.ru:9443/fintech/api

Request

/v1/crypto/cert-requests/{externalId}/state
НаименованиеТипФорматRegexpОбязательностьОписание
HEADER
Authorizationstringstring^([a-zA-Z0-9]){38}$requiredAccess token пользователя, полученный через SSO.
PATH-PARAMETERS
externalIdstringUUID^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$requiredИдентификатор документа, присвоенный вами,

Responses

200 (OK)
НаименованиеТипОбязательностьОписание
AcceptanceAdvance {
   bankCommentstringoptionalРасшифровка статуса обработки,
   bankStatusstringoptionalСтатус обработки,
   channelInfostringoptionalКомментарий, специфичный для документа, полученного по данному каналу
}
400 (Bad request)
CauseMessageDescription
DESERIALIZATION_FAULTНеверный формат запросаДанные в request указаны в неправильном формате. Атрибуты request, в которых найдены ошибки, указаны в responce в массиве fields с описанием проблемы. Описание типа, формата и regexp атрибутов находится в request метода. Скорректируйте заполнение атрибутов и повторите запрос.
НаименованиеТипОбязательностьОписание
Notice {
   causestringoptionalПричина или основание сообщения,
   referenceIdstringoptionalУникальный идентификатор (UUID),
   messagestringoptionalСообщение
}
401 (Unauthorized Error)
CauseMessageDescription
UNAUTHORIZEDaccessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-хУказан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос.
НаименованиеТипОбязательностьОписание
Notice {
   causestringoptionalПричина или основание сообщения,
   referenceIdstringoptionalУникальный идентификатор (UUID),
   messagestringoptionalСообщение
}
403 (Forbidden)
CauseMessageDescription
ACTION_ACCESS_EXCEPTIONОперация не может быть выполнена: доступ к ресурсу запрещенИспользуемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API.

В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция CERTIFICATE_REQUEST. Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token.
ACCESS_EXCEPTIONРабота с сертификатами и криптопрофилями доступна только по собственной организацииИспользуемый в запросе access_token принадлежит пользователю, который не является сотрудником вашей компании.

Для работы с пользователями других компании используйте ресурсы группы /v1/crypto.../eio
НаименованиеТипОбязательностьОписание
Notice {
   causestringoptionalПричина или основание сообщения,
   referenceIdstringoptionalУникальный идентификатор (UUID),
   messagestringoptionalСообщение
}
500 (Internal Server Error)
CauseMessageDescription
UNKNOWN_EXCEPTIONВнутренняя ошибка сервераСделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка.
НаименованиеТипОбязательностьОписание
Notice {
   causestringoptionalПричина или основание сообщения,
   referenceIdstringoptionalУникальный идентификатор (UUID),
   messagestringoptionalСообщение
}

Статусы заявления

bankStatus (string)
Код статусаНаименованиеТип
ACCEPTEDПринятПромежуточный/Продолжать опрашивать
CHECKERRORОшибка контроляКонечный(Ошибочный)/Прекратить опрос
CREATEDСозданПромежуточный/Продолжать опрашивать
DELIVEREDДоставленПромежуточный/Продолжать опрашивать
EXPORTEDВыгруженПромежуточный/Продолжать опрашивать
PROCESSEDОбработанКонечный(Успешный)/Прекратить опрос
PUBLISHED_BY_BANKИздан БанкомПромежуточный/ Прекратить опрос (После получение статуса необходимо активировать сертификат, вызвав сервис /v1/crypto/cert-requests/{externalId}/activate)
READY_TO_SENDЖдет отправкиПромежуточный/Продолжать опрашивать
REFUSEDBYBANKОтвергнут БанкомКонечный(Ошибочный)/Прекратить опрос
REQUISITEERRORОшибка реквизитовКонечный(Ошибочный)/Прекратить опрос
TRIEDПроверенПромежуточный/Продолжать опрашивать
WAIT_FOR_APPROVEОжидает подтвержденияПромежуточный/Продолжать опрашивать

Получение печатной формы заявления

Alt text /v1/crypto/cert-requests/{externalId}/print

Ресурс позволяет получить печатную форму заявления на выпуск сертификата. Работает только с access_token сотрудников вашей компании.

Для получения печатной формы заявления необходимо отправить GET-запрос /v1/crypto/cert-requests/{externalId}/print с токеном доступа (access_token) пользователя вашей компании в параметре Authorization заголовка и идентификатором документа (externalId) в path-параметре.

В параметре scope ссылки авторизации пользователя вашей компании должен быть указан сервис CERTIFICATE_REQUEST для получения доступа к этому ресурсу.


Для обращения к ресурсу необходимо отправлять запрос на:

  • Тестовый контур https://iftfintech.testsbi.sberbank.ru:9443/fintech/api
  • Промышленный контур https://fintech.sberbank.ru:9443/fintech/api

Request

/v1/crypto/cert-requests/{externalId}/print
НаименованиеТипФорматRegexpОбязательностьОписание
HEADER
Authorizationstringstring^([a-zA-Z0-9]){38}$requiredAccess token пользователя, полученный через SSO.
PATH-PARAMETERS
externalIdstringUUID^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$requiredИдентификатор документа, присвоенный вами,

Responses

200 (OK)
НаименованиеТипОбязательностьОписание
stringstringoptionalПечатная форма запроса на сертификат в формате PDF.

1. Ответ необходимо выгрузить в бинарном виде
2. Если используете по умолчанию кодировку UTF-8, то принудительно необходимо результат сконвертировать в кодировку win-1251
3. Сохраняем итог в кодировке win-1251 в файл с расширением .pdf

byte[] res = await [resMsg].Content.ReadAsByteArrayAsync();
result = Encoding.GetEncoding("Windows-1251").GetString(res, 0, res.Length);
File.WriteAllText(“primer.pdf”, result, Encoding.GetEncoding("windows-1251"))
400 (Bad request)
CauseMessageDescription
DESERIALIZATION_FAULTНеверный формат запросаДанные в request указаны в неправильном формате. Атрибуты request, в которых найдены ошибки, указаны в responce в массиве fields с описанием проблемы. Описание типа, формата и regexp атрибутов находится в request метода. Скорректируйте заполнение атрибутов и повторите запрос.
НаименованиеТипОбязательностьОписание
Notice {
   causestringoptionalПричина или основание сообщения,
   referenceIdstringoptionalУникальный идентификатор (UUID),
   messagestringoptionalСообщение
}
401 (Unauthorized Error)
CauseMessageDescription
UNAUTHORIZEDaccessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-хУказан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос.
НаименованиеТипОбязательностьОписание
Notice {
   causestringoptionalПричина или основание сообщения,
   referenceIdstringoptionalУникальный идентификатор (UUID),
   messagestringoptionalСообщение
}
403 (Forbidden)
CauseMessageDescription
ACTION_ACCESS_EXCEPTIONОперация не может быть выполнена: доступ к ресурсу запрещенИспользуемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API.

В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция CERTIFICATE_REQUEST. Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token.
ACCESS_EXCEPTIONРабота с сертификатами и криптопрофилями доступна только по собственной организацииИспользуемый в запросе access_token принадлежит пользователю, который не является сотрудником вашей компании.

Для работы с пользователями других компании используйте ресурсы группы /v1/crypto.../eio
НаименованиеТипОбязательностьОписание
Notice {
   causestringoptionalПричина или основание сообщения,
   referenceIdstringoptionalУникальный идентификатор (UUID),
   messagestringoptionalСообщение
}
500 (Internal Server Error)
CauseMessageDescription
UNKNOWN_EXCEPTIONВнутренняя ошибка сервераСделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка.
НаименованиеТипОбязательностьОписание
Notice {
   causestringoptionalПричина или основание сообщения,
   referenceIdstringoptionalУникальный идентификатор (UUID),
   messagestringoptionalСообщение
}

Активация выпущенного сертификата

Alt text /v1/crypto/cert-requests/{externalId}/activate

Ресурс позволяет создавать запросы на активацию выпущенного сертификата, для дальнейшей возможности подписывать документы и запросы. Работает только с access_token сотрудников вашей компании.

Для активации выпущенного сертификата необходимо отправить POST-запрос /v1/crypto/cert-requests/{externalId}/activate с токеном доступа (access_token) пользователя вашей компании в параметре Authorization заголовка и идентификатором документа (externalId) в path-параметре.

В параметре scope ссылки авторизации пользователя вашей компании должен быть указан сервис CERTIFICATE_REQUEST для получения доступа к этому ресурсу.


Для обращения к ресурсу необходимо отправлять запрос на:

  • Тестовый контур https://iftfintech.testsbi.sberbank.ru:9443/fintech/api
  • Промышленный контур https://fintech.sberbank.ru:9443/fintech/api

Request

/v1/crypto/cert-requests/{externalId}/activate
НаименованиеТипФорматRegexpОбязательностьОписание
HEADER
Authorizationstringstring^([a-zA-Z0-9]){38}$requiredAccess token пользователя, полученный через SSO.
PATH-PARAMETERS
externalIdstringUUID^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$requiredИдентификатор документа, присвоенный вами,

Responses

200 (OK)
НаименованиеТипОбязательностьОписание
Отсутствует
400 (Bad request)
CauseMessageDescription
DESERIALIZATION_FAULTНеверный формат запросаДанные в request указаны в неправильном формате. Атрибуты request, в которых найдены ошибки, указаны в responce в массиве fields с описанием проблемы. Описание типа, формата и regexp атрибутов находится в request метода. Скорректируйте заполнение атрибутов и повторите запрос.
НаименованиеТипОбязательностьОписание
Notice {
   causestringoptionalПричина или основание сообщения,
   referenceIdstringoptionalУникальный идентификатор (UUID),
   messagestringoptionalСообщение
}
401 (Unauthorized Error)
CauseMessageDescription
UNAUTHORIZEDaccessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-хУказан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос.
НаименованиеТипОбязательностьОписание
Notice {
   causestringoptionalПричина или основание сообщения,
   referenceIdstringoptionalУникальный идентификатор (UUID),
   messagestringoptionalСообщение
}
403 (Forbidden)
CauseMessageDescription
ACTION_ACCESS_EXCEPTIONОперация не может быть выполнена: доступ к ресурсу запрещенИспользуемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API.

В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция CERTIFICATE_REQUEST. Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token.
ACCESS_EXCEPTIONРабота с сертификатами и криптопрофилями доступна только по собственной организацииИспользуемый в запросе access_token принадлежит пользователю, который не является сотрудником вашей компании.

Для работы с пользователями других компании используйте ресурсы группы /v1/crypto.../eio
НаименованиеТипОбязательностьОписание
Notice {
   causestringoptionalПричина или основание сообщения,
   referenceIdstringoptionalУникальный идентификатор (UUID),
   messagestringoptionalСообщение
}
500 (Internal Server Error)
CauseMessageDescription
UNKNOWN_EXCEPTIONВнутренняя ошибка сервераСделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка.
НаименованиеТипОбязательностьОписание
Notice {
   causestringoptionalПричина или основание сообщения,
   referenceIdstringoptionalУникальный идентификатор (UUID),
   messagestringoptionalСообщение
}
ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.