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

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

Обновлено 15 августа 2024

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

Alt text /fintech/api/v1/crypto

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

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

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


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

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

Request

/fintech/api/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Уникальный идентификатор,
  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Уникальный идентификатор,
  messagestringoptionalСообщение
}
500 (Internal Server Error)
CauseMessageDescription
UNKNOWN_EXCEPTIONВнутренняя ошибка сервераСделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка.
НаименованиеТипОбязательностьОписание
Notice {
  causestringoptionalПричина или основание сообщения,
  referenceIdstringoptionalУникальный идентификатор,
  messagestringoptionalСообщение
}

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

Alt text /fintech/api/v1/crypto/cert-requests

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

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

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


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

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

Request

/fintech/api/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-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$requiredИдентификатор документа, который вы присваиваете самостоятельно,
  numberstringstringrequiredНомер документа,
  orgNamestringstringoptionalКраткое наименование организации,
  pkcs10Pkcs10objectrequiredДанные запроса на сертификат ЭП,
  userNamestringstringrequiredФамилия, имя и отчество,
  userPositionstringstringrequiredДолжность
}
Pkcs10 {
  bicryptIdstringstringrequiredИдентификатор bicryptId,
  cmsstringstringrequiredДанные запроса на сертификат ЭП в формате CMS (PKCS #10)
}

Responses

201 (Created)
НаименованиеТипОбязательностьОписание
HEADER
AuthorizationstringrequiredAccess token пользователя, полученный через SSO.
BODY
CertRequest {
  bankCommentstringoptionalБанковский комментарий к статусу документа,
  bankStatusstringoptionalСтатус документа,
  emailstringrequiredАдрес электронной почты,
  externalIdstringrequiredИдентификатор документа, присвоенный партнером,
  numberstringrequiredНомер документа,
  orgNamestringoptionalКраткое наименование организации,
  pkcs10Pkcs10requiredДанные запроса на сертификат ЭП,
  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".

Запрос на выпуск сертификата можно отправлять с профиля с типом защиты "электронный ключ (токен)".
Внешний идентификатор {externalId} не может быть использован для создания документаНеобходимо перегенировать externalId и отправить запрос повторно
Уже существует ключ проверки с идентификатором {bicryptId}, имеющий либо сертификат, либо запрос с одним из активных статусовНеобходимо сформировать новое значение bicryptId по указанной в спецификации формуле: certCenterCode + (certCenterNum +1) + s + ФамилияИО
НаименованиеТипОбязательностьОписание
Notice {
  causestringoptionalПричина или основание сообщения,
  referenceIdstringoptionalУникальный идентификатор,
  messagestringoptionalСообщение
}
401 (Unauthorized Error)
CauseMessageDescription
UNAUTHORIZEDaccessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-хУказан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос.
НаименованиеТипОбязательностьОписание
Notice {
  causestringoptionalПричина или основание сообщения,
  referenceIdstringoptionalУникальный идентификатор,
  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Уникальный идентификатор,
  messagestringoptionalСообщение
}
500 (Internal Server Error)
CauseMessageDescription
UNKNOWN_EXCEPTIONВнутренняя ошибка сервераСделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка.
НаименованиеТипОбязательностьОписание
Notice {
  causestringoptionalПричина или основание сообщения,
  referenceIdstringoptionalУникальный идентификатор,
  messagestringoptionalСообщение
}

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

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

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

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

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


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

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

Request

/fintech/api/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Уникальный идентификатор,
  messagestringoptionalСообщение
}
401 (Unauthorized Error)
CauseMessageDescription
UNAUTHORIZEDaccessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-хУказан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос.
НаименованиеТипОбязательностьОписание
Notice {
  causestringoptionalПричина или основание сообщения,
  referenceIdstringoptionalУникальный идентификатор,
  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Уникальный идентификатор,
  messagestringoptionalСообщение
}
500 (Internal Server Error)
CauseMessageDescription
UNKNOWN_EXCEPTIONВнутренняя ошибка сервераСделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка.
НаименованиеТипОбязательностьОписание
Notice {
  causestringoptionalПричина или основание сообщения,
  referenceIdstringoptionalУникальный идентификатор,
  messagestringoptionalСообщение
}

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

bankStatus (string)
Код состояние документаНаименование статусаНазначение кода состояния
Промежуточный/Продолжать опрашивать
CREATEDСозданДокумент записан в БД, проверки не выполнялись
ACCEPTEDПринятЭлектронный документ принят на стороне Банка
ACCEPTED_BY_ABSПринят АБСЭлектронный документ был принят к обработке в АБС Банка

Подписанту необходимо предоставить в Банк заявление на выпуск сертификата.

С помощью ресурса GET /fintech/api/v1/crypto/cert-requests/{externalId}/print получите печатную форму заявления, распечатайте и подпишите. Далее Подписанту необходимо педоставить заявление в обслуживающий офис Сбера.
PUBLISHED_BY_BANKИздан БанкомСертификат выпущен, и него необходимо активировать.

Активировать сертификат можно с помощью ресурса POST /fintech/api/v1/crypto/cert-requests/{externalId}/activate
Окончательный (Не успешный)/Прекратить опрос
DENIEDОтказано в сертификацииОшибка в процессе выпуска сертификата либо отказано в сертификации
Окончательный (Успешный)/Прекратить опрос
PROCESSEDОбработанСертификат активирован

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

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

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

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

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


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

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

Request

/fintech/api/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Уникальный идентификатор,
  messagestringoptionalСообщение
}
401 (Unauthorized Error)
CauseMessageDescription
UNAUTHORIZEDaccessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-хУказан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос.
НаименованиеТипОбязательностьОписание
Notice {
  causestringoptionalПричина или основание сообщения,
  referenceIdstringoptionalУникальный идентификатор,
  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Уникальный идентификатор,
  messagestringoptionalСообщение
}
500 (Internal Server Error)
CauseMessageDescription
UNKNOWN_EXCEPTIONВнутренняя ошибка сервераСделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка.
НаименованиеТипОбязательностьОписание
Notice {
  causestringoptionalПричина или основание сообщения,
  referenceIdstringoptionalУникальный идентификатор,
  messagestringoptionalСообщение
}

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

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

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

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

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


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

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

Request

/fintech/api/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Уникальный идентификатор,
  messagestringoptionalСообщение
}
401 (Unauthorized Error)
CauseMessageDescription
UNAUTHORIZEDaccessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-хУказан некорректный или просроченный access_token. Используйте refresh_token для обновления access_token и повторите запрос.
НаименованиеТипОбязательностьОписание
Notice {
  causestringoptionalПричина или основание сообщения,
  referenceIdstringoptionalУникальный идентификатор,
  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Уникальный идентификатор,
  messagestringoptionalСообщение
}
500 (Internal Server Error)
CauseMessageDescription
UNKNOWN_EXCEPTIONВнутренняя ошибка сервераСделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка.
НаименованиеТипОбязательностьОписание
Notice {
  causestringoptionalПричина или основание сообщения,
  referenceIdstringoptionalУникальный идентификатор,
  messagestringoptionalСообщение
}
ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.