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

Заявление на заранее данный акцепт

Обновлено 29 февраля 2024

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

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

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

Создание черновика заявления

Ресурс /v1/acceptance-advances позволяет партнеру создать черновик заявления на заранее данный акцепт.

Шаги

1. Получить AccessToken.

2. Отправить запрос.

Для создания заявления на заранее данный акцепт необходимо выполнить POST запрос (/v1/acceptance-advances), в котором передать авторизационный токен к данным организации-клиента (Access Token) и тело запроса. Авторизационный токен передается в параметре Authorization заголовка запроса.

Чтобы получить доступ к ресурсу, необходимо передать в scope сервис ACCEPTANCE_ADVANCE.

Модель запроса

НаименованиеОписание
Параметры заголовка
Authorization (String)Access token организации-клиента, полученный через SSO
Пример: Bearer c76fb018-27c9-43f7-a751-62646eda7e1a-1
Параметры тела запроса
AcceptanceAdvance {
acceptLastDate (string, optional)Дата окончания периода действия ЗДА ,
acceptStartDate (string)Дата начала периода действия ЗДА ,
bankComment (string, optional, read only)Расшифровка статуса обработки ,
bankStatus (string, optional, read only)Статус обработки ,
contractDate (string)Дата договора ,
contractNumber (string)Номер договора ,
date (string)Дата документа ,
externalId (string)Идентификатор документа, присвоенный партнером (UUID) ,
number (string)Номер документа ,
obligation (string, optional)Предмет договора ,
payeeAccount (string)Счет получателя ,
payeeBankBic (string, optional)БИК получателя платежа ,
payeeInn (string, optional)ИНН получателя ,
payeeName (string, optional)Наименование получателя ,
payerAccount (string, optional)Счет плательщика ,
payerBic (string, optional)БИК плательщика ,
payerInn (string, optional)ИНН плательщика ,
payerName (string, optional)Наименование плательщика
}

Пример запроса

{
"acceptLastDate":"2018-12-31",
"acceptStartDate":"2018-12-31",
"bankComment":"string",
"bankStatus":"CREATED",
"contractDate":"2018-12-31",
"contractNumber":"3344",
"date":"2018-12-31",
"externalId":"22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6",
"number":"667",
"obligation":"Оплата телефонных услуг",
"payeeAccount":"40802810600000200000",
"payeeBankBic":"044525225",
"payeeInn":"7707083893",
"payeeName":"Общество с ограниченной ответственностью \"Клиент\"",
"payerAccount":"40802810600000200000",
"payerBic":"044525225",
"payerInn":"7707083893",
"payerName":"Общество с ограниченной ответственностью \"Клиент\""
}

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

Ресурс /v1/acceptance-advances/{externalId} позволяет получить заявление на заранее данный акцепт.

Шаги

1. Получить AccessToken.

2. Отправить запрос.

Для получения заявления на заранее данный акцепт необходимо отправить GET-запрос (/fintech/api/v1/acceptance-advances/{externalId}), в котором передать авторизационный токен к данным организации-клиента (Access Token) и идентификатор документа. Авторизационный токен передается в параметре Authorization заголовка запроса.

Чтобы получить доступ к ресурсу, необходимо передать в scope сервис ACCEPTANCE_ADVANCE.

Модель запроса

НаименованиеОписание
Параметры заголовка
Authorization (String)Access token организации-клиента, полученный через SSO
Пример: Bearer c76fb018-27c9-43f7-a751-62646eda7e1a-1
Параметры запроса
externalId (String)Идентификатор документа, присвоенный партнером
Пример: 550e8400-e29b-41d4-a716-446655440000

Пример запроса

curl -X GET --header 'Accept: application/json' --header
'Authorization: Bearer c76fb018-27c9-43f7-a751-62646eda7e1a-1'
'https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/v1/acceptance-advances?externalId=22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6'

Модель ответа

Соответствует модели запроса /v1/acceptance-advances.

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

Ресурс /v1/acceptance-advances/{externalId}/state позволяет получить актуальный статус заявления на заранее данный акцепт.

Шаги

1. Получить AccessToken.

2. Отправить запрос.

Для получения статуса необходимо отправить GET-запрос (/v1/acceptance-advances/{externalId}/state), в котором передать авторизационный токен к данным организации-клиента (Access Token) и идентификатор документа. Авторизационный токен передается в параметре Authorization заголовка запроса.

Чтобы получить доступ к ресурсу, необходимо передать в scope сервис ACCEPTANCE_ADVANCE.

Модель запроса

НаименованиеОписание
Параметры заголовка
Authorization (String)Access token организации-клиента, полученный через SSO
Пример: Bearer c76fb018-27c9-43f7-a751-62646eda7e1a-1
Параметры запроса
externalId (String)Идентификатор документа в организации-партнере
Пример: 550e8400-e29b-41d4-a716-446655440000

Пример запроса

