Skip to Content
Форматы транзакцийТекстовый формат

Спецификация YPBankText Text File Format

Общие сведения

Формат файла YPBankText представляет собой текстовую структуру, используемую для хранения записей о транзакциях в системе YPBank. Каждый файл состоит из последовательных записей о транзакциях. Формат разработан таким образом, чтобы он был понятен пользователю и его было легко парсить программно.

Описание

Файл YPBank представляет собой текстовый файл, содержащий записи о транзакциях. Каждая запись представляет собой блок пар ключ-значение, разделенный пустой строкой. Запись содержит следующие обязательные поля:

  • TX_ID – неотрицательное целое число, идентифицирующее транзакцию.
  • TX_TYPE – тип транзакции: DEPOSIT, TRANSFER, или WITHDRAWAL.
  • FROM_USER_ID – неотрицательное целое число, идентифицирующее отправитель счета (используйте 0 для DEPOSIT).
  • TO_USER_ID – неотрицательное целое число, идентифицирующее получателя счета (используйте 0 для WITHDRAWAL).
  • AMOUNT – неотрицательное целое число, представляющее сумму в наименьшей единице валюты.
  • TIMESTAMP – Unix epoch timestamp в миллисекундах.
  • STATUS – состояние транзакции: SUCCESS, FAILURE, или PENDING.
  • DESCRIPTION – произвольное текстовое описание, UTF-8 в двойных кавычках.

Дополнительно:

  • Поля могут располагаться в любом порядке.
  • Каждое поле встречается ровно один раз.
  • Записи о транзакциях разделяются пустыми строками.
  • Файл может содержать однострочные комментарии, которые начинаются с ”#”; эти строки игнорируются при парсинге.

Examples

Пример содержимого файла YPBank:

# Record 1 (Deposit) TX_ID: 1234567890123456 TX_TYPE: DEPOSIT FROM_USER_ID: 0 TO_USER_ID: 9876543210987654 AMOUNT: 10000 TIMESTAMP: 1633036800000 STATUS: SUCCESS DESCRIPTION: "Terminal deposit" # Record 2 (Transfer) TX_ID: 2312321321321321 TIMESTAMP: 1633056800000 STATUS: FAILURE TX_TYPE: TRANSFER FROM_USER_ID: 1231231231231231 TO_USER_ID: 9876543210987654 AMOUNT: 1000 DESCRIPTION: "User transfer" # Record 3 (Withdrawal) TX_ID: 3213213213213213 AMOUNT: 100 TX_TYPE: WITHDRAWAL FROM_USER_ID: 9876543210987654 TO_USER_ID: 0 TIMESTAMP: 1633066800000 STATUS: SUCCESS DESCRIPTION: "User withdrawal"
Last updated on