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

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

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

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

Шаги

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

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

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

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

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

Header Parameters Описание
Authorization String
Access token организации-клиента, полученный через SSO.
Пример: Bearer c76fb018-27c9-43f7-a751-62646eda7e1a-1
Body Описание
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.

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

Header Parameters Описание
Authorization String
Access token организации-клиента, полученный через SSO.
Пример: Bearer c76fb018-27c9-43f7-a751-62646eda7e1a-1
Query Parameters Описание
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/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.

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

Header Parameters Описание
Authorization String
Access token организации-клиента, полученный через SSO.
Пример: Bearer c76fb018-27c9-43f7-a751-62646eda7e1a-1
Query Parameters Описание
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 преобразования:

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

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

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

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

Заметили ошибку?

Выделите текст и нажмите Ctrl + Enter, чтобы сообщить нам о ней