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

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

Обновлено 14 июля 2023

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

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

  • Новый тестовый контур 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://edupirfintech.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://edupirfintech.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. JSON-документа с реквизитным составом платежного поручения (Payload)
3. Подписи запроса (Signature)

Формирование компактной сериализации JWS

JWS формируется из трех составляющих:

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

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

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

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

Следует отметить, что при кодировании JWS используется преобразование Base64Url, отличающееся от Base64 преобразования.
Условно это преобразование можно представить следующим образом:

Base64Url(x) := Base64(x).Split(‘=’)[0].Replace(‘+’, ’-’).Replace(‘/’, ’_’)

здесь функция Split(x), разбивает строку на части ([i] означает взятие i–ой части), используя символ разделитель x, функция Replace(x,y) заменяет все вхождения символа x на символ y.

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

BASE64URLBASE64
- (minus)+
_ (underline)/
  • В BASE64URL не используется (опускается) padding, т.е. не добавляются знаки ‘=’ на конце закодированного содержимого Padding of Encoded Data.

В ответе на запрос сервер возвращает JSON-документ, который содержит реквизитный состав подготовленного черновика рублевого платежного поручения в статусе Создан.

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

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