Skip to content

Latest commit

 

History

History
262 lines (202 loc) · 10.6 KB

kuna-api-v2.md

File metadata and controls

262 lines (202 loc) · 10.6 KB

Описание Kuna API v2

Давным-давно. Когда Bitcoin стоил $600, а инфобизнесмены ходили в школу. Когда Виталик только мечтал о своем проекте, а криптовалюта для масс была лишь странной религией. Был запущен краудфандинг на создание биржи в Украине, и собрал краудфайндин в 2.7 раза больше необходимого, и была рождена биржа kuna.io. Биржа не была идеальной и на ней была лишь одна пара BTC/UAH, но она стала глотком свежего воздуха для всего криптосообщества Украины. Через биржу можно было с легкостью купить и продать криптовалюту в Украине. Никаких сложных форм KYC. Лишь кнопки Buy и Sell и стакан между ними. И это было прекрасно.

Уже тогда, что бы на биржу завести робота, который самостоятельно "нажимает" на Buy и Sell, было разработано Kuna API v2 - простой и понятный интерфейс для програмной работы с биржей. Эта документация все еще актуальна, но мы советуем переходить на API v3, так как скоро эта документация перестанет быть актуальной.

Добро пожаловать, в этот замысловатый мир технических терминов API v2!

Оглавление

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

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

https://kuna.io/api/v2/timestamp

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

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

https://kuna.io/api/v2/tickers/btcuah

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

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

https://kuna.io/api/v2/depth?market=btcuah

{
    "timestamp": временная метка
    "asks": массив ордеров на продажу
    [
        [цена, объём]
    ],
    "bids": массив ордеров на покупку
    [
        [цена, объём]
    ]
}

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

https://kuna.io/api/v2/trades?market=btcuah

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

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

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

Все пользовательские запросы должны содержать параметры access_keytonce и 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 — это и будет подписью для данного запроса

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

https://kuna.io/api/v2/members/me

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

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

POST https://kuna.io/api/v2/orders

Параметры:

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
}

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

POST https://kuna.io/api/v2/order/delete

Параметры:

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

Ответ:

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

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

GET https://kuna.io/api/v2/orders

Параметры:

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": количество сделок по ордеру
}]

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

GET https://kuna.io/api/v2/trades/my

Параметры:

market — btcuah

Ответ:

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