Базовая структура JSON формата файла с экспортом курсов валют

Все начинается с такой конструкции:

Пробелы и отступы в примерах используются исключительно для удобства их восприятия.


Валюты

Затем указываем список из валют. Он должен состоять из пар номер валюты: сигнатура. Номер валюты не может быть 0, и должен состоять из чисел от 0 до 9, и/или букв от a до z. В качестве номера валюты можно использовать ее номер из БД или порядковый номер появления ее в файле (например: 1, 2, ..., 9, a, ..., z, 10, ..., 1a, ...).

Нужно указывать только те валюты, которые участвуют в обменах.

В примере ниже, показано как будет выглядеть список из таких валют: Perfect Money USD, Альфа-Банк RUB и Bitcoin.


Обмены

Следующим шагом будет указание обменов. В примере ниже указаны следующие обмены:

Как видно из примера, все обмены указываются строго в такой последовательности: exchange -> номер входящей валюты -> to -> номер исходящей валюты.

Только такая последовательность, никакой другой быть не должно.


Курсы

Каждый курс должен быть кратным 1, то есть либо 1 = Х, либо Х = 1, Х при этом должен быть числом, большим или равным 1. Как сделать курс кратным 1, описано здесь.

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

Курс указывается в файле согласно информации в таблице.

Курс Краткая форма Расширенная форма
Х = 1 Х {"xr": X}
1 = Х {"xr": -X}
1 = 1 1 {"xr": 1}

Количество знаков после запятой в курсе должно быть не более 6. Округление производить в меньшую сторону.

Все выше перечисленное можно увидеть в следующем примере с такими курсами обмена:

Расширенная форма курса в примере, указана только для демонстрации обеих форм, как должно быть на самом деле можно увидеть в примере к резервам.


Как курс сделать кратным?

Берем меньшее из двух чисел и делим на него каждое число курса. Например:


Резервы

Наконец, указываем резервы валют, они как и валюты, также указываются в виде списка. Он должен состоять из пар номер валюты: резерв. В качестве номера валюты, нужно указывать тот номер, под которым указана валюта в списке валют. В качестве резерва нужно указать тот объем валюты, который доступен для обмена.

Нулевые или отрицательные резервы не указываются. Отсутствие резерва само по себе означает, что его нет, он равен 0.

Количество знаков после запятой для криптовалют должно быть не более 8-ми, а для всех остальных не больше 2-х.

Иногда, возникает необходимость, указать индивидуальный резерв для конкретного обмена, в таком случае, его нужно указывать в amount, в информации к этому обмену, как в примере ниже.

В примере ниже, указаны следующие резервы: 945.54 Perfect Money USD, 12500 Альфа-Банк RUB и 0.67231509 Bitcoin, а также 300 Perfect Money USD, для конкретного обмена Альфа-Банк RUB на Perfect Money USD.


Что делать дальше?

На этой странице описана базовая струкутра файла с экспортом курсов валют но, очень часто, нужно добавлять в файл больше информации по обменам. Вам нужно обратиться к меню в правой колонке, что бы узнать, какую дополнительную информацию по обменам можно еще указать.