Получить все транзакции с параметрами


Метод: GET

Эндпоинт: /api/transactions

Авторизация

Нужно передавать jwt token в заголовках (headers):

Authorization: Bearer <access_token>

Формат ответа

{
  "createdBy": "system_user",
  "createdDate": "2024-01-01T12:00:00Z",
  "agentFeeAmount": 0,
  "amountRatio": 1,
  "category": "mobile_connection",
  "ccyRate": 100,
  "comment": "",
  "date": "2024-01-01T12:00:00Z",
  "eposMerchant": "-",
  "eposTerminal": "-",
  "gatewayAmount": 1000,
  "id": 123456789,
  "lastModifiedBy": "system_user",
  "lastModifiedDate": "2024-01-01T12:01:00Z",
  "main": true,
  "payType": "PAYMENT",
  "promo": null,
  "recipientAccount": "998901234567",
  "recipientAmount": 100000,
  "recipientBillId": 987654321,
  "recipientCcy": 860,
  "recipientDate": "2024-01-01T12:00:00Z",
  "recipientGateway": "external-gateway",
  "recipientName": "Provider Name",
  "recipientServiceId": 200001001,
  "recipientStatus": "true",
  "recipientStatusText": "Проведено успешно",
  "recipientSuccess": true,
  "recipientTrId": "99999999999",
  "requestAmount": 100000,
  "requestCcy": 860,
  "requestGroup": "mobile_app",
  "requestLogin": "mobile_app_user",
  "requestSubAccount": "mobile_app",
  "requestTrId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
  "roundAmount": 0,
  "senderAccount": "mobile_app_user",
  "senderAmount": 100000,
  "senderBean": null,
  "senderBillId": 0,
  "senderCcy": null,
  "senderDate": null,
  "senderGateway": "mobile_app",
  "senderName": "User FullName",
  "senderServiceId": 0,
  "senderStatus": null,
  "senderStatusText": null,
  "senderSuccess": null,
  "senderTrId": "aaaaaaaa-bbbb-cccc-dddd-eeeeeeeeeeee",
  "status": "SUCCESS",
  "systemCommissionDownAmount": 0,
  "systemCommissionUpAmount": 0,
  "systemCurrency": 860,
  "systemFee": 0,
  "systemFeeAmount": 0
}

Поля фильтрации

Поле
Тип
Объяснение

id

Long

Уникальный идентификатор транзакции

requestAmount

Long

Сумма запроса в валюте запроса (разрядность зависит от amountRatio агента)

requestCcy

Integer

Валюта запроса; набор допустимых значений может ограничиваться настройками агента

requestTrId

String

Идентификатор запроса, который присылает агент

requestLogin

String

Логин, от имени которого система обрабатывает запрос

senderAccount

String

Номер счёта/кошелька, с которого списываются средства

senderServiceId

Long

Идентификатор сервиса отправителя средств

senderAmount

Long

Сумма списания у отправителя (в валюте отправителя)

senderCcy

Integer

Валюта отправителя

senderTrId

String

Идентификатор транзакции в системе отправителя

senderSuccess

Boolean

Признак успешности запроса в системе отправителя

senderDate

Instant

Дата/время транзакции в системе отправителя; используется для сверок

senderStatus

String

Статус запроса в системе отправителя

senderGateway

String

Наименование/код шлюза отправителя

gatewayAmount

Double

Сумма в валюте получателя, рассчитанная gateway (до округления и/или комиссий)

recipientAccount

String

Номер счёта/кошелька получателя

recipientServiceId

Long

Идентификатор сервиса получателя

recipientAmount

Long

Сумма зачисления в валюте получателя

recipientCcy

Integer

Валюта получателя

recipientTrId

String

Идентификатор транзакции в системе получателя

recipientSuccess

Boolean

Признак успешности операции в системе получателя

recipientDate

Instant

Дата/время транзакции в системе получателя; используется для сверок

recipientStatus

String

Статус запроса в системе получателя

recipientBillId

Long

ID чека получателя (ссылка на запись в таблице bill)

recipientGateway

String

Наименование/код шлюза получателя

systemCommissionUpAmount

Long

Сумма комиссий системы, начисляемых сверху основной суммы

systemCommissionDownAmount

Long

Сумма комиссий системы, удерживаемых из основной суммы

status

