Skip to Content

Спецификация CSV-формата YPBank

Обзор

Файл формата — это текстовый файл с разделителями-запятыми (CSV), предназначенный для хранения данных о транзакциях. Файл имеет строгую структуру: обязательная строка заголовка и последующие строки, каждая из которых представляет одну транзакцию.

Структура файла

Кодировка

Файл должен быть в кодировке UTF-8.

Заголовок

Первая строка файла всегда должна содержать заголовок с именами полей. Заголовок должен точно соответствовать следующей строке:

TX_ID,TX_TYPE,FROM_USER_ID,TO_USER_ID,AMOUNT,TIMESTAMP,STATUS,DESCRIPTION

Записи данных

Каждая строка после заголовка представляет одну транзакцию. Поля в строке разделены запятыми. Пустые строки в файле игнорируются парсером.

Описание полей

Имя поляТип данныхОписание
TX_IDцелое (64-бит)Уникальный идентификатор транзакции.
TX_TYPEстрокаТип транзакции. Возможные значения: DEPOSIT, TRANSFER, WITHDRAWAL.
FROM_USER_IDцелое (64-бит)Идентификатор пользователя-отправителя. Для системных пополнений (DEPOSIT) может быть 0.
TO_USER_IDцелое (64-бит)Идентификатор пользователя-получателя. Для системных списаний (WITHDRAWAL) может быть 0.
AMOUNTцелое (64-бит)Сумма транзакции в наименьших единицах валюты (например, в центах).
TIMESTAMPцелое (64-бит)Время совершения транзакции в формате Unix-времени (миллисекунды с начала эпохи).
STATUSстрокаСтатус транзакции. Возможные значения: SUCCESS, FAILURE, PENDING.
DESCRIPTIONстрокаТекстовое описание транзакции. Это поле является последним в строке и всегда заключается в двойные кавычки (").

Пример

TX_ID,TX_TYPE,FROM_USER_ID,TO_USER_ID,AMOUNT,TIMESTAMP,STATUS,DESCRIPTION 1001,DEPOSIT,0,501,50000,1672531200000,SUCCESS,"Initial account funding" 1002,TRANSFER,501,502,15000,1672534800000,FAILURE,"Payment for services, invoice #123" 1003,WITHDRAWAL,502,0,1000,1672538400000,PENDING,"ATM withdrawal"
Last updated on