Введение
API для внешней интеграции с биржей KickEX.
Authentication
Для аутентификации клиента и контроля целостности принимаемых сообщений к заголовкам запроса следует добавить следующие значения:
- KICK-API-KEY - сначала нужно создать новый API key, а затем передавать в запросах значение атрибута key.
- KICK-API-PASS - парольная фраза ключа API. Требования к пассфразе:
- длина не менее 20 символов, не более 160 символов
- наличие в парольной фразе строчных символов английского алфавита
- наличие в парольной фразе прописных символов английского алфавита
- наличие в парольной фразе цифр
- наличие в парольной фразе символов специальных символов !#$%^-=&*()@[].,:;
- отсутствие в парольной фразе иных символов включая пробелы
- KICK-API-TIMESTAMP - время формирования запроса в формате TIMESTAMP (unix timestamp, в секундах)
- KICK-SIGNATURE - цифровой отпечаток запроса
- User-Agent: любая строка
- Content-Type: application/json
base64_encode(hash_hmac("sha512", $api_secret,
hash_hmac("sha512", $body,
hash_hmac("sha512", $request_path,
hash_hmac("sha512", $method, $timestamp, true),
true),
true),
true));
Цифровой отпечаток запроса предназначен для контроля целостности получаемых сервером данных. В формировании цифрового отпечатка используется API Secret, который не передается от клиента к серверу в процессе работы с REST API. Цифровой отпечаток запроса создается на основе:
- времени (timestamp) формирования запроса;
- названия метода запроса (e.g. GET);
- пути запроса (e.g. /api/v1/deposit-addresses);
- тела запроса (e.g. period=5min&pairName=BTC/USDT&startTime=22814882323);
Market
Данный раздел описывает набор методов, передающих информацию о парах и криптовалютах на платформе.
Pairs
curl "https://gate.kickex.com/api/v1/market/pairs?type=market"
Команда выше вернёт структуру следующего вида:
{
"pairs": [
{
"pairName": "BTC/USDT",
"baseCurrency": "BTC",
"quoteCurrencу": "USDT",
"baseMinSIze": "0.0001",
"quoteMinSize": "0.0001",
"priceDecimal": 12,
"amountDecimal": 8,
"state": 0
},
{
"pairName": "BTC/KICK",
"baseCurrency": "BTC",
"quoteCurrencу": "KICK",
"baseMinSIze": "0.0001",
"quoteMinSize": "0.0001",
"priceDecimal": 12,
"amountDecimal": 8,
"state": 0
}
]
}
HTTP Запрос
GET https://gate.kickex.com/api/v1/market/pairs?type=market
Параметры URL
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
type | string | Да | Единственное корректное значение - 'market' |
Параметры ответа
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
pairName | string | Да | Наименование криптовалютной пары (пример: BTC/USDT) |
baseCurrency | string | Да | Наименование базовой криптовалюты (пример: BTC) |
quoteCurrencу | string | Да | Наименование котируемой криптовалюты (пример: USDT) |
baseMinSIze | string | Да | Минимальное кол-во базовой криптовалюты для выставления ордера |
quoteMinSize | string | Да | Минимальное количество котируемой криптовалюты для выставления ордера |
priceDecimal | Number | Да | Максимальное количество знаков после точки для пары при указании цены |
amountDecimal | Number | Да | Максимальное количество знаков после точки для пары при указании количества |
state | integer | Да | Индикатор, показывающий, доступна ли торговля по паре: 4 – доступна 1,2,3 – недоступна |
All Tickers
curl "https://gate.kickex.com/api/v1/market/allTickers"
Команда выше вернёт структуру следующего вида:
{
"tickers": [
{
"timestamp": 1588024908,
"pairName": "BTC/USDT",
"bestBid": "1234.1231",
"bestAsk": "1245.2847",
"changePrice": "21.2349",
"highestPrice": "1251.9328",
"lowestPrice": "1197.3821",
"baseVol": "198273982",
"quoteVol": "2348792",
"lastPrice": "1246.0231",
"priceDecimal": "4",
"lastVolume": "10000",
"bestAskVolume": "124990",
"bestBidVolume": "95830"
},
{
"timestamp": 1588024908,
"pairName": "BTC/ETH",
"bestBid": "1234.1231",
"bestAsk": "1245.2847",
"changePrice": "21.2349",
"highestPrice": "1251.9328",
"lowestPrice": "1197.3821",
"baseVol": "198273982",
"quoteVol": "2348792",
"lastPrice": "1246.0231",
"priceDecimal": "4",
"lastVolume": "10000",
"bestAskVolume": "124990",
"bestBidVolume": "95830"
}
]
}
HTTP Запрос
GET https://gate.kickex.com/api/v1/market/allTickers
Параметры URL
Отсутствуют.
Параметры ответа
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
timestamp | timestamp | Да | Время, на которое отображены данные в формате timestamp в мс |
pairName | string | Да | Наименование криптовалютной пары (В формате BTC/USDT) |
bestBid | string | Да | Лучший бид на текущий момент |
bestAsk | string | Да | Лучший аск на текущий момент |
changePrice | string | Да | Изменение цены относительно последней сделки в процентном отношении (+1,5%, например) |
highestPrice | string | Да | Наивысшая стоимость в паре за 24 часа |
lowestPrice | string | Да | Наименьшая стоимость в паре за 24 часа |
baseVol | string | Да | Объем торгов за 24 часа в базовой валюте пары (фаткически -кол-во) |
quoteVol | string | Да | Объем торгов за 24 часа в котируемой валюте пары |
lastPrice | string | Да | Последняя цена сделки в паре |
priceDecimal | string | Да | Количество знаков после точки для указания цены |
lastVolume | string | Да | Последний объем сделки |
bestAskVolume | string | Да | Количество криптовалюты по цене лучшего аска |
bestBidVolume | string | Да | Количество криптовалюты по цене лучшего бида |
24hrs stats
Метод возвращает данные по криптовалютной паре за последние 24 часа.
curl "https://gate.kickex.com/api/v1/market/stats24?pairName=BTC/USDT"
Команда выше вернёт структуру следующего вида:
{
"pairName": "BTC/USDT",
"high24": "3425.0092",
"low24": "3389.1294",
"amountVol": "91572919",
"baseVol": "27020.6311",
"lastPrice": "3421.7623",
"bestBid": "3420.4223",
"bestAsk": "3401.7623",
"averagePrice": "3407.3719",
"priceChange": "36.0925",
"timestamp": 1588024908,
}
HTTP Запрос
GET https://gate.kickex.com/api/v1/market/stats24?pairName=BTC/USDT
Параметры URL
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
pairName | string | Да | Имя криптовалютной пары (пример: BTC/USDT) |
Параметры ответа
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
pairName | string | Да | Наименование криптовалютной пары (В формате BTC/USDT) |
high24 | string | Да | Наивысшая цена за 24 часа |
low24 | string | Да | Наименьшая цена за 24 чкаса |
amountVol | string | Да | Количество криптовалюты, задействованной в сделках за 24 часа |
baseVol | string | Да | Объем торгов за 24 часа выраженный в базовой криптовалюте |
lastPrice | string | Да | Последняя цена сделки в паре |
bestBid | string | Да | Лучшая цена на покупку (на момент запроса) |
bestAsk | string | Да | Лучшая цена на продажу (на момент запроса) |
averagePrice | string | Да | Средняя цена в сделках за 24 часа |
priceChange | string | Да | Изменение цены за 24 часа |
timestamp | timestamp | Да | Время, на которое действительна полученная информация в миллисекундах |
Currency
В случае, если параметр в запросе не отправлен, предоставляется информация по всем криптовалютам платформы.
curl "https://gate.kickex.com/api/v1/currencies?currency=ETH"
Команда выше вернёт структуру следующего вида:
{
"isoCode": "KICK",
"currencyName": "KICK",
"fullName": "Kick Token",
"decimal": 8,
"minWithdawal": "1",
"minFeeWithrawal": "0.1",
"isWithdrawEnable": true,
"isDepositEnable": true,
"isExchangeEnable": true,
"state": 4,
"convertPath": [
{
"BTC/USDT": true
},
{
"ETH/BTC": false
}
]
}
Если валюта опущена в запросе, то следующего:
{
"currencies": [
{
"isoCode": "ETH",
"currencyName": "ETH",
"fullName": "Ethereum",
"decimal": 8,
"minWithdawal": "1",
"minFeeWithrawal": "0.1",
"isWithdrawEnable": true,
"isDepositEnable": true,
"isExchangeEnable": true,
"state": 4,
"convertPath": [
{
"BTC/USDT": true
},
{
"ETH/BTC": false
}
]
},
{
"isoCode": "KICK",
"currencyName": "KICK",
"fullName": "Kick Token",
"decimal": 8,
"minWithdawal": "1",
"minFeeWithrawal": "0.1",
"isWithdrawEnable": true,
"isDepositEnable": false,
"isExchangeEnable": true,
"state": 4,
"convertPath": [
{
"BTC/USDT": true
},
{
"ETH/BTC": false
}
]
}
]
}
HTTP Запрос
GET https://gate.kickex.com/api/v1/currencies?currency=ETH
Параметры URL
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
currency | string | Нет | Краткое наименование криптовалюты (токена) (пример: BTC) |
Параметры ответа
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
isoCode | string | Нет | Краткое наименование криптовалюты по ISO4217 |
currencyName | string | Да | Краткое наименование криптовалюты |
fullName | string | Да | Полное наименование криптовалюты |
decimal | number | Да | Количество знаков после точки для этой криптовалюты |
minWithdawal | string | Нет | Минимальное количество криптовалюты, которое разрешено выводить с платформы |
minFeeWithrawal | string | Нет | Минимальный размер комиссии взимаемый за вывод средств |
isWithdrawEnable | boolean | Нет | Индикатор, показывающий, доступен ли вывод (0 – доступен, 1 – недоступен) |
isDepositEnable | boolean | Нет | Индикатор, показывающий, доступно ли пополнение (0 – доступно, 1 – недоступно) |
isExchangeEnable | boolean | Нет | Индикатор, показывающий, доступен ли обмен на платформе этой криптовалюты (true – доступно, 1 – недоступно) |
state | integer | Нет | Индикатор, показывающий, доступна ли торговля этой криптовалюты на бирже 4 – доступна, 1,2,3 – недоступна) |
convertPath | array | Нет | Массив торговых пар. Если пустой, то конвертация не требуется. Если true, то следует умножать на курс из торговой пары. Если false, то следует делить на курс из торговой пары по модулю. [{"BTC/USDT": true},{"ETH/BTC": false}] |
Minibars
Запрос истории сделок по конкретной паре за последние 24 часа.
curl "https://gate.kickex.com/api/v1/minibars"
Команда выше вернёт структуру следующего вида:
{
"minibars": [
{
"pairName": "KICK/BTC",
"bars": [
[
1574168400,
0.0010096
],
[
1574172000,
0.0010004
]
]
},
{
"pairName": "ETH/BTC",
"bars": [
[
1574168400,
0.0010096
],
[
1574172000,
0.0010004
]
]
}
]
}
HTTP Запрос
GET https://gate.kickex.com/api/v1/minibars
Возвращает почасовые цены для всех пар за последние сутки.
Параметры URL
Отсутствуют.
Параметры ответа
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
pairName | string | Да | Наименование криптовалютной пары, например KICK/BTC |
bars | array | Да | Свечи в формате { "bars": [ [1574168400, 0.0010096],[1574172000,0.0010004]] } |
Trades
Запрос истории сделок по конкретной паре за последние 24 часа.
curl "https://gate.kickex.com/api/v1/market/trades?pairName=BTC/USDT&type=buy"
Команда выше вернёт структуру следующего вида:
{
"price": "1124.120937",
"baseVol": "491082.129100",
"quoteVol": "436.858805",
"timestamp": 1588024908,
"type": "buy"
}
HTTP Запрос
GET https://gate.kickex.com/api/v1/market/trades?pairName=BTC/USDT&type=buy
Параметры URL
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
pairName | string | Да | Наименование криптовалютной пары (В формате BTC/USDT) |
type | string | Нет | Принимает значения buy или sell, если параметр не передается передаем и то и другое |
Параметры ответа
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
price | string | Да | Цена сделки |
baseVol | string | Да | Количество базовой криптовалюты, задействованное в сделке |
quoteVol | string | Да | Количество котируемой криптовалюты, задействованное в сделке |
timestamp | timestamp | Да | Время совершения сделки в мс |
type | string | Да | Тип сделки покупка/продажа. Покупка говорит о том, что после выполнения сделки в стакане убралась позиция на аск. Продажа- убралась из стакана позиция на бид. |
Orderbook
Запрос актуальных биржевых ордеров по валютной паре, может предоставлять как агрегированные, так и неагрегированные данные.
curl "https://gate.kickex.com/api/v1/market/orderbook?pairName=BTC/USDT&depth=20"
Команда выше вернёт структуру следующего вида:
{
"timestamp": 1588024908,
"bids": [
{
"amount": "1001.2913",
"price": "1494.9292"
}
],
"asks": [
{
"amount": "10421.1234",
"price": "1231.9571"
}
]
}
HTTP Запрос
GET https://gate.kickex.com/api/v1/market/orderbook?pairName=BTC/USDT&depth=20
Параметры URL
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
pairName | string | Да | Наименование криптовалютной пары, например KICK/BTC |
depth | int? | Нет | Глубина стакана 0 или параметр не передан – полный стакан 5/10/20/50/100/500 количество позиций спроса и предложения, которые нужно передать (по 5, по 10 и т.д.) |
level | int | Нет | 1- Лучшее предложение на покупку и лучшее предложение на продажу 2- Весь стакан, отсортированный по лучшим бидам и аскам 3- Весь стакан не отсортированный по лучшим бидам и аскам |
Параметры ответа
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
timestamp | timestamp | Yes | Штамп времени в наносекундах |
bids | Array of string | Yes | Содержит в себе цену и количество крпитовалюты |
asks | Array of string | Yes | Содержит в себе цену и количество криптовалюты |
Candles
curl "https://gate.kickex.com/api/v1/market/bars/?period=60&pairName=KICK/USDT&startTime=1607385600000&endTIme=1607471999000"
Команда выше вернёт структуру следующего вида:
{
"code": 200,
"message": "success",
"timestamp": 1588024908,
"openPrice": "8392.2930",
"closePrice": "8832.1241",
"highPrice": "9123.2120",
"lowPrice": "8392.2930",
"transactionVolume": "63829012.0012",
"transactionAmount": "271"
}
HTTP Запрос
В случае, если время не указано, возвращается не более 4096 результатов.
GET https://gate.kickex.com/api/v1/market/bars/?period=60&pairName=KICK/USDT&startTime=1607385600000&endTIme=1607471999000
Параметры URL
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
pairName | string | Да | Наименование криптовалютной пары, например KICK/BTC |
period | string | Да | 1/3/10/60 (minutes) 1D 1M 3M |
startTIme | timestamp | Нет | Время начала в мс |
endTime | timestamp | Нет | Время окончания в мс |
Параметры ответа
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
timestamp | timestamp | Да | Начальное время формирования свечи |
openPrice | string | Да | Цена в момент открытия свечи |
closePrice | string | Да | Цена в момент закрытия свечи |
highPrice | string | Да | Наивысшая цена в свече |
lowPrice | string | Да | Наименьшая цена в свече |
transactionVolume | string | Да | Объем транзакций в свече |
transactionAmount | string | Да | Количество транзакций в свече |
Server time
curl "https://gate.kickex.com/api/v1/serverTime"
Команда выше вернёт структуру следующего вида:
{
"code": 200,
"message": "success",
"time": 1588024908
}
HTTP Запрос
GET https://gate.kickex.com/api/v1/serverTime
Параметры URL
Отсутствуют.
Параметры ответа
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
code | integer | Да | Код ответа 200-ок |
message | string | Да | success/error |
time | timestamp | Да | Текущее серверное время в мс |
Trade
Набор методов для выставления ордеров и получения информации об ордерах.
Cancel Order
Метод отмены ордера.
curl "https://gate.kickex.com/api/v1/orders/{orderId}"
-X DELETE
-H "Authorization: meowmeowmeow"
Команда выше вернёт структуру следующего вида:
{
"cancelledOrderId": "111111111",
"comment": ""
}
HTTP Запрос
DELETE https://gate.kickex.com/api/v1/orders/{orderId}
Параметры URL
Отсутствуют.
Параметры ответа
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
cancelledOrderId | string | Да | Уникальный идентификатор ордера |
comment | string | Нет | Ордер отменен / причина ошибки отмены |
Cancel All Orders
Метод отмены группы ордеров или всех открытых ордеров.
curl "https://gate.kickex.com/api/v1/orders?pairName=BTC/USDT&orderType=STOP"
-X DELETE
-H "Authorization: meowmeowmeow"
Команда выше вернёт структуру следующего вида:
[
{
"order_id": 192,
"error_code": 20002,
"reason": "something went wrong"
},
{
"order_id": 256,
"error_code": 20002,
"reason": "something went wrong"
}
]
HTTP Запрос
DELETE https://gate.kickex.com/api/v1/orders?pairName=BTC/USDT&orderType=STOP
Параметры URL
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
pairName | string | Нет | Наименование криптовалютной пары в формате KICK/ETH |
orderType | string | Нет | Тип отмены stop/trade/all, если параметр не задан, по умолчанию работает all |
Параметры ответа
В ответе содержатся только ордера, которые не удалось отменить
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
orderId | string | Yes | Идентификатор не отменённого ордера |
error_code | string | Yes | Код ошибки |
reason | string | No | Причина ошибки |
Cancel Orders
Метод используется для отмены ордеров списком.
curl "https://gate.kickex.com/api/v1/cancelorders?orders=123456,14589655,12563369"
-X DELETE
-H "Authorization: meowmeowmeow"
Команда выше вернёт структуру следующего вида:
[
{
"order_id": 192,
"error_code": 20002,
"reason": "something went wrong"
},
{
"order_id": 256,
"error_code": 20002,
"reason": "something went wrong"
}
]
HTTP Запрос
DELETE https://gate.kickex.com/api/v1/cancelorders?orders=123456,14589655,12563369
Параметры URL
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
orders | string | Нет | id ордеров для отмены через запятую, без пробелов. |
orderType | string | Нет | Тип отмены stop/trade/all, если параметр не задан, по умолчанию работает all |
Параметры ответа
В ответе содержатся только ордера, которые не удалось отменить
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
orderId | string | Yes | Идентификатор не отменённого ордера |
error_code | string | Yes | Код ошибки |
reason | string | No | Причина ошибки |
Orders History
Метод получения информации об истории ордеров пользователя.
curl "https://gate.kickex.com/api/v1/ordersHistory?pairName=KICK/BTC&startTime=123213123213213&endTime=32434523523535""
Команда выше вернёт структуру следующего вида:
{
"orders": [
{
"pairName": "BTC/USDT",
"orderId": "1232352423",
"createdTimeStamp": 1588024908,
"tradeIntent": 1,
"limitPrice": "91.9012",
"totalBuyVolume": "124124",
"totalSellVolume": "3243",
"orderedAmount": "150000",
"tpActivateLevel": "90.0000",
"tpLimitPrice": "92.0000",
"slLimitPrice": "85.0000",
"tpSubmitLevel": "89.0000",
"slSubmitLevel": "86.0000"
},
{
"pairName": "BTC/USDT",
"orderId": "1232352423",
"createdTimeStamp": 1588024908,
"tradeIntent": 1,
"limitPrice": "91.9012",
"totalBuyVolume": "124124",
"totalSellVolume": "3243",
"orderedAmount": "150000",
"tpActivateLevel": "90.0000",
"tpLimitPrice": "92.0000",
"slLimitPrice": "85.0000",
"tpSubmitLevel": "89.0000",
"slSubmitLevel": "86.0000"
}
]
}
HTTP Запрос
GET https://gate.kickex.com/api/v1/ordersHistory?pairName=KICK/BTC&startTime=123213123213213&endTime=32434523523535"
Параметры URL
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
pairName | string | Да | Наименование криптовалютной пары, например KICK/BTC |
startTime | timestamp | Нет | Время начала периода, в наносекундах |
endTime | timestamp | Нет | Время окончания периода, в наносекундах |
pageSize | string | Нет | Размер страницы, не более 100 ордеров |
tradeIntent | integer | Нет | Стороны ордера, 0-BUY, 1- SELL |
tsnBottomOrder | timestamp | Нет | Штамп времени в наносекундах из последнего полученного на прошлой странице ордера, после которого нужно получать ордера. в том случае, если запрашивается следующая страница (старее текущей). Используется время создания ордера. |
tsnTopOrder | timestamp | Нет | Штамп времени в наносекундах из первого полученного на прошлой странице ордера, до которого нужно получать ордера. в том случае, если запрашивается предыдущая страница (новее текущей). Используется время создания ордера. |
Параметры ответа
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
pairName | string | Да | Наименование крпитовалютнйо пары в формате KICK/ETH |
orderId | string | Yes | Идентификатор ордера |
createdTimeStamp | timestamp | Да | Время создания ордера, в наносекундах |
tradeIntent | integer | Да | Стороны ордера 0-BUY 1- SELL |
limitPrice | string | Нет | Возвращает значение, если при установке ордера была указана лимит цена в том случае если ордер не парный |
totalBuyVolume | string | Да | Итоговый купленный объем |
totalSellVolume | string | Да | Итоговый проданный объем |
orderedVolume | string | Да | Заказанное количество криптовалюты для покупки/продажи |
tpActivateLevel | string | Нет | Уровень активации, параметр передается в случае, если был задан при установке ордера |
tpLimitPrice | string | Нет | Лимит цена блок тэйк профит, параметр передается в случае, если был задан при установке ордера |
slLimitPrice | string | Нет | Лимит цена блока стоп лос, параметр передается в случае, если был задан при установке ордера |
tpSubmitLevel | string | Нет | Стоп уровень блока тэйк профит, параметр передается в случае, если был задан при установке ордера |
slSubmitLevel | string | Нет | Стоп уровень блока стоп лосс, параметр передается в случае, если был задан при установке ордера |
Trade History
Метод получения информации об истории сделок пользователя.
curl "https://gate.kickex.com/api/v1/tradesHistory?pairName=KICK/BTC&startTime=123213123213213&endTime=32434523523535"
Команда выше вернёт структуру следующего вида:
{
"trades": [
{
"pairName": "BTC/USDT",
"orderId": "1232352423",
"timestamp": 1588024908,
"tradeIntent": 0,
"price": "732.9532",
"feeQuoted": "3.1274",
"feeExternal": "",
"externalFeeCurrency": "KICK",
"buyVolume": "14523",
"sellVolume": "823491"
},
{
"pairName": "BTC/USDT",
"orderId": "1232352423",
"timestamp": 1588024908,
"tradeIntent": 0,
"price": "732.9532",
"feeQuoted": "3.1274",
"feeExternal": "",
"externalFeeCurrency": "KICK",
"buyVolume": "14523",
"sellVolume": "823491"
}
]
}
HTTP Запрос
GET https://gate.kickex.com/api/v1/tradesHistory?pairName=KICK/BTC&startTime=123213123213213&endTime=32434523523535
Параметры URL
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
pairName | string | Да | Наименование криптовалютной пары, например KICK/BTC |
startTime | timestamp | Нет | Время начала периода, в наносекундах |
endTime | timestamp | Нет | Время окончания периода, в наносекундах |
pageSize | string | Нет | Размер страницы, не более 100 сделок |
tradeIntent | integer | Нет | Сторон сделки, 0-BUY, 1- SELL |
tsnBottomDeal | timestamp | Нет | Штамп времени в наносекундах последней полученной на прошлой странице сделки, после которого нужно получать сделки. |
tsnTopDeal | timestamp | Нет | Штамп времени в наносекундах первой полученной на прошлой странице сделки, до которой нужно получать сделки. |
Параметры ответа
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
pairName | string | Да | Наименование крпитовалютнйо пары в формате KICK/ETH |
orderId | string | Да | Ордер, в рамках которого выполнена сделка |
timestamp | timestamp | Да | Время сделки, в наносекундах |
tradeIntent | integer | Да | Стороны ордера 0-BUY 1- SALE |
price | string | Да | Цена за единицу криптовалюты в сделке, выраженная в котируемой криптовалюте |
feeQuoted | string | Да | Размер комиссии в котируемой криптовалюте |
feeExternal | string | Нет | Размер комисиии в дополнительнйо криптовалюте |
externalFeeCurrency | string | Нет | Наименование криптовалюты, в которой взяли дополнительную комиссию |
buyVolume | string | Да | Купленный объем в сделке |
sellVolume | string | Да | Проданный объем в сделке |
Active Orders List
Метод получения информации об активных ордерах. Выборка сортируется по уменьшению creation_ts и ограничена сотней ордеров. Если возвращается сто или более ордеров, то вероятно наличие других - более старых. Для их получения нужно повторить запрос, указав в аргументе creation_ts самого старого из полученных ордеров.
curl "https://gate.kickex.com/api/v1/activeOrders?pairName=KICK/BTC&bottomOrderTs=1234343453"
Команда выше вернёт структуру следующего вида:
{
"orders": [
{
"pairName": "BTC/USDT",
"createdTimeStamp": 1588024908,
"tradeIntent": 1,
"limitPrice": "91.9012",
"totalBuyVolume": "124124",
"totalSellVolume": "3243",
"orderedAmount": "150000",
"tpActivateLevel": "90.0000",
"tpLimitPrice": "92.0000",
"slLimitPrice": "85.0000",
"tpSubmitLevel": "89.0000",
"slSubmitLevel": "86.0000",
"activated": 1588022908,
"stopTimestamp": 1588022908,
"triggeredSide": "s"
},
{
"pairName": "BTC/USDT",
"createdTimeStamp": 1588024908,
"tradeIntent": 1,
"limitPrice": "91.9012",
"totalBuyVolume": "124124",
"totalSellVolume": "3243",
"orderedAmount": "150000",
"tpActivateLevel": "90.0000",
"tpLimitPrice": "92.0000",
"slLimitPrice": "85.0000",
"tpSubmitLevel": "89.0000",
"slSubmitLevel": "86.0000",
"activated": 1588022908,
"stopTimestamp": 1588022908,
"triggeredSide": "l"
}
]
}
HTTP Запрос
GET https://gate.kickex.com/api/v1/activeOrders?pairName=KICK/BTC&bottomOrderTs=1234343453
Параметры URL
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
pairName | string | Нет | Наименование криптовалютной пары, например KICK/BTC |
bottomOrderTs | string | Нет | Штамп времени (creation_ts, в наносекундах) из последнего видимого ордера. |
Параметры ответа
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
pairName | string | Да | Наименование крпитовалютнйо пары в формате KICK/ETH |
orderId | string | Yes | Идентификатор ордера |
createdTimeStamp | timestamp | Да | Время создания ордера, в наносекундах |
side | integer | Да | Стороны ордера 0-BUY 1- SALE |
limitPrice | string | Нет | Возвращает значение, если при установке ордера была указана лимит цена в том случае если ордер не парный |
totalBuyVolume | string | Да | Итоговый купленный объем |
totalSellVolume | string | Да | Итоговый проданный объем |
orderedAmount | string | Да | Заказанное количество криптовалюты для покупки/продажи |
tpActivateLevel | string | Нет | Уровень активации, параметр передается в случае, если был задан при установке ордера |
tpLimitPrice | string | Нет | Лимит цена блок тэйк профит, параметр передается в случае, если был задан при установке ордера |
slLimitPrice | string | Нет | Лимит цена блока стоп лос, параметр передается в случае, если был задан при установке ордера |
tpSubmitLevel | string | Нет | Стоп уровень блока тэйк профит, параметр передается в случае, если был задан при установке ордера |
slSubmitLevel | string | Нет | Стоп уровень блока стоп лосс, параметр передается в случае, если был задан при установке ордера |
activated | timestamp | Нет | Время (в мс) передается если ордер активировался (если был выставлен скользящий или скользящий +сл ордер) |
stopTimestamp | timestamp | Нет | Момент изменение стоп ордера в наносекундах |
triggeredSide | string | Нет | Если стоп был двойной, показывает, какой сработал. p/l/? |
Create Trade Order
установка ордера
curl "https://gate.kickex.com/api/v1/createTradeOrder"
-X POST
-H "Authorization: meowmeowmeow"
-H "Content-Type: application/json"
-d '{"pairName": "KICK/ETH", "orderedAmount": "110.000", "limitPrice": "0.12", "tradeIntent": 0, "modifier": "GTC"}'
Команда выше вернёт структуру следующего вида:
{
"orderId": 123456
}
HTTP Запрос
POST https://gate.kickex.com/api/v1/createTradeOrder
Параметры запроса
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
pairName | string | Да | Наименование крпитовалютнйо пары (пример: KICK/ETH) |
orderedAmount | string | Да | Заказанное количество криптовалюты для покупки/продажи |
limitPrice | string | Нет | Значение указывается для непарных стоп-ордеров |
tradeIntent | integer | Да | Сейчас принимает значения 0 -покупка базовой и 1 - продажа базовой криптовалюты |
modifier | string | Нет | Сейчас принимает только значение GTC, если параметр не указан выставляется он же |
Параметры ответа
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
orderId | integer | Да | Идентификатор созданного ордера |
Create Stop Order
установка стоп-ордера
curl "https://gate.kickex.com/api/v1/createStopOrder"
-X POST
-H "Authorization: meowmeowmeow"
-H "Content-Type: application/json"
-d '{"pairName": "KICK/ETH", "orderedAmount": "110.000", "limitPrice": "0.12", "tradeIntent": 0, "modifier": "GTC", "reserves": 0, "tpActivateLevel": "0.11", "tpLimitPrice": "0.15", "slLimitPrice": "0.10", "tpSubmitLevel": "0.14", "slSubmitLevel": "0.13"}'
Команда выше вернёт структуру следующего вида:
{
"orderId": 123456
}
HTTP Запрос
POST https://gate.kickex.com/api/v1/createStopOrder
Параметры URL
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
pairName | string | Да | Наименование крпитовалютнйо пары в формате KICK/ETH |
orderedAmount | string | Да | Заказанное количество криптовалюты для покупки/продажи |
limitPrice | string | Нет | Принимает значение, если создаётся одинарный ордер |
tradeIntent | integer | Да | Сейчас принимает значения 0 -покупка базовой и 1 - продажа базовой криптовалюты |
modifier | integer | Нет | Сейчас принимает только значение GTC, если параметр не указан выставляется он же |
reserves | integer | Нет | 0 (по умолчанию) резервы не делать, 1 - резервы делать. работает только в случае если указана лимит цена |
tpActivateLevel | string | Нет | Уровень активации, |
tpLimitPrice | string | Нет | Лимит цена блок тэйк профит, |
slLimitPrice | string | Нет | Лимит цена блока стоп лос |
tpSubmitLevel | string | Нет | Стоп уровень блока тэйк профит |
slSubmitLevel | string | Нет | Стоп уровень блока стоп лосс |
Параметры ответа
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
orderId | integer | Да | Идентификатор созданного ордера |
User
Набор методов для получения информации о пользователе и его аккаунте на бирже
User Info
Основные данные о пользователе.
curl "https://gate.kickex.com/api/v1/userInfo"
Команда выше вернёт структуру следующего вида:
{
"userId": 111111111,
"userName": "kickuser123",
"platformName": "KickEX",
"comment": "",
"restrictions": 0
}
HTTP Запрос
GET https://gate.kickex.com/api/v1/userInfo
Параметры URL
Отсутствуют.
Параметры ответа
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
userId | integer | Да | Идентификатор Пользователя |
userName | string | Нет | Слаг Пользователя |
platformName | string | Да | KickEX |
comment | string | Нет | Комментарий, может содержать информацию, касательно ограничений на действия с АПИ Пользоватем |
restrictions | integer | Да | Индикатор, показывающий, доступна ли торговля Пользователю (0 – доступна) 1 – не доступна |
Balance
Информация о балансе пользователя;
curl "https://gate.kickex.com/api/v1/user/balance"
Команда выше вернёт структуру следующего вида:
{
"balances": [
{
"currencyName": "KICK",
"balance": "10000000.8372",
"available": "598292.1214",
"inOrders": "300123.9133",
"accountType": "2401"
},
{
"currencyName": "ETH",
"balance": "10000000.8372",
"available": "598292.1214",
"inOrders": "300123.9133",
"accountType": "2401"
}
]
}
HTTP Запрос
GET https://gate.kickex.com/api/v1/user/balance
Параметры URL
Отсутствуют.
Параметры ответа
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
currencyName | string | Да | Наименование криптовалюты краткое |
balance | string | Да | Количество средств (тотал) |
available | string | Да | Количество средств, доступных для вывода или торговли |
inOrders | string | Да | Количество зарезервированных средств |
accountType | string | Да | Номер счета 2401 - основной счет 2411 - экосистемный счет в валюте брокера |
Deposit Address
Метод получения персонального адреса для пополнения.
curl "https://gate.kickex.com/api/v1/depositAddresses?currencyName=USDT&chain=ERC20"
Команда выше вернёт структуру следующего вида:
{
"currencyName": "USDT",
"chain": "ERC20",
"memo": "123456",
"address": "0xc0DAa9e14343128cd50f7b934B5Bb23eddd3F246"
}
HTTP Запрос
GET https://gate.kickex.com/api/v1/depositAddresses?currencyName=USDT&chain=ERC20
Параметры URL
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
currencyName | string | Да | Наименование криптовалюты |
chain | string | Нет | ERC20/OMNI/TRC20 какой выберем по дефолту для USDT? |
Параметры ответа
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
currencyName | string | Да | Наименование криптовалюты |
chain | string | Нет | ERC20/OMNI/TRC20 |
memo | string | Нет | Необходим для xrp валют? в остальных случаях не нужен? |
address | string | Да | Адрес для пополнения |
Deposit History
Метод получения истории пополнений.
curl "https://gate.kickex.com/api/v1/depositHistory?сurrencyName=KICK&startTime=1588015708&endTime=1588024908&status=success"
Команда выше вернёт структуру следующего вида:
{
"deposits": [
{
"address": "0xc0DAa9e14343128cd50f7b934B5Bb23eddd3F246",
"amount": "200000.0000",
"fee": "",
"currencyName": "KICK",
"memo": "",
"walletTxId": "",
"status": "success",
"createdAt": 1588024908,
"updatedAt": 1588024908,
"comment": ""
},
{
"address": "0xc0DAa9e14343128cd50f7b934B5Bb23eddd3F246",
"amount": "200000.0000",
"fee": "",
"currencyName": "KICK",
"memo": "",
"walletTxId": "0x3f9a6dc91d0ac08e2d13fc3a42a9dc4481aade8a96e10c1f497f9d6c60130a15",
"status": "success",
"createdAt": 1588024908,
"updatedAt": 1588024908,
"comment": ""
}
]
}
HTTP Запрос
GET https://gate.kickex.com/api/v1/depositHistory?сurrencyName=KICK&startTime=1588015708&endTime=1588024908&status=success
Параметры URL
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
сurrencyName | string | Нет | Наименование криптовалюты, краткое, например BTC |
startTime | timestamp | Нет | Время начала периода, в мс |
endTime | timestamp | Нет | Время окончания периода, в мс |
status | string | Нет | Фильтр статусов депозита (failure/success/processing) |
Параметры ответа
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
address | string | Да | Адрес, на который было произведено пополнение |
amount | string | Да | Количество пополненной криптовалюты |
fee | string | Да | Комиссия за пополнение |
currencyName | string | Да | Наименование криптовалюты (краткое), например, BTC |
memo | string | Нет | Мемо метка (если есть, отображаем) |
walletTxId | string | Да | Хэш транзакции |
status | string | Да | failure/success/processing |
createdAt | timestamp | Да | Время создания записи в бд |
updatedAt | timestamp | Да | Время обновления записи в бд |
comment | string | Нет | Комментарий (при наличии) |
Tariff
Информация о скидках Пользователя
curl "https://gate.kickex.com/api/v1/user/tariff"
Команда выше вернёт структуру следующего вида:
{
"maker": "0.0015",
"taker": "0.0010",
"msf": "0.5",
"discount_regular_k": "0.2",
"discount_special_k": "0.3",
"discount_details": [],
"vol_30d": "500280.1223",
"vol_30d_dk": "0.2",
"min_1d_rest": "12532.00",
"min_1d_rest_dk": "0.3",
"min_1d_kex_rest": "19732.64",
"min_1k_kex_rest_dk": "0.45",
"min_1d_activity_rest": "9612.14",
"min_1d_activity_rest_dk": "0.10"
}
HTTP Запрос
GET https://gate.kickex.com/api/v1/user/tariff
Параметры URL
Отсутствуют.
Параметры ответа
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
maker | string | Да | Взимаемая комиссия мэйкера со сделки (доли, не проценты!) |
taker | string | Да | Взимаемая комиссия тэйкера со сделки (доли, не проценты!) |
msf | string | Да | Максимальная доля от взимаемой комиссии, которую можно оплатить в валюте брокера (доли, не проценты!) |
discount_regular_k | string | Да | Дисконт (коэффициент) при оплате в котируемой валюте (доли, не проценты!) Чтобы вычислить скидку, нужно отнять от 1 дисконт |
discount_special_k | string | Да | Дисконт (коэффициент) при оплате в валютеброкера (доли, не проценты!) Чтобы вычислить скидку, нужно отнять от 1 дисконт |
discount_details | object | Да | Объект, содержащий информацию о выполненных условиях для начисления скидок и о размере скидок (описание атрибутов объекта ниже) |
vol_30d | string | Да | Объем торгов в эквиваленте USDT за предыдущие 30 суток; |
vol_30d_dk | string | Да | Скидка на оплату комиссии за выполнение условия по объем торгов за 30 суток (доли, не проценты!) |
min_1d_rest | string | Да | Количество Kick токенов (приведенное к USDT) на балансе основного типа счета (минимальное количество за прошедшие сутки) |
min_1d_rest_dk | string | Да | Скидка на оплату комиссии за выполнение условия по количеству KICK токенов на балансе основного счета за прошедшие сутки (доли, не проценты!) |
min_1d_kex_rest | string | Да | Количество KEX токенов (приведенное к USDT) на балансе основного типа счета (минимальное количество за прошедшие сутки) |
min_1k_kex_rest_dk | string | Да | Скидка на оплату комиссии за выполнение условия по количеству KEX токенов на балансе (доли, не проценты!) |
min_1d_activity_rest | string | Да | Минимальный остаток на экосистемном аккаунте |
min_1d_activity_rest_dk | string | Да | Скидка на оплату комиссий в валюте брокера (доли, не проценты!) |
Withdraw (пока не реализовано)
Метод создания запроса на вывод средств.
curl "https://gate.kickex.com/api/v1/user/withdraw"
-X POST
-H "Authorization: meowmeowmeow"
-H "Content-Type: application/json"
-d '{"address":"0xc0DAa9e14343128cd50f7b934B5Bb23eddd3F246",
"memo":"",
"amount":"1000",
"currency":"KICK",
"chain":"ERC20"}'
Команда выше вернёт структуру следующего вида:
{
"orderId": 123456
}
HTTP Запрос
POST https://gate.kickex.com/api/v1/user/withdraw
Параметры URL
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
address | string | Да | Адрес, на который выводятся средства |
memo | string | Нет | Мемо тег (опционально) |
amount | string | Да | Количество криптовалюты для вывода |
currency | string | Да | Криптовалюта, в которой осуществляется вывод |
сhain | string | Нет | Если чейнов несколько, как с USDT, то отображается чейн на который был вывод |
Параметры ответа
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
orderId | integer | Да | Идентификатор созданного ордера |
Withdrawal History
Метод для запроса истории вывода средств.
curl "https://gate.kickex.com/api/v1/withdrawalHistory?сurrencyName=KICK&startTime=1588015708&endTime=1588024908&status=success"
Команда выше вернёт структуру следующего вида:
{
"withdrawals": [
{
"transactionId": "123415",
"address": "0xc0DAa9e14343128cd50f7b934B5Bb23eddd3F246",
"amount": "200000.0000",
"fee": "",
"currencyName": "KICK",
"memo": "",
"walletTxId": "",
"status": "processing",
"createdAt": 1588024908,
"updatedAt": 1588024908,
"comment": ""
},
{
"transactionId": "123416",
"address": "0xc0DAa9e14343128cd50f7b934B5Bb23eddd3F246",
"amount": "200000.0000",
"fee": "",
"currencyName": "KICK",
"memo": "",
"walletTxId": "0x3f9a6dc91d0ac08e2d13fc3a42a9dc4481aade8a96e10c1f497f9d6c60130a15",
"status": "success",
"createdAt": 1588024908,
"updatedAt": 1588024908,
"comment": ""
}
]
}
HTTP Запрос
GET https://gate.kickex.com/api/v1/withdrawalHistory?сurrencyName=KICK&startTime=1588015708&endTime=1588024908&status=success
Параметры URL
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
сurrencyName | string | Нет | Наименование криптовалюты, краткое, например BTC |
startTime | timestamp | Нет | Время начала периода, в мс |
endTime | timestamp | Нет | Время окончания периода, в мс |
status | string | Нет | failure/success/processing/wallet_processing |
Параметры ответа
Параметр | Тип | Обязательный | Описание |
---|---|---|---|
transactionId | string | Да | Уникальный идентификатор транзакции |
address | string | Да | Адрес, на который был произведен вывод |
amount | string | Да | Количество отправленной криптовалюты |
fee | string | Да | Комиссия за вывод |
currencyName | string | Да | Наименование криптовалюты (краткое), например, BTC |
memo | string | Нет | Мемо метка (если есть, отображаем) |
walletTxId | string | Да | Хэш транзакции |
status | string | Да | failure/success/processing |
createdAt | timestamp | Да | Время создания записи в бд |
updatedAt | timestamp | Да | Время обновления записи в бд |
comment | string | Нет | Комментарий (при наличии) |
chain | string | Нет | Если чейнов несколько, как с USDT, то отображается чейн на который был вывод |
WebSocket endpoint
Общие определения
Пример запроса
{
"id": "dsncjksdnc", //идентификатор запроса
"type": "someType", //Тип запроса
}
Ответ в случае ошибки
{
"id": "dsncjksdnc", //идентификатор запроса (тот же, что и в запросе)
"error": { //ошибка
"code": 29000, //код ошибки
"reason": "Error reason" //текст ошибки
},
"dev_error": { //отладочная информация об ошибке
"code": 5607, //внутренний код ошибки
"reason": "Internal reason" //внутренний текст ошибки
}
}
Ошибка в случае слишком большого объёма данных
{
"error": {"code": 19008, "reason": "answer is too big"}
}
Адрес для подключения клиента к веб-сокету: http://gate.kickex.com
Основная часть запросов содержит два обязательных поля: id и type.
id - это идентификатор запроса. Произвольная строка. Генерируется клиентом. Предполагается, что каждый запрос будет иметь уникальный идентификатор. Тот же самый идентификатор без изменения возвращается в ответе шлюза. Длина id не более 10KB.
type - это тип запроса
В случае ошибки, в ответе сервера присутствует только идентификатор запроса и поле error содержащее код и текст ошибки. На Dev серверах дополнительно возвращается поле dev_error с внутренним кодом и текстом ошибки.
Еще одна специальная ошибка возвращается, когда превышен размер буфера ответа. Это происходит, если ответ от внутреннего сервера слишком большой, либо клиент не успевает вычитывать данные. В этом ответе нет идентификатора запроса.
Как правило, получение такой ошибки означает, что были потеряны одно или более сообщений. В том числе, это могут значимые сообщения об изменении состояния ордеров, балансе пользователя.
Существует возможность увеличения размера буфера для ответов сервера, например, для целей автоматической торговли. Это можно сделать с помощью технической поддержки.
Если сервер получает невалидный JSON в качестве запроса, то в ответе придет ошибка ER_MALFORMED_JSON и не будет поля идентификатора запроса.
Состояние шлюза
Запрос
{
"id": "dsncjksdnc", //идентификатор запроса
"type": "status", //Тип запроса
}
Ответ
{
"id": "dsncjksdnc",
"accounting": { //состояние подключения к учету
"connected": true,
"callbacks": 0
},
"kickid": { //состояние подключения к KICKID Tarantool
"connected": true,
"callbacks": 0
},
"statistics": { //состояние подключения к статистике
"connected": true,
"callbacks": 2
},
"walletbc": { //состояние подключения к wallet
"status_code": 0,
"status": "CONNECTING"
}
}
Пинг
Клиент должен постоянно посылать указанные ниже ping запросы, чтобы сервер не закрыл соединение. Соединение закрывается, если от клиента за минуту не пришло ни одного фрейма. То есть вместо ping также будет работать любой произвольный запрос.
Запрос
{
"type": "ping", //Тип запроса
}
Ответ
{
"pong": 0
}
Orderbook API
Получение стакана и подписка
Ответы по подписке.
Каждый ответ это инкрементное изменение стакана. В массивах bids, asks передаются строки которые меняются.
Если в поле total находится пустая строка, то строку нужно удалить из стакана. В противном случае строка добавляется или заменяется.
Запрос
{
"id": "dsncjksdnc", //идентификатор запроса
"type": "getOrderBookAndSubscribe", //Тип запроса
"pair": "KICK/ETH"
}
Ответ
{
"id": "dsncjksdnc", //идентификатор запроса
"bids":[{
"price": "152.7", //цена валютной пары
"amount": "4545.3", //количество базовой валюты
"total": "455.22" //всего (в котируемой валюте)
},
...],
"asks": [{
"price": "12.7", //цена валютной пары
"amount": "485.3", //количество базовой валюты
"total": "4562.55" //всего (в котируемой валюте)
}
...],
"lastPrice":{
"price": "4545, //цена валютной пары
"type": -1/0/1 // -1 цена понизилась
// 0 цена не изменилась
// 1 цена возросла
}
}
Изменившиеся данные
{
"id": "dihfbeibf", //идентификатор запроса
"bids":[{
"price": "152.7", //цена валютной пары
"amount": "4545.3", //количество базовой валюты
"total": "455.22" //всего (в котируемой валюте)
},
...],
"asks": [{
"price": "12.7", //цена валютной пары
"amount": "485.3", //количество базовой валюты
"total": "4562.55" //всего (в котируемой валюте)
},
{ //Строка для удаления из стакана. Total должен быт пустой строкой
"price": "12.7", //цена валютной пары
"amount": "NaN", //количество базовой валюты
"total": "" //
}
...],
"lastPrice":{
"price": "4545, //цена валютной пары
"type": -1/0/1 // -1 цена понизилась
// 0 цена не изменилась
// 1 цена возросла
}
}```
### Отписка от обновлений
> Запрос (отписка от обновлений)
```json
{
"id": "dsncjksdnc", //идентификатор запроса
"type": "unsubscribeOrderBook", //Тип запроса
}
Ответ
{
"id": "dsncjksdnc", //идентификатор запроса
}
Currency Pairs
Подписка
Запрос (подписка)
{
"id": "dsncjksdnc", //идентификатор запроса
"type": "getPairsAndSubscribe", //Тип запроса
}
Ответы (по подписке)
{
"id": "dsncjksdnc", //идентификатор запроса
"pairs" : [
{
"baseCurrency": "ETH", //базовая валюта
"quoteCurrency": "BTC", //котируемая валюта
"price": "228.5698565", //цена валютной пары
"price24hChange": "-1.5", //изменение цены за 24 часа
"volume24hChange": "1258.55", //изменение объема за 24 часа (в котируемой валюте)
"amount24hChange": "45.55", //изменение количества за 24 часа (в базовой валюте)
?"lowPrice24h": "220.0", //наименьшая историческая цена за 24 часа
?"highPrice24h": "230.0", //наибольшая историческая цена за 24 часа
"priceScale": 8, //Точность цены в ордере
"quantityScale": 4, //Точность количества в ордере
"volumeScale": 7, //Точность объема в ордере
?"minQuantity": "0.0001", //Минимальное количество
?"minVolume": "0.0001", //Минимальный Объем
"state": 1 //Состояние
//DRAFT = 1, -- 1
//REJECTED = 2, -- 2
//BLOCKED = 3, -- 3
//COMMITED = 4 -- 4
}
, ... ]
}
Отписка от обновлений
Запрос (отписка от обновлений)
{
"id": "dsncjksdnc", //идентификатор запроса
"type": "unsubscribePairs", //Тип запроса
}
Ответ
{
"id": "dsncjksdnc", //идентификатор запроса
}
История торгов по выбранной торговой паре
Подписка
Запрос (подписка)
{
"id": "dsncjksdnc", //идентификатор запроса
"type": "getHistoryAndSubscribe", //Создание торгового ордера и формирование резервов.
"pair": "KICK/ETH", //Идентификатор торговой пары
}
Ответы
{
"id": "dsncjksdnc", //идентификатор запроса
"history": [{
price: 455.55, //цена валютной пары
amount: 228.1488, //количество базовой валюты
timestamp: 156454565645, //временная метка сделки
type: "sell/buy" }, //покупка или продажа
...
]
}
В первом ответе возвращается полный список последних сделок, в последующих ответах возращаются инкрементные обновления.
Отписка от обновлений
Запрос (отписка)
{
"id": "dsncjksdnc", //идентификатор запроса
"type": "unsubscribeHistory", //Тип запроса
}
Ответ
{
"id": "dsncjksdnc", //идентификатор запроса
}
Errors
The Kittn API uses the following error codes:
Error Code | Meaning |
---|---|
400 | Bad Request -- Your request is invalid. |
401 | Unauthorized -- Your API key is wrong. |
403 | Forbidden -- The kitten requested is hidden for administrators only. |
404 | Not Found -- The specified kitten could not be found. |
405 | Method Not Allowed -- You tried to access a kitten with an invalid method. |
406 | Not Acceptable -- You requested a format that isn't json. |
410 | Gone -- The kitten requested has been removed from our servers. |
418 | I'm a teapot. |
429 | Too Many Requests -- You're requesting too many kittens! Slow down! |
500 | Internal Server Error -- We had a problem with our server. Try again later. |
503 | Service Unavailable -- We're temporarily offline for maintenance. Please try again later. |