Node.js library for bitbank.cc
Clone or download
junderw Merge pull request #17 from beeant/patch-1
Fix indentation in README.md getOrdersInfo example
Latest commit ebfb665 Aug 10, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci fix_npm_token_variable Jun 18, 2018
config v2 May 9, 2018
src fix error handling and exports types Jul 6, 2018
.editorconfig v2 May 9, 2018
.gitignore v2 May 9, 2018
.npmignore v2 May 9, 2018
.prettierrc v2 May 9, 2018
LICENSE v2 May 9, 2018
README.md Fix indentation in README.md getOrdersInfo example Aug 10, 2018
package-lock.json update package.json Jun 18, 2018
package.json fix error handling and exports types Jul 6, 2018
tsconfig.development.json v2 May 9, 2018
tsconfig.json v2 May 9, 2018
tslint.json v2 May 9, 2018

README.md

node-bitbankcc

About

node-bitbankccはNode.js用のbitabank.cc APIのSDKです。

How to use

import/require

TypeScriptのimport、JavaScriptのrequireはそれぞれ以下のように行います。

TypeScript

import * as bitbank from 'node-bitbankcc';

また、tscコマンドでのコンパイルの際は以下のように行います。

$ tsc --lib ES2016 app.ts

JavaScript

var bitbank = require("node-bitbankcc");

PublicAPI

PublicApiの初期化にはApiConfigが必要です。

const conf: ApiConfig = {
  endPoint: 'https://public.bitbank.cc',	// required
  keepAlive: false,							// optional, default false
  timeout: 3000,							// optional, default 3000
};

const publicApi =new PublicApi(conf);

また、ApiOptionsとして、APIリクエストのOptionsを受け取れるoptionsCallbackと、レスポンスを受け取れるresponseCallbackにfunctionを指定することもできます。

...

const options: ApiOptions = {
  optionsCallback: function(...) {...},
  responseCallback: function(...) {...},
};

const publicApi = new PublicApi(conf, options);

サンプル実装

以下にPublic APIの呼び出しサンプル実装を記載します。

getTicker
const params: GetTickerRequest = {
  pair: 'btc_jpy', 			// required
};
const res = await publicApi.getTicker(params);
getDepth
const params: GetDepthRequest = {
  pair: 'btc_jpy', 			// required
};
const res = await publicApi.getDepth(params);
getTransactions
const params: GetTransactionsRequest = {
  pair: 'btc_jpy', 			// required
  yyyymmdd: '20180401', 	// optional
};
const res = await publicApi.getTransactions(params);
getCandlestick
const params: GetCandleStickRequest = {
  pair: 'btc_jpy', 			// required
  candleType: '1hour', 		// required
  yyyymmdd: '20180401', 	// required
};
const res = await publicApi.getCandlestick(params);

PrivateAPI

PrivateAPIの初期化にはPrivateApiConfigが必要になります。

const conf: PrivateApiConfig = {
  endPoint: 'https://api.bitbank.cc/v1',  	// required
  apiKey: 'YOUR_API_KEY',					// required
  apiSecret: 'YOUR_SECRET_KEY',				// required
  keepAlive: false,							// optional, default->false
  timeout: 3000,							// optional, default->3000
};

const privateApi = new PrivateApi(conf);

また、PublicAPIと同様に、ApiOptionsを指定することが可能です。

...

const options: ApiOptions = {
  optionsCallback: function(...) {...},
  responseCallback: function(...) {...},
};

const privateApi = new PrivateApi(conf, options);

サンプル実装

以下にPrivate APIの呼び出しサンプル実装を記載します。

getAssets
const res = await privateApi.getAssets();
assert.equal(res.success, 1);
getOrder
const params: GetOrderRequest = {
  order_id: 14541343,				// required
  pair: 'btc_jpy',					// optional
};
const res = await privateApi.getOrder(params);
postOrder
const params: OrderRequest = {
  pair: 'btc_jpy',					// required
  amount: '0.01',					// required
  price: 1000,						// optional
  side: 'buy',						// required
  type: 'market',					// required
};
const res = await privateApi.postOrder(params);
cancelOrder
const params: CancelOrderRequest = {
  order_id: 14541507,				// required
  pair: 'btc_jpy',					// required
};
const res = await privateApi.cancelOrder(params);
cancelOrders
const params: CancelOrdersRequest = {
  order_ids: [14541370, 14541371],	// required
  pair: 'btc_jpy',					// required
};
const res = await privateApi.cancelOrders(params);
getOrdersInfo
const params: GetOrdersRequest = {
  order_ids: [14541343, 14541344],	// required
  pair: 'btc_jpy',					// optional
};
const res = await privateApi.getOrdersInfo(params);
getActiveOrders
const params: ActiveOrderRequest = {
  pair: 'btc_jpy',					// optional
  count: 1,							// optional
  from_id: 14541346,				// optional
  end_id: 14541343,					// optional
  since: 1523419311277,				// optional
  end: 1523419024484,				// optional
};
const res = await privateApi.getActiveOrders(params);
getTradeHistory
const params: TradeHistoryRequest = {
  pair: 'btc_jpy',					// optional
  count: 1,							// optional
  order_id: 14541370,				// optional
  since: 1523419311277,				// optional
  end: 1523419024484,				// optional
  order: 'asc',						// optional
};
const res = await privateApi.getTradeHistory(params);
getWithdrawalAccount
const params: WithdrawalAccountRequest = {
  asset: 'jpy',						// required
};
const res = await privateApi.getWithdrawalAccount(params);
requestWithdrawal
const params: WithdrawalRequest = {
  asset: 'jpy',						// required
  uuid: '00000000-0000-0000-0000-000000000000', // required
  amount: '1000',					// required
  otp_token: '652036',				// optional, sms_tokenとどちらか必須
  sms_token: '******', 				// optional, otp_tokenとどちらか必須
};
const res = await privateApi.requestWithdrawal(params);

実装の確認/モックについて

以下のリポジトリのモックサーバーを用いて SDKが正しく実装されているかを確認することができます。 https://github.com/bitbankinc/mock-bitbankcc