Начало
Работа по API доступна по всем валютным парам, которые есть на криптовалютной бирже BTC TRADE BY
.Название валютной пары в url-е формируется по аналогии
btc_uah - пара BitCoin(BTC) к гривне(BYN)
ltc_uah - пара LitCoin(LTC) к гривне(BYN)
ppc_btc - пара Peercoin(PPC) к BitCoin(BTC)
.Наша реализация всех API вызовов( SDK ) на языке python так же доступна для скачивания btc_trade_ua.py
Авторизация
Для приватных операций на бирже необходимо быть авторизированным.
Механизм авторизации запроса производится путем добавления в запрос
HTTP-заголовка(header) - api_sign и public_key, или добавление одного заголовка token , который вы получаете посресдтвом запроса /api/auth
public_key - это публичный ключ из вашего личного кабинета ,
api_sign SHA256 хеш от строки - конкатенации вашего post запроса и вашего private_key из личного кабинета,
Типовый запрос баланса из командной строки при помощи команды curl :
curl -k -i -H "api_sign: 9925916858e6361ffb88fc0b71d763355ea979e3ac62a6acaa8fe4a8ba548abf" -H "public_key: 9e6ea26cc7314d6dea8359f8ed5de68b2b5f0ec8daa0d5eac96b86d2b44ada38" --data "out_order_id=2&nonce=1" -v /api/balance
Или cформировать POST запрос на url: /api/auth для получение временного token - время жизни token 7200 секунды
Важно так же, что при этом запросе происходит переустановка nonce
Запрос должен содержать http загаловки:
public_key - это публичный ключ из вашего личного кабинета ,
api_sign SHA256 хеш от строки - конкатенации вашего post запроса и вашего private_key из личного кабинета,
Типовый запрос из командной строки при помощи команды curl :
curl -k -i -H "api_sign: 9925916858e6361ffb88fc0b71d763355ea979e3ac62a6acaa8fe4a8ba548abf" -H "public_key: 9e6ea26cc7314d6dea8359f8ed5de68b2b5f0ec8daa0d5eac96b86d2b44ada38" --data "out_order_id=2&nonce=1" -v /api/auth
Результатом запроса будет :
{"status": true, "token": "blabla","nonce": 2}
JSON - объект с полем token, временный авторизационный токен на 7200 секунды, для выполнения всех торговых операций, в случае неудачи поле status будет равно false
Получение баланса
Необходимо cформировать POST запрос на url: /api/balance
С POST параметром out_order_id равным произвольному значению и параметром nonce равный любому целочисленному числу,
большем, чем значение, которое вы использовали в прошлом запросе.
Авторизация происходит путем добавление HTTP загаловков public_key и api_sign или token из запроса auth.
Формирование этих заголовков описано здесь.
Типовый запрос из командной строки при помощи команды curl:
curl -k -i -H "api_sign: 9925916858e6361ffb88fc0b71d763355ea979e3ac62a6acaa8fe4a8ba548abf" -H "public_key: 9e6ea26cc7314d6dea8359f8ed5de68b2b5f0ec8daa0d5eac96b86d2b44ada38" --data "out_order_id=2&nonce=1" -v /api/balance
Результатом запроса будет :
{"msg_count": 0, "accounts": [{"currency": "BYN", "balance": "1744.2104180000"}, {"currency": "BTC", "balance": "0.1205538600"}, {"currency": "LTC", "balance": "1.0266850207"}, {"currency": "NVC", "balance": "0.0000000000"}, {"currency": "DRK", "balance": "0.0000000000"}, {"currency": "VTC", "balance": "0.0000000000"}, {"currency": "PPC", "balance": "0.0000000000"}, {"currency": "HIRO", "balance": "999.5000000000"}], "notify_count": 0}
JSON - объект с полем accounts, содержащим список счетов по каждой ваюте. Внимание! Параметр out_order_id является обязательным и должен быть добавлен к каждому POST запросу, он должен быть уникальным.
Создание заявки на продажу
Для этого необходимо cформировать POST запрос на url на нужный рынок вам. Например url для
продажи на валютной паре LiteCoin/Гривна /api/sell/ltc_uah
,С POST параметрами:
count: 0.8851641964
price: 55
out_order_id: 5
nonce : 10
Где :
nonce - целочисленней инкремент, больше чем предыдущее значение
count - количество монет для продажи
price - цена из расчета за одну монету
out_order_id - внешний идентификатор, принимающий произвольное значение уникальное значение
И HTTP загаловками :
public_key - публичный ключ
api_sign - хеш SHA256 от тела POST запроса с добавлением приватного ключа в конце:
или вместо public_key и api_sign token из запроса auth.
count=0.8851641964&nonce=10&price=55&out_order_id=5$privat_key
$privat_key - ваш приватный ключ из личного кабинет
Запрос при помощи команды curl:
curl -k -i -H "api_sign: 652167fcdc3d0f55cacd4f2eea27e2f2512669126b2ddf5b5cbdbd8e18c23592" -H "public_key: 9e6ea26cc7314d6dea8359f8ed5de68b2b5f0ec8daa0d5eac96b86d2b44ada38" --data "count=0.8851641964&price=55&out_order_id=5&nonce=10" -v /api/sell/ltc_uah
В случае успеха ответом будет JSON объект вида :
{"status": true, "description": "The order has been created", "order_id": 1 }
order_id - будет содержать внутренний идентификатор в системе, по которому можно будет проверить состояние вашей заявки
В случае неуспешного запроса ответом будет JSON объект вида :
{"status": false, "description": "Not enough funds"}
description - будет содержать описание ошибки,
Создание заявки на покупку
Для этого необходимо cформировать POST запрос на url на нужный вам рынок. Например url для
покупки на валютной паре LiteCoin/Гривна /api/buy/ltc_uah,
С POST параметрами:
count: 1
price: 60
out_order_id: 6
nonce : 11
Где :
nonce - целочисленней инкремент, больше чем предыдущее значение
count - количество монет для продажи
price - цена из расчета за одну монету
out_order_id - внешний идентификатор, принимающий произвольное значение уникальное значение
И HTTP загаловками :
public_key - публичный ключ
api_sign - хеш SHA256 от тела POST запроса с добавлением приватного ключа в конце:
count=1&nonce=11&price=60&out_order_id=6$privat_key
, аглоритм описан выше
или вместо public_key и api_sign token из запроса auth.
Запрос при помощи команды curl:
curl -k -i -H "api_sign: 652167fcdc3d0f55cacd4f2eea27e2f2512669126b2ddf5b5cbdbd8e18c23592" -H "public_key: 9e6ea26cc7314d6dea8359f8ed5de68b2b5f0ec8daa0d5eac96b86d2b44ada38" --data "count=1&price=60&out_order_id=11&nonce=11" -v /api/sell/ltc_uah
В случае успеха ответом будет JSON объект вида :
{"status": true, "description": "The order has been created", "order_id": 1 }
order_id - будет содержать внутренний идентификатор в системе, по которому можно будет проверить состояние вашей заявки
В случае неуспешного запроса ответом будет JSON объект вида :
{"status": false, "description": "Not enough funds"}
description - будет содержать описание ошибки,
Статуса выполнения заявки
Для провеки статуса выполнения заявок необходимо сформировать POST запрос на url:
/api/order/status/$order_id, где $order_id - внутренний идентификатор, который вы получили при создании заявки.
out_order_id: 7777
nonce : 13
Где :
nonce - целочисленней инкремент, больше чем предыдущее значение
out_order_id - внешний идентификатор, принимающий произвольное значение уникальное значение
И HTTP загаловками :
public_key - публичный ключ
api_sign - хеш SHA256 от тела POST запроса с добавлением приватного ключа в конце:
nonce=13&out_order_id=7777$privat_key
, аглоритм также описан выше
или вместо public_key и api_sign token из запроса auth.
Запрос при помощи команды curl:
curl -k -i -H "api_sign: 652167fcdc3d0f55cacd4f2eea27e2f2512669126b2ddf5b5cbdbd8e18c23592" -H "public_key: 9e6ea26cc7314d6dea8359f8ed5de68b2b5f0ec8daa0d5eac96b86d2b44ada38" --data "out_order_id=7777&nonce=13" -v /api/order/status/$order_id
В случае успеха ответом будет JSON объект вида :
{"status": "processing", "sum2_history": "1538.2358440000", "currency1": "BTC", "sum2": "1538.2358440000", "sum1": "0.2848584896", "currency2": "BYN", "sum1_history": "0.2848584896", "pub_date": "2014-10-18 19:40:20", "id": "4624"}
status - принимает значение processing - в работе, processed - выполнена, canceled - отменена
sum1_history - заявочная сумма продажи
sum2_history - заявочная сумма покупки
sum1 - оставшаяся сумма продажи
sum2 - оставшаяся сумма покупки
currency1 - валюта продажи
currency2 - валюта покупки
id - идентификатор заявки
pub_date - дата формирование заявки
unixtime - дата формирования заявки в формате unixtime
Удаление заявки на продажу/покупку
Для провеки статуса выполнения заявок необходимо сформировать запрос на url:
/api/remove/order/$order_id, где $order_id - внутренний идентификатор, который вы получили при создании заявки.
С POST параметрами
out_order_id: 90
nonce: 14
Где :
out_order_id - внешний идентификатор, принимающий произвольное значение
nonce - целочисленней инкремент
И HTTP загаловками :
public_key - публичный ключ
api_sign - хеш SHA256 от тела POST запроса с добавлением приватного ключа в конце:
nonce=14&out_order_id=90$privat_key
или вместо public_key и api_sign token из запроса auth.
Запрос при помощи команды curl:
curl -k -i -H "api_sign: 652167fcdc3d0f55cacd4f2eea27e2f2512669126b2ddf5b5cbdbd8e18c23592" -H "public_key: 9e6ea26cc7314d6dea8359f8ed5de68b2b5f0ec8daa0d5eac96b86d2b44ada38" --data "out_order_id=90&nonce=14" -v /remove/order/$order_id
В случае успеха ответом будет JSON объект вида :
{"status": true}
В случае неуспешного запроса
{"status": false, "description":"somethin interesting"}
Список ваших открытых заявок
Для получения ваших заявок на покупку и продажу на рынке LTC/BYN необходимо сформировать POST запрос на url :
/api/my_orders/ltc_uah
С POST параметрами
out_order_id: 91
nonce: 15
Где :
out_order_id - внешний идентификатор, принимающий произвольное значение
nonce - целочисленней инкремент
И HTTP загаловками :
public_key - публичный ключ
api_sign - хеш SHA256 от тела POST запроса с добавлением приватного ключа в конце:
nonce=15&out_order_id=91$privat_key
или вместо public_key и api_sign token из запроса auth.
Запрос при помощи команды curl:
curl -k -i -H "api_sign: 652167fcdc3d0f55cacd4f2eea27e2f2512669126b2ddf5b5cbdbd8e18c23592" -H "public_key: 9e6ea26cc7314d6dea8359f8ed5de68b2b5f0ec8daa0d5eac96b86d2b44ada38" --data "out_order_id=91&nonce=15" -v /api/my_orders/ltc_uah
В случае успеха ответом будет JSON объект вида :
{"your_open_orders": [{"amnt_base": "1538.2358440000","unixtime": 1557839116, "pub_date": "Oct. 18, 2014, 7:40 p.m.", "price": "5400.0000000000", "sum2": "1538.2358440000", "sum1": "0.2848584896", "amnt_trade": "0.2848584896", "type": "sell", "id": 4624}, {"amnt_base": "1159.4200000000", "unixtime": 1557839116, "pub_date": "Oct. 14, 2014, 8:57 p.m.", "price": "5800.0000000000", "sum2": "1159.4200000000", "sum1": "0.1999000000", "amnt_trade": "0.1999000000", "type": "sell", "id": 4405}, {"amnt_base": "1258.3137610000","unixtime": 1557839116, "pub_date": "Oct. 10, 2014, 9:18 p.m.", "price": "6200.0000000000", "sum2": "1258.3137610000", "sum1": "0.2029538324", "amnt_trade": "0.2029538324", "type": "sell", "id": 4052}], "balance_buy": "0.0000396100", "auth": true, "balance_sell": "0.0000000000"}
Поле your_open_orders содержит список ваших открытых заявок на покупку/продажу.
id - идентификатор заявки
type - типа покупка - buy, продажа - sell
amnt_trade - сумма в валюте торга
amnt_base - сумма в базовой валюте
price - цена из расчета за одну единицу валюты торга
unixtime - дата формирования заявки в формате unixtime
Изменение цены заявки, что уже есть
Для исполнения запроса необходимо послать запрос на url:
/api/move/order/$order_id/$price , де $order_id - внутренний идентификатор заявки ,а $price - новая цена
З POST параметрами
out_order_id: 91
nonce: 15
где:
out_order_id - внешний идентификатор, который принимает любое значение
nonce - целочисленней инкремент
І HTTP заголовками:
public_key - публичный ключ
api_sign - хеш SHA256 от тела запроса POST запроса с добавлением приватного ключа в конце строки:
nonce=14&out_order_id=90$privat_key
или вместо public_key и api_sign token из запроса auth.
Запрос при помощи команды curl:
curl -k -i -H "api_sign: 652167fcdc3d0f55cacd4f2eea27e2f2512669126b2ddf5b5cbdbd8e18c23592" -H "public_key: 9e6ea26cc7314d6dea8359f8ed5de68b2b5f0ec8daa0d5eac96b86d2b44ada38" --data "out_order_id=91&nonce=15" -v /move/order/$order_id/$price
В случае успех API вернет json :
{ "status": true, decription:"Order moved"}
В случае неуспешного запроса:
{ "status": false, "description": "can't move order"}
Список ваших сделок
Для получения ваших закрытых сделок на рынке LTC/BYN необходимо сформировать POST запрос на url :
/api/my_deals/ltc_uah
С POST/GET параметрами
out_order_id: 92
nonce: 16
ts: 2019-01-01
ts1: 2019-01-14
Где :
out_order_id - внешний идентификатор, принимающий произвольное значение
nonce - целочисленней инкремент
ts - стартовая дата поиска сделок в формате YYYY-MM-DD
ts1 - конечная дата поиска сделок в формате YYYY-MM-DD
* максимальный период поиска 14 дней!
И HTTP загаловками :
public_key - публичный ключ
api_sign - хеш SHA256 от тела POST запроса с добавлением приватного ключа в конце:
ts1=2019-01-01&ts1=2019-01-14&out_order_id=92$privat_key
или вместо public_key и api_sign token из запроса auth.
Запрос при помощи команды curl:
curl -k -i -H "api_sign: 652167fcdc3d0f55cacd4f2eea27e2f2512669126b2ddf5b5cbdbd8e18c23592" -H "public_key: 9e6ea26cc7314d6dea8359f8ed5de68b2b5f0ec8daa0d5eac96b86d2b44ada38" --data "ts1=2019-01-01&ts1=2019-01-14&out_order_id=92" -v /api/my_deals/ltc_uah
В случае успеха ответом будет JSON список вида :
[{"amnt_base": "1538.2358440000", "unixtime":123123124, "pub_date": "Oct. 18, 2014, 7:40 p.m.", "price": "5400.0000000000", "sum2": "1538.2358440000", "amnt_trade": "0.2848584896","unixtime":123123114, "amnt_base": "2100.00", "type": "sell", "order_id": 4624}, {"amnt_base": "1159.4200000000", "pub_date": "Oct. 14,"unixtime":123123322, 2014, 8:57 p.m.", "price": "5800.0000000000", "sum2": "1159.4200000000", "amnt_trade": "0.1999000000","unixtime":123124444, "amnt_base": "9990.00", "type": "sell", "order_id": 4405}, {"amnt_base": "1258.3137610000", "pub_date": "Oct. 10, 2014, 9:18 p.m.","unixtime":1235553124, "price": "6200.0000000000", "sum2": "1258.3137610000", "amnt_trade": "0.2029538324", "amnt_base": "2029.00","unixtime":1235553124, "type": "sell", "order_id": 4052}]
Каждый элемент содержи:
order_id - идентификатор заявки в системе
unixtime - дата сделки в формате unixtime
pub_date - дата сделки в humanfriendly формате
type - тип сделки sell - продажа актива, покупка-актива
ts - стартовая дата поиска сделок в формате YYYY-MM-DD
ts1 - конечная дата поиска сделок в формате YYYY-MM-DD
amnt_trade - сумма актива
amnt_base - сумма в базовой валюте
Список сделок по валютной паре
Для получения закрытых сделок на рынке LTC/BYN необходимо сформировать POST/GET запрос на url :
/api/deals/ltc_uah
С параметрами
ts: 2019-01-01
ts1: 2019-01-14
Где
ts - стартовая дата поиска сделок в формате YYYY-MM-DD
ts1 - конечная дата поиска сделок в формате YYYY-MM-DD
* максимальный период поиска 3 дня!
Запрос при помощи команды curl:
curl -k -i -v /api/deals/ltc_uah?ts1=2019-01-01&ts1=2019-01-14
В случае успеха ответом будет JSON список вида :
[{"amnt_base": "1538.2358440000", "unixtime":123123124, "pub_date": "Oct. 18, 2014, 7:40 p.m.", "price": "5400.0000000000", "sum2": "1538.2358440000", "amnt_trade": "0.2848584896","unixtime":123123114, "amnt_base": "2100.00", "type": "sell", "order_id": 4624}, {"amnt_base": "1159.4200000000", "pub_date": "Oct. 14,"unixtime":123123322, 2014, 8:57 p.m.", "price": "5800.0000000000", "sum2": "1159.4200000000", "amnt_trade": "0.1999000000","unixtime":123124444, "amnt_base": "9990.00", "type": "sell", "order_id": 4405}, {"amnt_base": "1258.3137610000", "pub_date": "Oct. 10, 2014, 9:18 p.m.","unixtime":1235553124, "price": "6200.0000000000", "sum2": "1258.3137610000", "amnt_trade": "0.2029538324", "amnt_base": "2029.00","unixtime":1235553124, "type": "sell", "order_id": 4052}]
Каждый элемент содержи:
user - участник сделки
order_id - идентификатор заявки в системе
unixtime - дата сделки в формате unixtime
pub_date - дата сделки в humanfriendly формате
type - тип сделки sell - продажа актива, покупка-актива
ts - стартовая дата поиска сделок в формате YYYY-MM-DD
ts1 - конечная дата поиска сделок в формате YYYY-MM-DD
amnt_trade - сумма актива
amnt_base - сумма в базовой валюте
Получение рыночных цен на бирже(ticker)
GET или POST запрос на url /api/ticker или по конкретной валютной паре /api/ticker/btc_uah:
В случае успеха ответом будет JSON объект вида :
{"ppc_btc": {"sell": "0.0001000000", "currency_trade": "PPC", "buy_usd": "0.0000024242", "buy": "0.0000640000", "last": "0", "updated": 1557839625, "vol": "0", "sell_usd": "0.0000037879", "last_usd": "0", "currency_base": "BTC", "vol_cur": "0", "high": "0", "low": "0", "vol_cur_usd": "0", "avg": "0", "usd_rate": "26.4"}, "ltc_uah": {"sell": "2365.7900473179", "currency_trade": "LTC", "buy_usd": "89.0799242424", "buy": "2351.7100000000", "last": "2351.7000705788", "updated": 1557839624, "vol": "42.1833040200", "sell_usd": "89.6132593681", "last_usd": "89.0795481280", "currency_base": "BYN", "vol_cur": "98404.9326127300", "high": "2444.0000000000", "low": "2230.0120003353", "vol_cur_usd": "3727.4595686640", "avg": "88.3151128263", "usd_rate": "26.4"}, "dash_btc": {"sell": "0.0270000000", "currency_trade": "DASH", "buy_usd": "0.0006250000", "buy": "0.0165000000", "last": "0", "updated": 1557839625, "vol": "0", "sell_usd": "0.0010227273", "last_usd": "0", "currency_base": "BTC", "vol_cur": "0", "high": "0", "low": "0", "vol_cur_usd": "0", "avg": "0", "usd_rate": "26.4"}, "iti_uah": {"sell": "89.8880000000", "currency_trade": "ITI", "buy_usd": "2.4621212125", "buy": "65.0000000100", "last": "94.8999999200", "updated": 1557839628, "vol": "20.6572876800", "sell_usd": "3.4048484848", "last_usd": "3.5946969667", "currency_base": "BYN", "vol_cur": "1623.2445543400", "high": "95.0054288817", "low": "63.0500000000", "vol_cur_usd": "61.4865361492", "avg": "3.1432376235", "usd_rate": "26.4"}, "xrp_uah": {"sell": "10.1880000000", "currency_trade": "XRP", "buy_usd": "0.3712500045", "buy": "9.8010001200", "last": "10.2999999899", "updated": 1557839630, "vol": "39225.1470891700", "sell_usd": "0.3859090909", "last_usd": "0.3901515148", "currency_base": "BYN", "vol_cur": "372659.8772071400", "high": "10.4000000000", "low": "8.3029999972", "vol_cur_usd": "14115.9044396644", "avg": "0.3560413773", "usd_rate": "26.4"}, "xem_uah": {"sell": "1.7500000000", "currency_trade": "XEM", "buy_usd": "0.0613636385", "buy": "1.6200000570", "last": "1.7500000000", "updated": 1557839629, "vol": "6825.8230057700", "sell_usd": "0.0662878788", "last_usd": "0.0662878788", "currency_base": "BYN", "vol_cur": "11228.3680067100", "high": "1.7500000000", "low": "1.4800000000", "vol_cur_usd": "425.3169699511", "avg": "0.0623055556", "usd_rate": "26.4"}, "sib_uah": {"sell": "2.1997000000", "currency_trade": "SIB", "buy_usd": "0.0776515152", "buy": "2.0500000000", "last": "2.2000000001", "updated": 1557839627, "vol": "2854.2261699100", "sell_usd": "0.0833219697", "last_usd": "0.0833333333", "currency_base": "BYN", "vol_cur": "6222.7295729500", "high": "2.2000007851", "low": "2.1000009999", "vol_cur_usd": "235.7094535208", "avg": "0.0824191987", "usd_rate": "26.4"}, "nvc_btc": {"sell": "0.0001400000", "currency_trade": "NVC", "buy_usd": "0.0000038409", "buy": "0.0001014000", "last": "0", "updated": 1557839625, "vol": "0", "sell_usd": "0.0000053030", "last_usd": "0", "currency_base": "BTC", "vol_cur": "0", "high": "0", "low": "0", "vol_cur_usd": "0", "avg": "0", "usd_rate": "26.4"}, "btc_uah": {"sell": "210028.9300000000", "currency_trade": "BTC", "buy_usd": "7922.0632575758", "buy": "209142.4700000000", "last": "209142.4699987822", "updated": 1557839624, "vol": "13.6708084500", "sell_usd": "7955.6412878788", "last_usd": "7922.0632575296", "currency_base": "BYN", "vol_cur": "2788720.8108155299", "high": "265509.0000000000", "low": "102386.0000000000", "vol_cur_usd": "105633.3640460428", "avg": "7719.6795911582", "usd_rate": "26.4"}, "krb_uah": {"sell": "2.6600000000", "currency_trade": "KRB", "buy_usd": "0.0946973485", "buy": "2.5000100000", "last": "2.6599999996", "updated": 1557839628, "vol": "8988.9617412700", "sell_usd": "0.1007575758", "last_usd": "0.1007575757", "currency_base": "BYN", "vol_cur": "23167.1264527300", "high": "2.6800000148", "low": "2.3500000000", "vol_cur_usd": "877.5426686640", "avg": "0.0956165818", "usd_rate": "26.4"}, "btc_usdt": {"sell": "8400.0000000000", "currency_trade": "BTC", "buy_usd": "231.3636363636", "buy": "6108.0000000000", "last": "7900.0222080464", "updated": 1557839630, "vol": "0.0078239600", "sell_usd": "318.1818181818", "last_usd": "299.2432654563", "currency_base": "USDT", "vol_cur": "62.2888000000", "high": "8399.8803009576", "low": "7899.9796937252", "vol_cur_usd": "2.3594242424", "avg": "304.1657742631", "usd_rate": "26.4"}, "zec_uah": {"sell": "1749.8990000000", "currency_trade": "ZEC", "buy_usd": "65.7095833333", "buy": "1734.7330000000", "last": "1733.0000000000", "updated": 1557839629, "vol": "43.0883898600", "sell_usd": "66.2840530303", "last_usd": "65.6439393939", "currency_base": "BYN", "vol_cur": "70543.6647013700", "high": "1794.4402054692", "low": "1350.9999962279", "vol_cur_usd": "2672.1085114155", "avg": "62.0887967235", "usd_rate": "26.4"}, "dash_uah": {"sell": "3579.0000000000", "currency_trade": "DASH", "buy_usd": "130.9469696971", "buy": "3457.0000000033", "last": "3579.0000000000", "updated": 1557839626, "vol": "1.5562522100", "sell_usd": "135.5681818182", "last_usd": "135.5681818182", "currency_base": "BYN", "vol_cur": "5392.2563858000", "high": "3579.0002245842", "low": "3361.0000000000", "vol_cur_usd": "204.2521358258", "avg": "132.0318429949", "usd_rate": "26.4"}, "status": true, "ltc_btc": {"sell": "0.0124000000", "currency_trade": "LTC", "buy_usd": "0.0003939394", "buy": "0.0104000000", "last": "0", "updated": 1557839625, "vol": "0", "sell_usd": "0.0004696970", "last_usd": "0", "currency_base": "BTC", "vol_cur": "0", "high": "0", "low": "0", "vol_cur_usd": "0", "avg": "0", "usd_rate": "26.4"}, "bnb_uah": {"sell": "888.0000000000", "currency_trade": "BNB", "buy_usd": "21.2121212125", "buy": "560.0000000100", "last": "0", "updated": 1557839630, "vol": "0", "sell_usd": "33.6363636364", "last_usd": "0", "currency_base": "BYN", "vol_cur": "0", "high": "0", "low": "0", "vol_cur_usd": "0", "avg": "0", "usd_rate": "26.4"}, "doge_uah": {"sell": "0.0750000000", "currency_trade": "DOGE", "buy_usd": "0.0027958337", "buy": "0.0738100100", "last": "0.0750000000", "updated": 1557839626, "vol": "2348387.6437619701", "sell_usd": "0.0028409091", "last_usd": "0.0028409091", "currency_base": "BYN", "vol_cur": "169700.8997027500", "high": "0.0750000000", "low": "0.0684220000", "vol_cur_usd": "6428.0643826799", "avg": "0.0027296637", "usd_rate": "26.4"}, "tlr_uah": {"sell": "0.0560000000", "currency_trade": "TLR", "buy_usd": "0.0017803030", "buy": "0.0470000000", "last": "0.0560000000", "updated": 1557839629, "vol": "11331.7115229600", "sell_usd": "0.0021212121", "last_usd": "0.0021212121", "currency_base": "BYN", "vol_cur": "593.1616228500", "high": "0.0573000003", "low": "0.0430100000", "vol_cur_usd": "22.4682432898", "avg": "0.0019977919", "usd_rate": "26.4"}, "nvc_uah": {"sell": "26.0000000000", "currency_trade": "NVC", "buy_usd": "0.6439393965", "buy": "17.0000000670", "last": "20.3967620433", "updated": 1557839625, "vol": "33.2105202200", "sell_usd": "0.9848484848", "last_usd": "0.7726046229", "currency_base": "BYN", "vol_cur": "677.3870782600", "high": "20.3967620433", "low": "20.3967620433", "vol_cur_usd": "25.6586014492", "avg": "0.7726046229", "usd_rate": "26.4"}, "eth_uah": {"sell": "5349.3003744830", "currency_trade": "ETH", "buy_usd": "201.0375080411", "buy": "5307.3902122839", "last": "5327.2607392607", "updated": 1557839629, "vol": "278.7616986800", "sell_usd": "202.6250141850", "last_usd": "201.7901795175", "currency_base": "BYN", "vol_cur": "1452455.4387280999", "high": "5415.0000000000", "low": "4850.9999981297", "vol_cur_usd": "55017.2514669735", "avg": "197.9710251264", "usd_rate": "26.4"}, "fno_uah": {"sell": "0.0692990000", "currency_trade": "FNO", "buy_usd": "0.0023484848", "buy": "0.0620000000", "last": "0", "updated": 1557839630, "vol": "0", "sell_usd": "0.0026249621", "last_usd": "0", "currency_base": "BYN", "vol_cur": "0", "high": "0", "low": "0", "vol_cur_usd": "0", "avg": "0", "usd_rate": "26.4"}, "etc_uah": {"sell": "164.0000000000", "currency_trade": "ETC", "buy_usd": "5.9284469697", "buy": "156.5110000000", "last": "164.0000000607", "updated": 1557839629, "vol": "274.6719801200", "sell_usd": "6.2121212121", "last_usd": "6.2121212144", "currency_base": "BYN", "vol_cur": "44013.5389274400", "high": "171.9900000109", "low": "154.0010000000", "vol_cur_usd": "1667.1795048273", "avg": "6.0985680400", "usd_rate": "26.4"}, "bch_uah": {"sell": "10500.0000000000", "currency_trade": "BCH", "buy_usd": "364.6212121212", "buy": "9626.0000000000", "last": "9626.0000000000", "updated": 1557839629, "vol": "16.8839242600", "sell_usd": "397.7272727273", "last_usd": "364.6212121212", "currency_base": "BYN", "vol_cur": "169659.2393375500", "high": "10694.9989999333", "low": "9149.9999392638", "vol_cur_usd": "6426.4863385436", "avg": "379.3988679036", "usd_rate": "26.4"}, "doge_btc": {"sell": "0.0000003600", "currency_trade": "DOGE", "buy_usd": "0.0000000129", "buy": "0.0000003401", "last": "0", "updated": 1557839626, "vol": "0", "sell_usd": "0.0000000136", "last_usd": "0", "currency_base": "BTC", "vol_cur": "0", "high": "0", "low": "0", "vol_cur_usd": "0", "avg": "0", "usd_rate": "26.4"}, "usdt_uah": {"sell": "26.5789990000", "currency_trade": "USDT", "buy_usd": "0.9886360227", "buy": "26.0999910000", "last": "26.5789990031", "updated": 1557839630, "vol": "170.4257071000", "sell_usd": "1.0067802652", "last_usd": "1.0067802653", "currency_base": "BYN", "vol_cur": "4439.3437120500", "high": "26.5789990031", "low": "25.8200010095", "vol_cur_usd": "168.1569587898", "avg": "0.9869010320", "usd_rate": "26.4"}, "xmr_uah": {"sell": "2244.0000000000", "currency_trade": "XMR", "buy_usd": "76.6291666667", "buy": "2023.0100000000", "last": "2042.9396569810", "updated": 1557839629, "vol": "5.6877826700", "sell_usd": "85.0000000000", "last_usd": "77.3840779159", "currency_base": "BYN", "vol_cur": "11893.1605383500", "high": "2285.0000003383", "low": "1999.9997851836", "vol_cur_usd": "450.4985052405", "avg": "79.9384334811", "usd_rate": "26.4"}}
Объект с ключами -название рынка, а значение объект со значениями:
Цена продажи валюты торга -
"sell": "1600.0000000000",
Цена покупки валюты торга -
"buy": "1401.0000000000",
Цена последней сделки -
"last": "1421.0000000000",
Unixtime обновления данных -
"updated": 1517248441,
Цена продажи валюты торга в долларовом эквиваленте - "sell_usd": "57.1428571400",
Цена покупки валюты торга в долларовом эквиваленте -
"buy_usd": "50.0357142900",
Цена последней сделки в долларовом эквиваленте -
"last_usd": "50.0357142900",
Максимальная цена за 24 часа -
"high": "1769.0000000000",
Минимальная цена за 24 часа -
"low": "1401.0000000000",
Объем торгов в базовой валюте в долларовом эквиваленте - "vol_cur_usd": "188.7439966000",
Объем торгов в валюте торга за 24 часа
"vol": "3.7035610000",
Объем торгов в базовой валюте за 24 часа
"vol_cur": "5284.8319050000",
Валюта торга -
"currency_trade": "ITI",
Валюта базовая-
"currency_base": "BYN",
Средняя цена за 24 часа -
"avg": "53.6405328900",
Наш локальный курс :) -
"usd_rate": "28"
Список заявок на продажу валюты
Запрос на получение списка заявок на продажу валюты торга в выбраной валютной паре :
Результатом работы данного запроса будет объект,содержащий информацию о заявках на продажу валюты торга( в данном случае валютной пары BitCoin/ Гривна) в формате JSON:
{"min_price": "4910.0000000000", "list": [{"currency_trade": "0.0092000000", "price": "4910.0000000000", "currency_base": "45.1720000000"}, {"currency_trade": "0.0323484400", "price": "5000.0000000000", "currency_base": "161.7422000000"}, {"currency_trade": "0.0400000000", "price": "5400.0000000000", "currency_base": "216.0000000000"}, {"currency_trade": "2.0797893000", "price": "5500.0000000000", "currency_base": "11438.8410000000"}, {"currency_trade": "1.5000000000", "price": "5678.0000000000", "currency_base": "8517.0000000000"}, {"currency_trade": "0.0023348400", "price": "6100.0000000000", "currency_base": "14.2425240000"}, {"currency_trade": "0.2029538324", "price": "6400.0000000000", "currency_base": "1298.9045270000"}, {"currency_trade": "3.4808297160", "price": "6600.0000000000", "currency_base": "22973.4761300000"}, {"currency_trade": "0.2431990000", "price": "7000.0000000000", "currency_base": "1702.3930000000"}, {"currency_trade": "0.1000000000", "price": "7400.0000000000", "currency_base": "740.0000000000"}, {"currency_trade": "0.1500000000", "price": "7600.0000000000", "currency_base": "1140.0000000000"}, {"currency_trade": "0.0700000000", "price": "9999.0000000000", "currency_base": "699.9300000000"}, {"currency_trade": "0.0020000000", "price": "40100.0000000000", "currency_base": "80.2000000000"}], "orders_sum": "7.9126550000", "max_price": "40100.0000000000"}
min_price - минимальная цена в списке заявок
list - список заявок на продажу содежащий объекты заявок.
orders_sum - сумма всех заявок на продажу в валюте торга
max_price - максимальная цена в списке заявок
Объект заявок состоит из:
currency_trade - сумма на продажу в валюте торга
price - цена из расчета за одну целую единицу валюты торга
currency_base - сумма сделки в базовой валюте
Список заявок на покупку валюты
Запрос на получение списка заявок на покупку валюты торга в выбраной валютной паре :
Результатом работы данного запроса будет объект, содержащий информацию о заявках на покупку валюты торга( в данном случае валютной пары BitCoin/ Гривна) в формате JSON:
{"min_price": "4910.0000000000", "list": [{"currency_trade": "0.0092000000", "price": "4910.0000000000", "currency_base": "45.1720000000"}, {"currency_trade": "0.0323484400", "price": "5000.0000000000", "currency_base": "161.7422000000"}, {"currency_trade": "0.0400000000", "price": "5400.0000000000", "currency_base": "216.0000000000"}, {"currency_trade": "2.0797893000", "price": "5500.0000000000", "currency_base": "11438.8410000000"}, {"currency_trade": "1.5000000000", "price": "5678.0000000000", "currency_base": "8517.0000000000"}, {"currency_trade": "0.0023348400", "price": "6100.0000000000", "currency_base": "14.2425240000"}, {"currency_trade": "0.2029538324", "price": "6400.0000000000", "currency_base": "1298.9045270000"}, {"currency_trade": "3.4808297160", "price": "6600.0000000000", "currency_base": "22973.4761300000"}, {"currency_trade": "0.2431990000", "price": "7000.0000000000", "currency_base": "1702.3930000000"}, {"currency_trade": "0.1000000000", "price": "7400.0000000000", "currency_base": "740.0000000000"}, {"currency_trade": "0.1500000000", "price": "7600.0000000000", "currency_base": "1140.0000000000"}, {"currency_trade": "0.0700000000", "price": "9999.0000000000", "currency_base": "699.9300000000"}, {"currency_trade": "0.0020000000", "price": "40100.0000000000", "currency_base": "80.2000000000"}], "orders_sum": "7.9126550000", "max_price": "40100.0000000000"}
min_price - минимальная цена в списке заявок на покупку
list - список заявок на покупку содежащий объекты заявок.
orders_sum - сумма всех заявок на покупку в базовой валюте ( в данном случае Гривна)
max_price - максимальная цена в списке заявок на покупку
Объект заявок состоит из:
currency_trade - сумма покупки в валюте торга
price - цена из расчета за одну целую единицу валюты торга
currency_base - сумма сделки в базовой валюте
Получение стоимости покупки
Для получение стоимости покупки определенной суммы актива, исходя из текущих заявок на продажу
необходимо отправить GET/POST запрос на url /api/ask/btc_uah?is_api=1&amount=0.5
С POST/GET параметрами
amount: сумма покупки
В случае успеха ответом будет JSON объект вида :
{"status": true, "start_price": "209499.9899999999", "avarage_price": "209499.9992840095", "end_price": "209500.0000000000", "got_sum": "104749.9996420047", "buy_sum": "0.5000000000", "orders": [{"sum": "0.0238663500", "cost_sum": "5000.0000863365", "price": "209499.9899999999"}, {"sum": "0.0119331700", "cost_sum": "2499.9989956683", "price": "209499.9899999999"}, {"sum": "0.4642004800", "cost_sum": "97250.0005600000", "price": "209500.0000000000"}]}
status - результат запроса true или false
avarage_price - средневзвешенная цена покупки
min_price - минимальная цена в выборке
max_price - максимальная цена в выборке
got_sum - сумма к оплате в базовой валюте
buy_sum - сумма покупки актива валюты торга
orders - список ордеров которые покроет заявка
Получение стоимости продажи
Для получение стоимости продажи определенной суммы актива, исходя из текущих заявок на покупку
необходимо отправить GET/POST запрос на url /api/bid/btc_uah?is_api=1&amount=0.5
С POST/GET параметрами
amount: сумма продажи
В случае успеха ответом будет JSON объект вида :
{"status": true, "start_price": "207001.0299999999", "cost_sum": "102705.2711044534", "sell_sum": "0.5000000000", "avarage_price": "205410.5422089068", "avarate_price": "205410.5422089068", "end_price": "204004.5899999999", "orders": [{"sum": "0.0242011000", "price": "207001.0299999999", "got_sum": "5009.6526271330"}, {"sum": "0.0242011000", "price": "207001.0100000000", "got_sum": "5009.6521431110"}, {"sum": "0.0100000000", "price": "207001.0100000000", "got_sum": "2070.0101000000"}, {"sum": "0.0202536300", "price": "207001.0000000000", "got_sum": "4192.5216636300"}, {"sum": "0.0631255800", "price": "207000.0000000000", "got_sum": "13066.9950599999"}, {"sum": "0.0359089100", "price": "206602.2019999999", "got_sum": "7418.8598774198"}, {"sum": "0.0121400000", "price": "206000.0000000000", "got_sum": "2500.8400000000"}, {"sum": "0.0037307400", "price": "206000.0000000000", "got_sum": "768.5324400000"}, {"sum": "0.0085000000", "price": "205640.6520000000", "got_sum": "1747.9455420000"}, {"sum": "0.0158000000", "price": "205640.6300000000", "got_sum": "3249.1219540000"}, {"sum": "0.0100500000", "price": "205513.4400000000", "got_sum": "2065.4100720000"}, {"sum": "0.0350000000", "price": "205100.0000000000", "got_sum": "7178.5000000000"}, {"sum": "0.0300030000", "price": "205002.2019999999", "got_sum": "6150.6810666060"}, {"sum": "0.0020000000", "price": "205001.0000000000", "got_sum": "410.0020000000"}, {"sum": "0.0428929000", "price": "204600.0000000000", "got_sum": "8775.8873399999"}, {"sum": "0.0042500000", "price": "204600.0000000000", "got_sum": "869.5500000000"}, {"sum": "0.0100000000", "price": "204005.0000000000", "got_sum": "2040.0500000000"}, {"sum": "0.1479430400", "price": "204004.5899999999", "got_sum": "30181.0592185536"}]}
status - результат запроса true или false
avarage_price - средневзвешенная цена продажи из расчета за одну монету
min_price - минимальная цена в выборке заявок
max_price - максимальная цена в выборке заявок
sell_sum - сумма актива продажи
cost_sum - сумма вырученная за сделку
orders - список ордеров которые покроет заявка
Пополнения кошелька
Для получения адреса пополнения криптовалют необходимо сделать POST запрос на url:
C POST параметрами:
out_order_id: 1931
nonce: 14
C HTTP заголовками:
public_key - публичный ключ
api_sign - хеш SHA256 от тела POST запроса с добавлением приватного ключа в конце, см. выше
или вместо public_key и api_sign token из запроса auth.
В случае успеха метод вернет словарь с ключами:
ext_info - уникальный идентификатор обязательный для пополнения некоторых криптовалют(если такой нужен XMR)
status - True (если запрос успешен)
account - адрес кошелька для пополнения
help - информация о количестве подверждений сети необходимых для зачисления на баланс
API инвойсов
Это api преднозначено для создание инвойсов на оплату при помощи
криптовалюты с зачислением на ваш баланс на бирже
может принимать как post параметры(по умолчанию) так и json,
при передачи json необходимо обязательно передать http заголовок content-type: application/json.
{ "phone":"+380973426666", "email":"phpdev@gmail.com", "name":"bodgan chayja", "title":"test title", "description":"test title", "currency":"btc", "order":"test1", "flexible":0, "amnt":5.0, "server_url_notify":"https://yourserver.com/checkout_order", "url_return":"https://yourserver./checkout_order_page", "expire_date": “yyyy-mm-dd hh:mm:ss” }
параметры запроса :
"phone" - телефон клиента, можно оставлять пустую строку
"email" - email клиента , можно оставлять пустую строку
"name" - имя клиента , можно оставлять пустую строку
"title" - название позиции продажи, можно оставлять пустую строку
"description" - описание продажи, можно оставлять пустую строку
"currency" - валюта, обязательное поле
"order" - идентификатор заказа мерчанта, должно быть уникальным для каждого заказа,
"flexible":0 - всегда 0, обязательное поле
"amnt": - сумма заказа ,
"server_url_notify” - url для передачи данных об изменении состояния заказа, обязательное поле
"url_return" - url возврата клиента, обязательное поле
"expire_date": - дата истечении актуальности заказа, если не задано, то будет выставлена, как текущая дата плюс два часа.
и http загаловками :
api_sign - хеш сумма sha256, сформированная от тела post запроса будь то
данные application/json или application/x-www-form-urlencoded с добавлением приватного ключа в конце.
public_key - публичный ключ мерчанта
если запрос выполнился корректно то результатом работы будет http ответ
со статусом 200 и телом в формате json, если есть заголовок http
accept: application/json или в формате html страницы, если заголовок не передан.
объект json c полями :
"status" - статус состояния заказа может принимать значения
processing - заказ в работе,
canceled - заказ отменен - истекло время ожидания платежа
false - заказ не принят из-за ошибки, описание ошибки в поле
description, так же при статусе false все поля кроме
description будут отсутствовать...
"ref" - уникальный идентификатор запроса в системе
"invoice_page" - url html страницы заказа на сайте chainblock-ru.ru
"phone" - телефон клиента
"email" - email клиента
"name" - имя клиента
"title" - название заказа
"description" - описание заказа
"currency" - валюта
"order" - идентификатор заказа мерчанта
"flexible":0 - всегда 0
"amnt": - сумма заказа
"server_url_notify” - url для передачи данных об изменении состояния заказа
"url_return" - url возврата клиента
expire_date: - дата истечения актуальности заказа
pub_date: - дата формирования заказа
после удачного формирования заказа( status не false) в случае
оплаты или истечения времени ожидания оплаты, система посылает
http запросы в формат json на url, который был указан в поле server_url_notify.
"status" - статус состояния заказа может принимать значения
processing - заказ в работе,
canceled - заказ отменен - истекло время ожидания платежа
"ref" - уникальный идентификатор запроса в системе
"invoice_page" - url html страницы заказа на сайте chainblock-ru.ru
"phone" - телефон клиента
"email" - email клиента
"name" - имя клиента
"title" - название заказа
"description" - описание заказа
"currency" - валюта
"order" - идентификатор заказа мерчанта
"flexible":0 - всегда 0
"amnt": - сумма заказа
"server_url_notify” - url для передачи данных об изменении состояния заказа
"url_return" - url возврата клиента
expire_date: - дата истечения актуальности заказа
pub_date: - дата формирования заказа
И HTTP загаловками :
api_sign - хеш сумма sha256, сформированная от тела post запроса добавлением приватного ключа в конце.
пример подписи : ‘{“status”: “proсessing” ...}$private_key’
public_key: публичный ключ мерчанта
API вызов проверки статуса заказа
POST : /checkout/status
В качестве параметра передать $order - цифробуквенное значение, которое мерчант передал системе при формировании заказа.
И HTTP загаловками :
api_sign - хеш сумма sha256, сформированная от тела post запроса добавлением приватного ключа в конце.
пример подписи : ‘{“order”: “$order” ...}$private_key’ public_key: публичный ключ мерчанта
API Вывод криптовалюты
POST url:/checkout/send
Мы должны передать POST параметры:
out_order_id - внешний идентификатор, принимающий произвольное значение
nonce - целочисленней инкремент
currency - валюта для вывода
wallet - адрес кошелька на который хотим осуществить вывод
amnt - сумма перевода
payment_id - обязательный параметр для некоторых валют (KRB, XRP ,XEM, XMR)
И HTTP заголовками:
security_password: равен шестизначному цифровому коду, который является результатом функции от времени и дополнительного ключа для вывода, которая работает по алгоритму TOTP. Дополнительный ключ вывода можно получить в личном кабинете.
Внимание!!! Чтобы данное АПИ работало, необходимо настроить ip, с которых будет возможно обращаться к нему.
api_sign - хеш сумма sha256, сформированная от тела post запроса добавлением приватного ключа в конце.
public_key: публичный ключ мерчанта
В случае успешного добавления в очередь выводов вернется JSON: {"ref": order_id }
Проверка статуса вывода
POST url:/checkout/send/status
Мы должны передать POST параметры:
out_order_id - внешний идентификатор, принимающий произвольное значение
nonce - целочисленней инкремент
ref - id которая система присвоила выводу.
И HTTP заголовками:
security_password: равен шестизначному цифровому коду, который является результатом функции от времени и дополнительного ключа для вывода, которая работает по алгоритму TOTP. Дополнительный ключ вывода можно получить в личном кабинете.
Внимание!!! Чтобы данное АПИ работало, необходимо настроить ip, с которых будет возможно обращаться к нему.
api_sign - хеш сумма sha256, сформированная от тела post запроса добавлением приватного ключа в конце.
public_key: публичный ключ мерчанта
В случае успеха будет возвращен JSON, где:
account - адрес для вывода
confirms - количество подверждений сети
description - описание
crypto_txid - хеш транзакции
comission - комиссия
payment_id - уникальный идентификатор
amnt - сумма
currency - валюта
pub_date - дата вывода
status - статус