Перейти к содержимому
Последнее обновление

История баланса

Журнал всех движений баланса компании: пополнения, списания за ордера, заморозки, возвраты, операции по картам. Это источник правды для сверки — именно здесь видно, когда деньги действительно двигались.

Endpoint

GET /wallets/balance-history?limit=50&before=2026-08-14T00:00:00Z

Параметры

ПараметрТипОписание
operationTypestringТочное совпадение по типу операции
fromISO datetimeТолько записи с createdAt >= from
toISO datetimeТолько записи с createdAt <= to
limitinteger1–200, по умолчанию 50
beforeISO datetimeКурсор: записи с createdAt < before

Даты без времени считаются началом суток по UTC: to=2026-08-14 не включит записи 14 августа — передавайте время явно. Некорректная дата — 400 BAD_REQUEST.

Пример

curl 'https://b2b.lumowallet.io/wallets/balance-history?from=2026-08-01&limit=100' \
  -H 'X-API-Key: YOUR_API_KEY'
{
  "entries": [
    {
      "id": "7f2b12a4-5c3d-4e6f-8a9b-0c1d2e3f4a5b",
      "createdAt": "2026-08-14T10:00:00.000Z",
      "operationType": "order_success_settlement",
      "referenceId": "660e8400-e29b-41d4-a716-446655440001",
      "balanceBefore": 1052.63,
      "balanceAfter": 1000,
      "deltaBalance": -52.63,
      "frozenBefore": 52.63,
      "frozenAfter": 0,
      "deltaFrozen": -52.63,
      "metadata": { "amountUsdt": 52.63 }
    }
  ]
}

Как читать запись

  • balanceBefore / balanceAfter / deltaBalance — баланс компании до и после операции и его изменение.
  • frozenBefore / frozenAfter / deltaFrozen — то же для замороженной суммы. Заморозка не списание: средства ещё ваши, но недоступны, пока ордер или заявка в работе. Доступно к тратам balance − frozen.
  • operationType — что произошло, см. таблицы ниже.
  • referenceId — к чему относится запись. Что именно в нём лежит, зависит от типа операции — см. колонку referenceId в таблицах.
  • metadata — подробности операции: суммы, связанные id. Состав зависит от типа и может пополняться.

Запись появляется, только когда баланс или заморозка действительно изменились.

Типы операций

Депозиты

operationTypeОписаниеreferenceId
company_deposit_creditДепозит на адрес компании зачислен на балансid компании
company_deposit_fee_chargeКомиссия за обработку депозита на кошелёк пользователяid депозита пользователя

Ордера

operationTypeОписаниеreferenceId
order_frozen_increaseСумма ордера заморожена при acceptid ордера
order_success_settlementОрдер прошёл, сумма списанаid ордера
order_failed_unfreezeОрдер не прошёл, заморозка снята (списания не было)id ордера
order_failed_refund_after_successУже списанная сумма возвращенаid ордера
order_success_settlement_after_failedОплата пришла после истечения срока: ордер из failed перешёл в success, сумма списана (заморозка была снята раньше)id ордера
order_success_settlement_after_disputeДиспут закрыт в пользу платежа, списание подтвержденоid ордера
order_partial_refundЧастичный возврат по исполненному ордеру от платёжной стороны — без смены статуса ордераid ордера
dispute_resolve_refundДиспут решён возвратом: сумма вернулась или снята заморозкаid ордера
dispute_resolve_partial_refundДиспут решён частичным возвратомid ордера
dispute_resolve_confirmДиспут отклонён, списание подтвержденоid ордера

Карты

operationTypeОписаниеreferenceId
card_request_freezeРезерв под выпуск картываш Idempotency-Key из POST /cards/request
card_opening_fee_debitКарта выдана: комиссия за выпуск списана, резерв снятid карты
card_request_releaseРезерв снят без выпуска: запрос на выпуск не прошёл, или повтор вернул уже выданную картуid карты или пусто
card_request_cancel_releaseЗаявка отменена, резерв снятid заявки
card_recharge_debitСписание за пополнение картыid карты
card_recharge_refund_bridge_errorЭквайер сразу отклонил пополнение, списание возвращеноid карты
card_recharge_failed_refundПополнение не прошло, средства возвращеныid пополнения
card_recharge_refundВозврат после успешного пополненияid пополнения
card_closure_refundОстаток закрытой карты за вычетом комиссии возвращён на балансid карты

Выплаты

operationTypeОписаниеreferenceId
payout_chargeСписание при создании выплатыid выплаты
payout_refundВыплата не состоялась, средства возвращеныid выплаты
payout_refund_reversalВыплату после возврата всё же исполнили — сумма списана повторноid выплаты

Служебные

operationTypeОписаниеreferenceId
admin_balance_topupРучное пополнение баланса администратором Lumoid компании
company_balance_updateРучная корректировка без указанного типапусто

:::note Не завязывайтесь на закрытый список

Список типов пополняется, поэтому не считайте неизвестный operationType ошибкой — показывайте его как есть, а логику стройте на deltaBalance / deltaFrozen.

:::

Выгрузка в CSV

GET /wallets/balance-history.csv?from=2026-08-01T00:00:00Z&to=2026-08-14T23:59:59Z

Отдаёт файл со всеми записями за период (а не одной страницей), с теми же фильтрами operationType / from / to — до 50 000 последних записей. UTF-8 с BOM — Excel открывает кириллицу корректно, имя файла приходит в Content-Disposition.

curl -OJ 'https://b2b.lumowallet.io/wallets/balance-history.csv?from=2026-08-01' \
  -H 'X-API-Key: YOUR_API_KEY'

Колонки: createdAt, operationType, deltaBalance, balanceAfter, deltaFrozen, frozenAfter, referenceId, metadata.

Пагинация

Курсорная: берёте createdAt последней записи и передаёте в before следующего запроса. Ответ короче limit — значит конец. Для выгрузки за период используйте CSV: он не постраничный.

Права

Нужно право balance.read.