Заявление на заранее данный акцепт
Для обращения к ресурсу необходимо отправлять запрос на:
Текущий тестовый контур
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 преобразования:
- Используются другие вспомогательные символы Base 64 Encoding with URL and Filename Safe Alphabet.
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 | ||
Сервис временно недоступен | Проводятся технические работы |