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

Ресурсы криптографии для ЕИО

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

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

Alt text /fintech/api/v1/crypto/eio

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

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

В параметре scope ссылки авторизации пользователя-ЕИО должен быть указан сервис GET_CRYPTO_INFO_EIO для получения доступа к этому ресурсу.


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

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

Request

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

Responses

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

Возвращаются в формате base64. Для дальнейшего использования потребуется их раскодировать,
  cryptoUserInfosArray[CryptoUserInfo]optionalИнформация о пользователях
}
CryptoUserInfo {
  substringoptionalХэш идентификатора пользователя,
  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_EIO. Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token.
НаименованиеТипОбязательностьОписание
Notice {
  causestringoptionalПричина или основание сообщения,
  referenceIdstringoptionalУникальный идентификатор,
  messagestringoptionalСообщение
}
500 (Internal Server Error)
CauseMessageDescription
UNKNOWN_EXCEPTIONВнутренняя ошибка сервераСделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка.
НаименованиеТипОбязательностьОписание
Notice {
  causestringoptionalПричина или основание сообщения,
  referenceIdstringoptionalУникальный идентификатор,
  messagestringoptionalСообщение
}

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

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

Ресурс позволяет создавать запросы на выпуск нового сертификата для любого пользователя Сбербизнес компании. Работает с access_token пользователей с признаком единоличный исполнительный орган (ЕИО).

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

В параметре scope ссылки авторизации пользователя-ЕИО должен быть указан сервис CRYPTO_CERT_REQUEST_EIO для получения доступа к этому ресурсу.


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

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

Request

/fintech/api/v1/crypto/cert-requests/eio
НаименованиеТипФормат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Логин пользователя, для которого создается запрос на сертификат,
  loginstringstringrequiredИдентификатор документа, присвоенный партнером,
  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Идентификатор документа, присвоенный партнером,
  loginstringrequiredЛогин пользователя, для которого создается запрос на сертификат,
  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Не удалось определить единственный криптопрофиль с типом: ИнфокриптПрофиль пользователя, чей login используется в request, имеет тип защиты "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, не указана операция CRYPTO_CERT_REQUEST_EIO. Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token.
НаименованиеТипОбязательностьОписание
Notice {
  causestringoptionalПричина или основание сообщения,
  referenceIdstringoptionalУникальный идентификатор,
  messagestringoptionalСообщение
}
500 (Internal Server Error)
CauseMessageDescription
UNKNOWN_EXCEPTIONВнутренняя ошибка сервераСделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка.
НаименованиеТипОбязательностьОписание
Notice {
  causestringoptionalПричина или основание сообщения,
  referenceIdstringoptionalУникальный идентификатор,
  messagestringoptionalСообщение
}

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

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

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

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

В параметре scope ссылки авторизации пользователя-ЕИО должен быть указан сервис CRYPTO_CERT_REQUEST_EIO для получения доступа к этому ресурсу.


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

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

Request

/fintech/api/v1/crypto/cert-requests/eio/{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, не указана операция CRYPTO_CERT_REQUEST_EIO. Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token.
НаименованиеТипОбязательностьОписание
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/eio/{externalId}/state получите печатную форму заявления, распечатайте и подпишите. Далее Подписанту необходимо педоставить заявление в обслуживающий офис Сбера.
PUBLISHED_BY_BANKИздан БанкомСертификат выпущен, и него необходимо активировать.

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

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

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

Ресурс позволяет получить печатную форму заявления на выпуск сертификата. Работает с access_token пользователей с признаком единоличный исполнительный орган (ЕИО).

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

В параметре scope ссылки авторизации пользователя-ЕИО должен быть указан сервис CRYPTO_CERT_REQUEST_EIO для получения доступа к этому ресурсу.


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

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

Request

/fintech/api/v1/crypto/cert-requests/eio/{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
ACCESS_EXCEPTIONПолучение информации о подключенных клиентах возможно только по собственной организацииИспользуемый в запросе access_token не имеет разрешения на доступ к нужному сервису Sber API.

В ссылке авторизации СберБизнес ID, в параметре scope, не указана операция CRYPTO_CERT_REQUEST_EIO. Необходимо добавить эту операцию в scope. Пользователю потребуется пройти авторизацию заново. Вы получите новые токены access_token и refresh_token. Сделайте повторный запрос с новым access_token.
НаименованиеТипОбязательностьОписание
Notice {
  causestringoptionalПричина или основание сообщения,
  referenceIdstringoptionalУникальный идентификатор,
  messagestringoptionalСообщение
}
500 (Internal Server Error)
CauseMessageDescription
UNKNOWN_EXCEPTIONВнутренняя ошибка сервераСделайте повторный запрос. Если ошибка повторится, подготовьте логи запроса и направьте в службу Технической поддержки Банка.
НаименованиеТипОбязательностьОписание
Notice {
  causestringoptionalПричина или основание сообщения,
  referenceIdstringoptionalУникальный идентификатор,
  messagestringoptionalСообщение
}

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

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

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

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

В параметре scope ссылки авторизации пользователя-ЕИО должен быть указан сервис CRYPTO_CERT_REQUEST_EIO для получения доступа к этому ресурсу.


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

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

Request

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