Публичные методы


Время на сервере биржи



1465845534 — временная метка в юникс-формате



Последние данные по рынку


{
    "at": время на сервере,
    "ticker": {
        "buy": цена биткоина на покупку,
        "sell": цена биткоина на продажу,
        "low": наименьшая цена сделки за 24 часа,
        "high": наибольшая цена сделки за 24 часа,
        "last": цена последней сделки,
        "vol": объём торгов в базовой валюте за 24 часа,
        "amount": общая стоимость торгов в котируемое валюте за 24 часа
    }
}



Биржевой стакан


{
    "asks": массив ордеров на продажу
    [{ 
        "id": идентификатор ордера,
        "side": всегда sell,
        "ord_type": тип ордера — limit или market,
        "price": цена за биткоин,
        "avg_price": средняя цена сделки по ордеру,
        "state": состояние ордера — всегда wait,
        "market": идентификатор рынка,
        "created_at": время выставления ордера,
        "volume": объём сделки в биткоинах,
        "remaining_volume": незаполненное количество биткоинов,
        "executed_volume": проданное количество биткоинов,
        "trades_count": количество сделок по данному ордеру
    }],

    "bids": массив ордеров на покупку
    [{
        "id": идентификатор ордера,
        "side": всегда buy,
        "ord_type": тип ордера — limit или market,
        "price": цена за биткоин,
        "avg_price": средняя цена сделки по ордеру,
        "state": состояние ордера — всегда wait,
        "market": идентификатор рынка,
        "created_at": время выставления ордера,
        "volume": объём сделки в биткоинах,
        "remaining_volume": незаполненное количество биткоинов,
        "executed_volume": купленное количество биткоинов,
        "trades_count": количество сделок по ордеру
    }]
}


История торгов


[{
    "id": идентификатор сделки,
    "price": цена за биткоин,
    "volume": объём в биткоинах,
    "funds": объём в гривнах,
    "market": идентификатор рынка,
    "created_at": время сделки,
    "side": всегда null
}]




Пользовательские методы


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

Все пользовательские запросы должны содержать параметры access_key, tonce и signature.
Например: https://kuna.io/api/v2/members/me?access_key=dV6vEJe1CO&tonce=1465850766246&signature=secret

access_key — публичная часть API-токена, которая отображается в кабинете в разделе API
tonce — временная метка в юникс-формате с миллисекундами
signature — подпись


Подпись генерируется по алгоритму HEX(HMAC-SHA256("HTTP-verb|URI|params", secret_key))

HTTP-verb — это GET или POST
URI — стока запроса без домена
params — отсортированные параметры, включая access_key и tonce, но без подписи
secret_key — секретная часть API-токена


Например, запрос для получения истории торгов пользователя:

HEX(
    HMAC-SHA256(
        "GET|/api/v2/trades/my|access_key=dV6vEJe1CO&market=btcuah&tonce=1465850766246",
        "AYifzxC3Xo"
    )
)

Результат выполнения этой функции: 33a694498a2a70cb4ca9a7e28224321e20b41f10217604e9de80ff4ee8cf310e — это и будет подписью для данного запроса


Информация о пользователе и активах



{
    "email": электронная почта,
    "activated": активирован ли акаунт,
    "accounts": массив активов
    [{
        "currency": валюта,
        "balance": доступная сумма,
        "locked": заблокированная сумма
    }]
}


Выставление ордера




Параметры:

side — buy или sell
volume — объём ордера в биткоинах
market — btcuah
price — цена за один биткоин


Ответ:

{
    "id": идентификатор ордера,
    "side": buy или sell,
    "ord_type": тип ордера — limit или market,
    "price": цена за биткоин,
    "avg_price": средняя цена сделки по ордеру, для нового ордера — 0,
    "state": состояние ордера, для нового ордера — wait,
    "market": идентификатор рынка,
    "created_at": время выставления ордера,
    "volume": выставленный объём в биткоинах,
    "remaining_volume": незаполненное количество биткоинов,
    "executed_volume": заполненное количество биткоинов, для нового ордера — 0,
    "trades_count": количество торгов по ордеру, для нового ордера — 0
}



Отмена ордера




Параметры:

id — идентификатор ордера


Ответ:

{
    "id": идентификатор ордера,
    "side": buy или sell,
    "ord_type": тип ордера — limit или market,
    "price": цена за биткоин,
    "avg_price": средняя цена сделки по ордеру,
    "state": состояние ордера — весгда wait,
    "market": идентификатор рынка,
    "created_at": время выставления ордера,
    "volume": объём сделки в биткоинах,
    "remaining_volume": незаполненное количество биткоинов,
    "executed_volume": заполненное количество биткоинов,
    "trades_count": количество сделок по ордеру
}



Активные ордера пользователя



Параметры:

market — btcuah


Ответ:

[{
    "id": идентификатор ордера,
    "side": buy или sell,
    "ord_type": тип ордера— limit или market,
    "price": цена за биткоин,
    "avg_price": средняя цена сделки по ордеру,
    "state": состояние ордера — всегда wait,
    "market": идентификатор рынка,
    "created_at": время выставления ордера,
    "volume": объём сделки в биткоинах,
    "remaining_volume": оставшееся количество биткоинов,
    "executed_volume": купленное количество биткоинов,
    "trades_count": количество сделок по ордеру
}]




История сделок пользователя




Параметры:

market — btcuah


Ответ:

[{
    "id": идентификатор сделки,
    "price": цена за биткоин,
    "volume": объём в биткоинах,
    "funds": объём в гривнах,
    "market": идентификатор рынка,
    "created_at": время сделки,
    "side": bid или ask
}]