Валюты добавляются вручную и необходимы для создания направлений обмена. У каждой валюты должен быть как минимум код и XML-код.
/api/currenciesМетод: GET
Описание: Запрашивает список валют.
Права доступа: ✅ Открыт для всех.
Параметры:
onlyGive - загрузить только валюты, по которым есть активные направления Отдаю;onlyGet - загрузить только валюты, по которым есть активные направления Получаю.Ответ:
{
"type": "success",
"message": null,
"data": [
{
"id": 1,
"name": "Сбер RUB",
"code": "RUB",
"xmlCode": "SBERRUB",
"fidelity": 3,
"acctValidator": "RUB",
"acctChain": "CARDLUNA",
"isEnabled": true,
"payin": "manual",
"payinCode": "",
"payinChain": "",
"payout": "manual",
"payoutCode": "",
"payoutChain": ""
}
],
"action": null
}Подробности:
name - имя валюты;code - например, BTC или ETH, используется для поиска курса на биржах;xmlCode - нужен для выгрузки направлений в файл XML, когда обменник будет размещаться в каталогах. Список кодов;isEnabled - если валюта активна, то все направления с этой валютой тоже активны и отображаются на сайте в форме обмена;fidelity - точность, знаков после запятой - применяется для отображения суммы в данной валюте в панели управления и на сайте;acctValidator - код валюты для проверки адреса кошелька. Может принимать значения:
AUTO - перебор всех валют;RUB, USD, USDT, BTC, BTCB, BTG, BSV, BNB, BUSD, CAKE, ETH, DAI, LINK, UNI, MANA, SHIB, USDC, TUSD, WBTC, WETH, YFI, ZRX, SOL, ADA.acctChain - сеть для проверки адреса кошелька. Может принимать значения:
AUTO;CARDLUNA - алгоритм Луна для проверки пластиковых карт;ERC20, BEP20, TRC20, BTC, SOL, ADA - сети (блокчейны) криптовалют;payin - прием платежей в валюте, можно указать manual - ручной, или название биржи - bybit или mexc;payinCode - код валюты на бирже или пустая строка для ручного режима;payinChain - сеть валюты - например, BEP20, TRC20 на бирже или пустая строка для ручного режима;payout - отправка платежей в валюте, можно указать manual - ручной, или название биржи - bybit или mexc;payoutCode - код валюты;payoutChain - сеть валюты./api/currenciesМетод: DELETE
Описание: Удаляет валюты по id.
Права доступа: 🔴 isAdminPanel + isEditCurrency.
Параметры: ids - список валют.
Ответ: Ответ:
{
"type": "success",
"message": "Удалены валюты: Bitcoin",
"data": null,
"action": null
}/api/currencyМетод: PUT или POST
Описание: Добавляет новую валюту или изменяет существующую.
Права доступа: 🔴 isAdminPanel + isEditCurrency.
Запрос:
{
"id": 1,
"name": "Сбер RUB",
"code": "RUB",
"xmlCode": "SBERRUB",
"fidelity": "2",
"acctValidator": "RUB",
"acctChain": "CARDLUNA",
"isEnabled": true,
"payin": "manual",
"payinCode": "",
"payinChain": "",
"payout": "manual",
"payoutCode": "",
"payoutChain": ""
}Подробности:
name - имя валюты. Этот параметр обязателен;code - используется для поиска курса на биржах. Этот параметр обязателен;xmlCode - нужен для выгрузки направлений в файл XML, когда обменник будет размещаться в каталогах. Позволяет каталогу различать разные платежные системы. Желательно, чтобы XML-код соответствовал стандарту jsons.info. Например, если у вас есть 2 направления: Сбербанк RUB и Альфа-Банк RUB, то у них будут разные XML-коды SBERRUB и ACRUB, а код валюты будет одинаковый - RUB;isEnabled - принимает 2 значения: true, false. Если валюта активна, то все направления с этой валютой тоже активны и отображаются на сайте в форме обмена.fidelity - точность, знаков после запятой - применяется для отображения суммы в данной валюте в панели управления и на сайте. Например, для RUB достаточно 2 знаков, а для BTC - 6.acctValidator - код валюты для проверки адреса кошелька. Коды добавлены для удобства, а внутри всего несколько вариантов проверки. Может принимать значения: - пустая строка - отключить проверку;
AUTO - перебор всех валют;RUB, USD, USDT, BTC, BTCB, BTG, BSV, BNB, BUSD, CAKE, ETH, DAI, LINK, UNI, MANA, SHIB, USDC, TUSD, WBTC, WETH, YFI, ZRX, SOL, ADA.acctChain - сеть для проверки адреса кошелька. Может принимать значения:
AUTO;CARDLUNA - алгоритм Луна для проверки пластиковых карт;ERC20, BEP20, TRC20, BTC, SOL, ADA - сети (блокчейны) криптовалют.Ответ:
{
"type": "success",
"message": "Валюта Сбер RUB обновлена",
"data": {
"id": 1
},
"action": null
}В ответе отправляется id для того, чтобы после добавления новой валюты можно было сразу же, следующим запросом, задать доп.поля. А еще id используется для обновления контекста на фронте в React, чтобы не загружать все валюты заново.
/api/currencies/getValidatorsМетод: GET
Права доступа: 🟡 isAdminPanel.
Описание: Загружает список методов (валидаторов) для проверки адреса кошелька в формате "код валюты": "список сетей". Валидатор выявит ошибки - неполный адрес, неправильная последовательность символов.
Ответ:
{
"type": "success",
"message": null,
"data": {
"DAI": [
"AUTO",
"BEP20",
"ERC20"
],
"USDT": [
"AUTO",
"BEP20",
"ERC20",
"TRC20"
],
"USD": [
"CARDLUNA"
]
},
"action": null
}/api/currency/{id}/validate/{address}Метод: GET
Описание: Проверяет адрес кошелька на ошибки
Права доступа: ✅ Открыт для всех
Параметры:
id - id валюты;address - адрес для проверки.Запрос: GET api/currency/1/validate/567567
Ответ:
{
"type": "success",
"message": "Адрес неправильный",
"data": {
"isPassed": false
},
"action": null
}Подробности: isPassed - прошел ли данный адрес проверку.
Если валидатор не задан, получим:
Ответ:
{
"type": "warning",
"message": "Валидатор для валюты Евро не задан",
"data": null,
"action": null
}