curl -X GET --header 'Accept: application/json' --header
'Authorization: c76fb018-27c9-43f7-a751-62646eda7e1a-1'
'https://iftfintech.testsbi.sberbank.ru:9443/fintech/api/v1/acceptance-advances/{externalId}/state?externalId=22a6dd81-103a-4d3a-8e9b-0ba4b527f5f6'

Модель ответа

НаименованиеОписание
DocStateShort {
bankComment (string, optional)Банковский комментарий к статусу документа ,
bankStatus (string, optional)Статус документа
}

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

{
"bankComment": "string",
"bankStatus": "string"
}

Возможные статусы

Код статусаНаименованиеКомментарий
CREATEDСозданДокумент создан и прошел первичный контроль на КЧ.
CHECKERRORОшибка контроляПри прохождении контролей на КЧ, в процессе сохранения, обнаружены ошибки.
DELETEDУдаленДокумент удален Пользователем
PARTSIGNEDЧастично подписанДокумент подписан не полным набором подписей.
SIGNEDПодписанДокумент подписан полным набором подписей.
ACCEPTED_BY_ABSПринят АБСДокумент принят АБС Банка.
REFUSEDBYABSОтказан АБСДокумент отказан АБС Банка.
REFUSEDBYBANKОтвергнут банкомДокумент отказан сотрудником Банка по результатам ручной обработки.
REQUISITEERRORОшибка реквизитовВ процессе контроля в АБС Банка обнаружены ошибки в реквизитах документа.
INVALIDEDSЭП/АСП не вернаВ процессе контроля в АБС Банка обнаружена ошибка подписи документа.
IMPLEMENTEDИсполнен1. Документ исполнен Банком. В ЕКС создано Распоряжение на ЗДА.
(для заявления на заранее данный акцепт)2. Документ исполнен Банком. Есть связанное заявление на отмену действия ЗДА.
ACCEPTEXPIREИстек срок акцептаИстек срок действия заранее данного акцепта.
RECALLОтозванДата отмены действия ЗДА меньше (раньше) или равна текущей дате. Заранее данный акцепт (Распоряжение) отменен.

Дополнительная информация

Подписание запроса транспортной подписью

Content-Type может содержать одно из двух значений:

  • application/json – запрос без подписи
  • application/jose – запрос, подписанный транспортной подписью

Если Content-Type имеет значение application/jose, то запрос должен содержать данные в виде компактной сериализации RFC 7515: JSON Web Signature (JWS).

JWS состоит из трёх частей:

  1. Заголовок (Header) - определяет алгоритм подписи и тип токена
  2. Полезная нагрузка (Payload) - содержит данные, которые необходимо защитить
  3. Электронная подпись (Signature) - вычисляется с использованием приватного ключа клиента
Base64Url(Header) || ’.’ ||  Base64Url(Payload) || ’.’ || Base64Url(Signature)

Каждая часть ответа, разделенная точкой, должна декодироваться отдельно. Для декодирования следует воспользоваться алгоритмом Base64URL Encoding.

Signature - это подпись данных приватной частью ключевой пары клиента (используется приватный ключ парный сертификату клиента). Подпись вычисляется по алгоритму указанному в Заголовке (Header) в параметре alg (в нашем случае gost34.10-2012) и вычисляется от исходных данных:

Base64Url(Header) || ‘.’ || Base64Url(Payload).

Формирование исходных данных для вычисления подписи описано в спецификации RFC 7515: JSON Web Signature (JWS).

При кодировании JWS используется преобразование Base64Url. Преобразование можно представить следующим образом:

Base64Url(x) := Base64(x).Split(‘=’)[0].Replace(‘+’, ’-’).Replace(‘/’, ’_’)
  • функция Split(x), разбивает строку на части ([i] означает взятие i–ой части), используя символ разделитель x,
  • функция Replace(x,y) заменяет все вхождения символа x на символ y.

Преобразование Base64Url, отличается от Base64 преобразования:

BASE64URLBASE64
- (minus)+
_ (underline)/

Коды возврата

Код возвратаОписание кода возвратаПричина возникновения
200 (GET-запроса)OK
201 (POST-запрос)CREATED
Создан
400DESERIALIZATION_FAULT
Неверный формат запросаНеверный формат запроса
401UNAUTHORIZED
accessToken not found by value =хххххххх-хххх-хххх-хххх-хххххххххххх-хУказан некорректный или просроченный access_token.
403ACTION_ACCESS_EXCEPTION
Операция не может быть выполнена: доступ к ресурсу запрещенУ пользователя нет прав на использование соответствующего сервиса Sber API, доступ к которому не предусмотрен настройками scope; У пользователя отсутствует оферта с внешним сервисом.
404NOT_FOUND
Документ с указанным ID не найденНевозможно найти документ с указанным внешним идентификатором.
500UNKNOWN_EXCEPTION
Внутренняя ошибка сервера
503UNAVAILABLE_RESOURCE_EXCEPTION
Сервис временно недоступенПроводятся технические работы
ПАО Сбербанк использует cookie для персонализации сервисов и удобства пользователей.
Вы можете запретить сохранение cookie в настройках своего браузера.