Class: Vexapion::Zaif

Inherits:
BaseExchanges show all
Defined in:
lib/vexapion/zaif.rb

Overview

zaifのAPIラッパークラスです。 各メソッドの戻り値は下記URLを参照してください。

Instance Method Summary collapse

Methods inherited from BaseExchanges

#disconnect, #do_command, #get_nonce, #set_min_interval, #set_verify_mode

Constructor Details

#initialize(key = nil, secret = nil) ⇒ Zaif

:stopdoc:



16
17
18
19
20
21
# File 'lib/vexapion/zaif.rb', line 16

def initialize(key = nil, secret = nil)
	super(key,secret)

	@public_url = 'https://api.zaif.jp/api/1/'
	@private_url = 'https://api.zaif.jp/tapi'
end

Instance Method Details

#active_orders(pair = '') ⇒ Hash

未約定の注文一覧を取得します

@param [String]    pair    取得したい通貨ペア。省略時はすべての通貨ペア

Returns:

  • (Hash)


93
94
95
96
97
98
# File 'lib/vexapion/zaif.rb', line 93

def active_orders(pair = '')
	params = Hash.new
	params['currency_pair'] = pair if pair != ''

	post('active_orders', params)
end

#available_pairObject



23
24
25
26
27
# File 'lib/vexapion/zaif.rb', line 23

def available_pair
	#balanceから取れるかもしれない
	['btc_jpy', 'xem_jpy', 'xem_btc',
		'mona_jpy', 'mona_btc', 'zaif_jpy', 'zaif_btc']
end

#cancel_order(id) ⇒ Object

注文のキャンセルをします

Parameters:

  • id (Integer)

    注文ID @return [Hash]



122
123
124
# File 'lib/vexapion/zaif.rb', line 122

def cancel_order(id)
	post('cancel_order', 'order_id' => id)
end

#deposit_history(currency, i_since = '', i_end = '', i_from = '', i_count = '', from_id = '', end_id = '', order = '') ⇒ Hash

入金履歴を取得します。

Parameters:

  • currency (String)

    取得したい通貨

  • i_since (Integer) (defaults to: '')

    開始タイムスタンプ(UNIX time)

  • i_end (Integer) (defaults to: '')

    終了タイムスタンプ(UNIX time)

  • i_from (Integer) (defaults to: '')

    この順番のレコードから取得

  • i_count (Integer) (defaults to: '')

    取得するレコード数

  • from_id (Integer) (defaults to: '')

    このトランザクションIDのレコードから取得

  • end_id (Integer) (defaults to: '')

    このトランザクションIDのレコードまで取得

  • order (String) (defaults to: '')

    ソート順(‘ASC’/‘DESC’)

Returns:

  • (Hash)


182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
# File 'lib/vexapion/zaif.rb', line 182

def deposit_history(currency, i_since = '', i_end = '',
	i_from = '', i_count = '', from_id = '', end_id = '', order = '')

	params = Hash.new
	params['currency']  = currency
	params['since']     = i_since  if i_since  != ''
	params['end']       = i_end    if i_end    != ''
	params['from']      = i_from   if i_from   != ''
	params['count']     = i_count  if i_count  != ''
	params['from_id']   = from_id  if from_id  != ''
	params['end_id']    = end_id   if end_id   != ''
	params['order']     = order    if order    != ''

	post('deposit_history', params)
end

#depth(pair) ⇒ Hash

板情報

Parameters:

  • pair (String)

    取得したい通貨ペア

Returns:

  • (Hash)


64
65
66
# File 'lib/vexapion/zaif.rb', line 64

def depth(pair)
	get('depth', pair)
end

#get_infoHash

現在の残高(余力および残高・トークン)、APIキーの権限、過去のトレード数 アクティブな注文数、サーバーのタイムスタンプを取得します

Returns:

  • (Hash)


73
74
75
# File 'lib/vexapion/zaif.rb', line 73

def get_info
	post('get_info')
end

#get_info2Hash

現在の残高(余力および残高・トークン)、APIキーの権限、 アクティブな注文数、サーバーのタイムスタンプを取得します

Returns:

  • (Hash)


80
81
82
# File 'lib/vexapion/zaif.rb', line 80

def get_info2
	post('get_info2')
end

#get_personal_infoHash

チャットに使用されるニックネームと画像のパスを返します。

Returns:

  • (Hash)


86
87
88
# File 'lib/vexapion/zaif.rb', line 86

def get_personal_info
	post('get_personal_info')
end

#last_price(pair) ⇒ Hash

終値

Parameters:

  • pair (String)

    取得したい通貨ペア

Returns:

  • (Hash)


43
44
45
# File 'lib/vexapion/zaif.rb', line 43

def last_price(pair)
	get('last_price', pair)
end

#ticker(pair) ⇒ Hash

ティッカー

Parameters:

  • pair (String)

    取得したい通貨ペア

Returns:

  • (Hash)


50
51
52
# File 'lib/vexapion/zaif.rb', line 50

def ticker(pair)
	get('ticker', pair)