TransactionStatus

date

Instant

Дата и время транзакции

payType

PayType

Тип платежа (enum PayType)

eposMerchant

String

Merchant ID для интеграции со SvGate

eposTerminal

String

Terminal ID для интеграции со SvGate

createdBy

String

Пользователь/сервис, создавший запись транзакции (поле аудита)

createdDate

Instant

Дата и время создания записи (поле аудита)

lastModifiedBy

String

Пользователь/сервис, последним изменивший запись (поле аудита)

lastModifiedDate

Instant

Дата и время последнего изменения записи (поле аудита)

Коды ответов

show all values

  • 200 OK — успешный ответ в json формате;

  • 401 Unauthorized — нет/просрочен токен, нужно заново обратится к нужным api что бы взять access/refresh token.

  • 403 Forbidden — недостаточно прав, нужно запросить права у админа.


Пример использования API

Базовый эндпоинт


Общий формат параметров

fieldName.OPERATION=VALUE

Например:


Операции фильтрации

1. Базовые операции (Filter)

Доступны для всех полей у которых типы: INTEGER, STRING, DATE, ENUM и т.д.

Операция
Описание
Пример

equals

Поле равно значению

status.equals=CHECK_OK

notEquals

Поле не равно значению

requestCcy.notEquals=860

specified

Поле задано/не задано (null/not null)

senderTrId.specified=false

in

Поле равно одному из значений списка

recipientCcy.in=860,840

notIn

Поле не равно ни одному из значений списка

payType.notIn=REFUND,TEST


2. Диапазонные операции (RangeFilter)

Диапазонные операции используются в полях для чисел и дат/времени.

Операция
Описание
Пример

greaterThan

Больше указанного значения

requestAmount.greaterThan=10000

lessThan

Меньше указанного значения

requestAmount.lessThan=1000000

greaterThanOrEqual

Больше либо равно

date.greaterThanOrEqual=2023-11-01T00:00:00Z

lessThanOrEqual

Меньше либо равно

date.lessThanOrEqual=2023-11-30T23:59:59Z

Для каких полей это работает

В контексте Transaction диапазонные операции применимы к следующим полям:

Числовые поля (суммы, курсы, комиссии):

  • id

  • requestAmount

  • requestCcy

  • senderServiceId

  • senderAmount

  • senderCcy

  • senderBillId

  • gatewayAmount

  • recipientServiceId

  • recipientAmount

  • recipientCcy

  • systemCommissionUpAmount

  • systemCommissionDownAmount

Примеры:


Поля даты/времени:

  • date — дата транзакции

  • senderDate — дата в системе отправителя

  • recipientDate — дата в системе получателя

  • а также аудит-поля, если участвую в критериях:

    • createdDate

    • lastModifiedDate

Для дат (Instant) значения нужно передавать в формате ISO 8601, например:

Примеры:


3. Строковые операции (StringFilter)

Строковые фильтры используются для текстовых полей, где значение — String. Они позволяют искать по подстроке, исключать подстроку, а также использовать обычные фильтры (equals, notEquals, in и т.д.).

Операция
Описание
Пример

equals

Значение поля равно указанному

recipientName.equals=ucell

notEquals

Значение поля НЕ равно указанному

senderAccount.notEquals=tojir_bank_mobile

specified

Поле задано (true) или отсутствует/null (false)

comment.specified=false

in

Значение поля одно из списка

recipientName.in=ucell,beeline,ums

notIn

Значение поля НЕ входит в список

category.notIn=test,debug

contains

Поле содержит указанную подстроку

recipientName.contains=cell

doesNotContain

Поле НЕ содержит указанную подстроку

category.doesNotContain=mobile

Для каких полей это работает

В контексте Transaction диапазонные операции применимы к следующим полям:

Строковые поля:

  • requestTrId

  • requestLogin

  • senderAccount

  • senderTrId

  • senderGateway

  • recipientAccount

  • recipientTrId

  • recipientGateway

  • eposMerchant

  • eposTerminal

Примеры:

Поиск по частичному совпадению (contains)


Исключение записей по подстроке (doesNotContain)


Поиск по статусу (частичным совпадением текста)


Поиск по точному совпадению (equals)


Поиск с исключением значения (notEquals)


Поиск из списка значений (in)


Исключение списка значений (notIn)

Last updated