Cервис получения сообщений от обслуживающих банков, полученных по СПФС
C помощью данного API Клиент может настроить в ERP получение сообщений, поступивших по СПФС, от обслуживающих банков.
Описание бизнес-процесса:
Клиент в ERP системе осуществляет настройку вызова API для получения сообщений, поступивших по СПФС, от обслуживающих банков, в соответствии со спецификацией канала;
ERP Клиента вызывает API для аутентификации и авторизации;
Банк проводит аутентификацию и авторизацию. Генерирует access token и возвращает Клиенту;
ERP Клиента вызывает API;
В случае успешной валидации сообщения Банк принимает запрос в обработку;
SberConnect возвращает все документы, полученные для клиента Сервис-бюро, в календарной очередности;
Все входящие документы клиента имеют порядковый номер. SberConnect при передаче сообщения клиенту указывает порядковый номер документа в теге ExternalNb;
Если клиент в вызове не указывает ExternalNb, то SberConnect передает следующий документ по порядку.
SberConnect передает клиенту признак LastDoc, в котором сообщается есть ли для клиента иные не полученные документы;
При необходимости, клиент может запросить повторно конкретный документ, указав его номер в теге ExternalNb вызова.
Описание атрибутов запроса:
Параметры | Описание |
---|---|
Authorization (header) * | Получение токена авторизации осуществляется в методе Сервиc получения токена авторизации. |
RqUID (header) * | Уникальный идентификатор сообщения, сгенерированный клиентом в формате [0-9A-Fa-f]{32}. Для того, чтобы гарантировать уникальность, требуется использовать стандартные библиотеки и классы генерации UUID (https://ru.wikipedia.org/wiki/UUID), убрав из результата символ разделителя «-». Если заголовок отсутствует в запросе, идентификатор будет сгенерирован автоматически и передан клиенту в аналогичном заголовке ответа. |
ExternalNb | Указывается порядковый номер входящего документа. Если документ разделен на части, то у всех частей одного документа одинаковый порядковый номер. |
PageNumber | Указывается номер страницы для получения конкретной части документа (в разрезе одного ExternalNb) |
Статусы успешного http-запросов
Код | Статус | Описание | ||
---|---|---|---|---|
200 | OK | ResponseFreeFormat{ | ||
description: | Документ свободного формата для передачи клиенту | |||
Sender* | { | |||
description: | Отправитель | |||
UIS* | string | |||
maxLength: 10 | ||||
pattern: ^[0-9]{10}$ | ||||
example: 4525171000 | ||||
УИС отправителя | ||||
} | ||||
Receiver | { | |||
description: | Получатель | |||
UIS* | string | |||
maxLength: 10 | ||||
pattern: ^[0-9]{10}$ | ||||
example: 4525225000 | ||||
УИС получателя | ||||
} | ||||
ProprietaryDocument* | string | |||
pattern: ^[+\/=0-9a-zA-Z]{0,990000}$ | ||||
example: ezE6RjAxVEVTVFJVTU1YWFhYMTAwMDAwMDE3N317MjpJNTE2U0FCUlJVTU1YWFhYTn17NDoNCjoyMDoxMjEwMjI4MjVPRloxNDIzDQo6MjM6MTIxMDIyODI1T0ZaMTQyDQotfQ== | ||||
Документ в кодировке Base64 | ||||
LastDoc | boolean | |||
example: true | ||||
Признак последнего документа, поступившего в адрес клиента, на момент вызова | ||||
PageNumber | string | |||
maxLength: 10 | ||||
pattern: ^[0-9]{0,10}$ | ||||
example: 10 | ||||
Номер страницы одного документа | ||||
TotalNbOfPgs | string | |||
maxLength: 10 | ||||
pattern: ^[0-9]{0,10}$ | ||||
example: 10 | ||||
Всего страниц одного документа | ||||
ExternalNb* | string | |||
maxLength: 15 | ||||
pattern: ^[0-9]{0,15}$ | ||||
example: 10 | ||||
Порядковый номер документа | ||||
DigitalSign* | string | |||
pattern: ^[+\/=0-9a-zA-Z]{0,5000}$ | ||||
example: MIIKwwYJKoZIhvcNAQcCoIIKtDCCCrACAQExDjAMBggqhQMHAQECAgUAMAsGCSq | ||||
УКЭП Банка в формате CMS | ||||
} |
Статусы неуспешного http-запросов
Код | Статус | Описание | ||
---|---|---|---|---|
400 | Bad request | Bad request | ||
401 | Unauthorized | Unauthorized | ||
404 | Not Found | Для клиента Сервис-бюро нет входящих документов | ||
405 | Method Not Allowed | Method Not Allowed | ||
423 | Locked | Сообщение не может быть передано в обслуживающий банк | ||
500 | Internal Server Error | Internal Server Error | ||
503 | Service Unavailable | Try again later | ||
504 | Gateway Timeout | Gateway Timeout |
Описание примеров сообщений
Вызов сервиса получения сообщений от обслуживающих банков, полученных по СПФС:
Тип запроса GET
GET https://mc.api.sberbank.ru:443/prod/sberconnect/sbspfs/v1/spfs/getall
Connection: keep-alive
RqUID: ac5993deddf49c6acf87158731f9d114
Authorization: Bearer 87dbfcb2-5e30-4ef5-b5cb-1b22593e3782
Host: mc.api.sberbank.ru:443
User-Agent: Apache-HttpClient/4.5.10 (Java/1.8.0_321)
Ответ сервиса:
HTTP/1.1 200 OK
Server: nginx/1.20.1
Date: Mon, 24 Oct 2022 11:26:34 GMT
Content-Type: application/json
Content-Length: 17023
Connection: keep-alive
X-Rate-Limit-Limit: 20
X-Rate-Limit-Remaining: 18
X-Rate-Limit-Reset: 1666610795084
Expires: 0
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
RqUID: 59f8769a0087fea9d7b77ac5e8f23318
X-XSS-Protection: 1; mode=block
Pragma: no-cache
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Strict-Transport-Security: max-age=31536000 ; includeSubDomains
Accept-Ranges: bytes
{"Sender":{"UIS":"4525225000"},"Receiver":{"UIS":"4525207000"},"ProprietaryDocument":"ezE6RjAxVEVTVFJVTU1YWFhYMTAwMDAwMDE3N317MjpJNTE2U0FCUlJVTU1YWFhYTn17NDoNCjoyMDoxMjEwMjI4MjVPRloxNDIzDQo6MjM6MTIxMDIyODI1T0ZaMTQyDQotfQ==","LastDoc":false,"ExternalNb":"11","DigitalSign":"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"}