1.0.0 • Published 5 years ago
@codex_one/codex-api-node v1.0.0
Codex Rest API library
Installation
npm install -s codex-api-node
Getting started
const Codex = require('codex-api-node');
const codex = new Codex(
"<public key>",
"<secret key>",
"<baseUrl>", //optional
"<logger>" //optional, console.log by default
);
//or pass arguments as object:
const codex = new Codex({
apiKey: "<public key>",
apiSecret: "<secret key>",
baseUrl: "<baseUrl>", //optional
logger: "<logger>" //optional, console.log by default
}
);
Get exchange information
codex.getInfo().then((information) => {
console.log(information);
}).catch((error) => {
console.error(error);
});
Get server time
codex.getServerTime().then((serverTime) => {
console.log(serverTime);
}).catch((error) => {
console.error(error);
});
Cancel order by id
codex.cancelOrder('f74b35c8-23a9-49b7-88b5-da7f1673f45a').then((canceledOrder) => {
console.log(canceledOrder);
}).catch((error) => {
console.error(error);
});
Cancel orders by market
codex.cancelOrders('eosbtc').then((canceledOrders) => {
console.log(canceledOrders);
}).catch((error) => {
console.error(error);
});
Cancel orders by market and side
codex.cancelOrders('eosbtc', 'ask').then((canceledOrders) => {
console.log(canceledOrders);
}).catch((error) => {
console.error(error);
});
Get trades with limit by timeframe
Limit of number of returned trades and timeranges are required parameters.
codex.getTrades(2, '1551477606', '1553086806').then((trades) => {
console.log(trades);
}).catch((error) => {
console.error(error);
});
</details>
#### Get next page of trades with limit by timeframe
Used if number of trades by specified timeframe is larger than limit. Send page token returned by previos getTrades request. Page is last if page token is empty string.
```javascript
codex.getTrades(2, '1551477606', '1553086806', 'AAPQACAAAAAWTFW7HNYAGYTJMQIEPH3KH234IRSBQ73TMXTVFFFGX4D7777734D777772===').then((trades) => {
console.log(trades);
}).catch((error) => {
console.error(error);
});
</details>
#### Get trades by market and side without page token
```javascript
codex.getTrades(2, '1541477606', '1553086806', undefined, 'eosbtc', 'bid', 2).then((trades) => {
console.log(trades);
}).catch((error) => {
console.error(error);
});
Get orders by market
codex.getOrders('ethusdt').then((orders) => {
console.log(orders);
}).catch((error) => {
console.error(error);
});
</details>
#### Get orders by market and status
Available values : active, wait
```javascript
codex.getOrders('ethusdt', 'active').then((orders) => {
console.log(orders);
}).catch((error) => {
console.error(error);
});
Get orders by market, status and side
codex.getOrders('ethusdt', 'active', 'bid').then((orders) => {
console.log(orders);
}).catch((error) => {
console.error(error);
});
Get orders by market, status, side and type
Available values : market, limit, stop, stoplimit
codex.getOrders('ethusdt', 'active', 'bid', 'limit').then((orders) => {
console.log(orders);
}).catch((error) => {
console.error(error);
});
Get orders by market, status, side and type with limit and timeframe
codex.getOrders('market', 'status', 'side', 'type', 2, '1541477606', '1553086806').then((orders) => {
console.log(orders);
}).catch((error) => {
console.error(error);
});
Place orders
const orders = [
{
"market": "btcusdt",
"side": "ask",
"amount": "0.1",
"type": "market"
},
{
"market": "btcusdt",
"side": "ask",
"amount": "0.1",
"price": "3894",
"type": "limit"
},
{
"market": "btcusdt",
"side": "ask",
"amount": "0.1",
"stop_price": "3894",
"type": "market"
},
{
"market": "btcusdt",
"side": "ask",
"amount": "0.1",
"price": "3894",
"stop_price": "3893",
"type": "limit"
}
]
codex.placeOrders(orders).then((order) => {
console.log(order);
}).catch((error) => {
console.error(error);
});
</details>
#### Get balances
```javascript
codex.getBalances().then((balances) => {
console.log(balances);
}).catch((error) => {
console.error(error);
});
Get tickers
codex.getTicker().then((tickers) => {
console.log(tickers);
}).catch((error) => {
console.error(error);
});
Get rates
codex.getRates().then((rates) => {
console.log(rates);
}).catch((error) => {
console.error(error);
});
Get currencies
codex.getCurrencies().then((currencies) => {
console.log(currencies);
}).catch((error) => {
console.error(error);
});
Get markets
codex.getMarkets().then((markets) => {
console.log(markets);
}).catch((error) => {
console.error(error);
});
Get deposit address
codex.getDepositAddress('eos').then((address) => {
console.log(address);
}).catch((error) => {
console.error(error);
});
</details>
#### Withdraw
```javascript
codex.withdraw('eos', 'binancecleos', 50, '106518724').then((withdraw) => {
console.log(withdraw);
}).catch((error) => {
console.error(error);
});
{"id":970,"uuid":"77febdde-a4bd-4128-9926-c7c7c105d520","usr_uuid":"22eh7379-8885-431d-8f65-c12452ec04d6","currency_code":"EOS","status":"created","amount":"50","tx_hash":"","confirmations":0,"source":"transfer","created_at":1553082968}
</details>
#### Get withdraw history
```javascript
codex.withdrawHistory('btc').then((withdrawHistory) => {
console.log(withdrawHistory);
}).catch((error) => {
console.error(error);
});
</details>
## WebSocket API
#### Connection
```javascript
codex.websocket.connect(callback);
Disconnection
codex.websocket.disconnect();
Start get order book for market
codex.websocket.startGetOrderBook('cdxbtc');
Stop get order book for market
codex.websocket.stopGetOrderBook('cdxbtc');
Start get tickers
codex.websocket.startGetTickers();
Stop get tickers
codex.websocket.stopGetTickers();
Start get trades for market
codex.websocket.startGetTrades('cdxbtc');
Stop get trades for market
codex.websocket.stopGetTrades('cdxbtc');
1.0.0
5 years ago