# Sber API (СберБизнес API): Получить выписку по счёту за день

Сценарий из mcp-everything. Актуально на 2026-10-24.

Автоматическая сверка поступлений: остатки, обороты и все операции по расчётному счёту.

1. В scope авторизации должен быть сервис GET_STATEMENT_ACCOUNT.
2. Получи сводку за день: GET /fintech/api/v2/statement/summary с accountNumber (20 цифр) и statementDate (yyyy-MM-dd) — входящий и исходящий остатки и обороты.
3. Получи операции: GET /fintech/api/v2/statement/transactions с теми же параметрами и page, начиная с 1. Переходи по страницам, пока в _links есть ссылка на следующую.
4. Выписка доступна за 5 предыдущих лет и текущий год. Каждый запрос — с клиентским сертификатом и access_token организации.

```bash
curl -G 'https://fintech.sberbank.ru:9443/fintech/api/v2/statement/transactions' \
  --cert-type P12 --cert client.p12:<пароль сертификата> \
  -H "Authorization: Bearer $ACCESS_TOKEN" -H 'Accept: application/json' \
  -d accountNumber=40702810500006103990 -d statementDate=2026-10-23 -d page=1
```

## Базовые URL

- Боевой: `https://fintech.sberbank.ru:9443`
- Тестовый (песочница): `https://fintech-test.sberbank.ru:9443`
- Страница авторизации СберБизнес ID: `https://sbi.sberbank.ru:9443/ic/sso/api/v2/oauth/authorize`

## Авторизация

Тип: OAuth 2.0

Авторизация по OAuth 2.0 (authorization code flow) через СберБизнес ID. Платформа получает при подключении `client_id` и `client_secret`, перенаправляет пользователя на `/ic/sso/api/v2/oauth/authorize`, получает код на `redirect_uri` и обменивает его на `access_token`, `refresh_token` и `id_token`. Запросы к API передают токен в заголовке `Authorization`. `access_token` живёт 60 минут.

Дополнительно обязателен клиентский TLS-сертификат (mTLS) в формате PKCS#12 (.p12) и установленные корневые сертификаты УЦ Сбера и Минцифры России. Сертификат выпускается в личном кабинете Sber API (для песочницы — на вкладке «Песочница API»), действует 12 месяцев и только для одного `clientId`.

```
curl --location 'https://fintech-test.sberbank.ru:9443/fintech/api/v1/client-info' \
--header 'Accept: application/json' \
--header 'Authorization: {value}'
```

## Методы сценария

### GET /fintech/api/v2/statement/transactions — Выписка по счёту

Выписка по рублёвому или валютному счёту за выбранную дату, постранично. Требуется сервис `GET_STATEMENT_ACCOUNT`.

Пример ответа (сокращён):

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `accountNumber` | query | string | да | Номер счёта, 20 цифр |
| `statementDate` | query | string | да | Дата выписки, yyyy-MM-dd |
| `page` | query | integer | да | Номер страницы, начиная с 1 |
| `curFormat` | query | string | нет | Формат операции по валютному счёту |
| `Authorization` | header | string | да | Access token организации-клиента |
| `Accept` | header | string | нет | application/json или application/jose |

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

```
{
  "_links": [
    {
      "href": "?accountNumber=40702810500006103990&statementDate=2018-03-15&page=3",
      "rel": "string"
    }
  ],
  "transactions": [
    {
      "amount": { "amount": 1.01, "currencyName": "USD" },
      "amountRub": { "amount": 1.01, "currencyName": "USD" }
    }
  ]
}
```

### GET /fintech/api/v2/statement/summary — Сводная информация по выписке

Входящие и исходящие остатки и обороты за день. Требуется сервис `GET_STATEMENT_ACCOUNT`.

Пример ответа (сокращён):

| Параметр | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
| `accountNumber` | query | string | да | Номер счёта, 20 цифр |
| `statementDate` | query | string | да | Дата выписки, yyyy-MM-dd |
| `Authorization` | header | string | да | Access token организации-клиента |

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

```
{
  "closingBalance": { "amount": 1.01, "currencyName": "USD" },
  "composedDateTime": "2022-04-04T23:59:59",
  "creditTransactionsNumber": 1,
  "creditTurnover": { "amount": 1.01, "currencyName": "USD" }
}
```

## Нюансы

- Без клиентского TLS-сертификата (mTLS) запросы к API не проходят; тестовые сертификаты работают только в песочнице, у каждого `clientId` свой сертификат.
- `access_token` живёт 60 минут. Использованный `refresh_token` остаётся резервным 2 часа; если новая пара не дошла, повторите обновление с тем же `refresh_token` в течение часа.
- Каждый метод требует своего сервиса в `scope` ссылки авторизации (например `PAY_DOC_RU`, `GET_STATEMENT_ACCOUNT`, `GET_CLIENT_ACCOUNTS`).
- Платёжное поручение без `digestSignatures` создаётся черновиком. Порядок и количество полей дайджеста для подписи менять нельзя.
- Выписку запрашивают постранично начиная с первой страницы; доступна за 5 предыдущих лет и текущий год.
- В песочнице ответы зависят от тестовых данных: сценарии и фиксированные значения указаны на странице каждого метода. Нагрузочное тестирование в песочнице не предусмотрено.
- О финальном статусе платёжного поручения банк может сообщить вебхуком — без постоянного опроса статуса.
- Для работы с дочерними организациями в наборе «Холдингам» нужна отдельная пара токенов для каждой организации.
- У Sber API есть MCP-сервер для AI-агентов (набор «Компаниям»: рублёвое платёжное поручение, выписка, инкассация, НСО и депозиты), а документация доступна в формате llms.txt: `/sber-api/llms-full.txt`.

## Другие сценарии

- [Подключить организацию через СберБизнес ID](https://mcp-everything.ru/integrations/sberbusiness/scenarios/podklyuchit-organizatsiyu-cherez.md)
- [Создать платёжное поручение и узнать его статус](https://mcp-everything.ru/integrations/sberbusiness/scenarios/sozdat-platezhnoe-poruchenie-i-uznat-ego.md)

---

Если этого недостаточно — официальная документация: https://developers.sber.ru/docs/ru/sber-api/overview
Вся интеграция одним документом: https://mcp-everything.ru/integrations/sberbusiness.md