end

#trade(pair, action, price, amount, limit = '') ⇒ Hash

未約定の注文一覧を取得します

@param [String]    pair    トレードしたい通貨ペア
@param [String]    action  注文の種類 ask(売)/bid(買)
@param [Float]    price    注文価格(ただしBTC_JPYの時はInteger)
@param [Float]    amount  注文量
@param [Float]    limit    リミット注文価格(ただしBTC_JPYの時はInteger)

Returns:

  • (Hash)


107
108
109
110
111
112
113
114
115
116
117
# File 'lib/vexapion/zaif.rb', line 107

def trade(pair, action, price, amount, limit = '')
	params = {
		currency_pair: pair,
		action:        action,
		price:         price,
		amount:        amount
	}
	params['limit'] = limit if limit != ''

	post('trade', params)
end

#trade_history(pair = '', i_since = '', i_end = '', i_from = '', i_count = '', from_id = '', end_id = '', order = '') ⇒ Hash

トレードヒストリーを取得します。

Parameters:

  • pair (String) (defaults to: '')

    取得したい通貨ペア

  • i_since (Integer) (defaults to: '')

    開始タイムスタンプ(UNIX time)

  • i_end (Integer) (defaults to: '')

    終了タイムスタンプ(UNIX time)

  • i_from (Integer) (defaults to: '')

    この順番のレコードから取得

  • i_count (Integer) (defaults to: '')

    取得するレコード数

  • from_id (Integer) (defaults to: '')

    このトランザクションIDのレコードから取得

  • end_id (Integer) (defaults to: '')

    このトランザクションIDのレコードまで取得

  • order (String) (defaults to: '')

    ソート順(‘ASC’/‘DESC’)

Returns:

  • (Hash)


136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
# File 'lib/vexapion/zaif.rb', line 136

def trade_history(pair = '', i_since = '', i_end = '',
	i_from = '', i_count = '', from_id = '', end_id = '', order = '')

	params = Hash.new
	params['currency_pair']  = pair     if pair     != ''
	params['since']          = i_since  if i_since  != ''
	params['end']            = i_end    if i_end    != ''
	params['from']           = i_from   if i_from   != ''
	params['count']          = i_count  if i_count  != ''
	params['from_id']        = from_id  if from_id  != ''
	params['end_id']         = end_id   if end_id   != ''
	params['order']          = order    if order    != ''

	post('trade_history', params)
end

#trades(pair) ⇒ Array

取引履歴

Parameters:

  • pair (String)

    取得したい通貨ペア

Returns:

  • (Array)


57
58
59
# File 'lib/vexapion/zaif.rb', line 57

def trades(pair)
	get('trades', pair)
end

#withdraw(currency, amount, address, fee = nil, message = nil) ⇒ Hash

払出のリクエストをします。

@param [String]   currency  払出したい通貨
@param [Float]    amount    送金量
@param [String]   address    送信先アドレス
@param [Float]    fee        採掘者への手数料(XEM以外)

Parameters:

  • message (String) (defaults to: nil)

    送信メッセージ(XEMのみ)

Returns:

  • (Hash)


160
161
162
163
164
165
166
167
168
169
170
# File 'lib/vexapion/zaif.rb', line 160

def withdraw(currency, amount, address, fee = nil, message = nil)
	params = {
		currency:  currency.downcase,
		amount:    amount,
		address:   address
	}
	params['message'] = message if message  != nil
	params['opt_fee'] = fee     if fee      != nil

	post('withdraw', params)
end

#withdraw_history(currency, i_since = '', i_end = '', i_from = '', i_count = '', from_id = '', end_id = '', order = '') ⇒ Hash

出金履歴を取得します。

@param [String]    currency  取得したい通貨

Parameters:

  • i_since (Integer) (defaults to: '')

    開始タイムスタンプ(UNIX time)

  • i_end (Integer) (defaults to: '')

    終了タイムスタンプ(UNIX time)

  • i_from (Integer) (defaults to: '')

    この順番のレコードから取得

  • i_count (Integer) (defaults to: '')

    取得するレコード数

  • from_id (Integer) (defaults to: '')

    このトランザクションIDのレコードから取得

  • end_id (Integer) (defaults to: '')

    このトランザクションIDのレコードまで取得

  • order (String) (defaults to: '')

    ソート順(‘ASC’/‘DESC’)

Returns:

  • (Hash)


208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
# File 'lib/vexapion/zaif.rb', line 208

def withdraw_history(currency, i_since = '', i_end = '',
	i_from = '', i_count = '', from_id = '', end_id = '', order = '')

	params = Hash.new
	params['currency']  = currency
	params['since']     = i_since  if i_since  != ''
	params['end']       = i_end    if i_end    != ''
	params['from']      = i_from   if i_from   != ''
	params['count']     = i_count  if i_count  != ''
	params['from_id']   = from_id  if from_id  != ''
	params['end_id']    = end_id   if end_id   != ''
	params['order']     = order    if order    != ''

	post('withdraw_history', params)
end