Документация и руководства Kuna.io

Добро пожаловать в центр разработки Kuna.io
Вы найдете исчерпывающие руководства и документацию, которые помогут вам как можно быстрее начать работать с Kuna.

Guides

Схема и сериализация данных в API

Запросы

Доступ к данным осуществляется через стандартные HTTPS запросы в кодировке UTF-8. Данные отправляются и принимаются в формате JSON.

Домен

Для всех методов, публичных или приватных, используется один домен

https://api.kuna.io

К примеру, URL для получения актуального ордербука

https://api.kuna.io/v3/book/{market}

где {market} это ключ пары: btcuah, kunbtc или другой

Заголовки (Headers)

Заголовки, которые нужны для успешного запроса.

Заголовок

Описание

t

Должен быть application/json

content-type

Только для методов где есть тело. Должен быть application/json

kun-nonce

Метка времени запроса. Указывается в формате Unix Time Stamp в милисекундах (ms). Только для приватных методов. |

kun-apikey

Публичный ключ вашего API Token. Только для приватных методов.

kun-signature

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

Подпись для приватных методов

Каждый приватный метод требует подписи. Подпись нужно указать в заголовке запроса под ключом kun-signature.

Она формируется по формуле

HEX (
    HMAC-SHA384(
      {apiPath} + {nonce} + JSON({body}),
      {secretKey}
    )
)

Где,

Значение

Описание

{apiPath}

Метод, к примеру /v3/auth/kuna_codes/count

{nonce}

Метка времени запроса. Указывается в формате Unix Time Stamp в милисекундах (ms). Это же значние должно быть и в заголовке под ключем kun-nonce

{body}

Данные, которые передаются в теле запроса. Должны быть в формате JSON. В случае GET методов, когда тело не передается, используется пустой JSON объект - {}.

{secretKey}

Приватный ключ вашего API Token

javascript
const crypto = require('crypto');

const publicKey = '';
const secretKey = '';

const apiPath = '/v3/auth/kuna_codes/issued-by-me';
const nonce = new Date().getTime();
const body = {};

const signatureString = `${apiPath}${nonce}${JSON.stringify(body)}`;

const signature = crypto
    .createHmac('sha384', secretKey)
    .update(signatureString)
    .digest('hex');

console.log(signature); // выводит подпись в HEX формате
<?php

$public_key = "";
$secret_key = "";

$api_path = "/v3/auth/kuna_codes/issued-by-me";
$nonce = strval(date_timestamp_get(date_create()));
$body = (object) array();

$signatureString =  $api_path.$nonce.json_encode($body); 

$signature = hash_hmac("sha384", $signatureString, $secret_key);
printf($signature); // выводит подпись в HEX формате
?>
bash
curl -X POST \
    https://api.kuna.io/v3/auth/kuna_codes/issued-by-me \
    -d '{}' \
    -H 'accept: application/json' \
    -H 'kun-nonce: 1560007410000' \
    -H 'kun-apikey: vPNvF9ArqV4HqMzpAIyaLvToJJ1x1rfRZP5jNrQf' \
    -H 'kun-signature: 0d34c19a5125d68fe2e7fb3a3b58e162cc53e166d1e7790deb5d79f6cb04aad1d5e01daeb3ecf8871c3b767a8ea289ea'

📘

Не пытайтесь использовать этот API Key. Он для примера :)

Updated 16 days ago


Схема и сериализация данных в API


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.