Module: Binance::Api

Defined in:
lib/binance/api.rb,
lib/binance/api/error.rb,
lib/binance/api/order.rb,
lib/binance/api/account.rb,
lib/binance/api/request.rb,
lib/binance/api/version.rb,
lib/binance/api/data_stream.rb,
lib/binance/api/configuration.rb

Defined Under Namespace

Classes: Account, Configuration, DataStream, Error, Order, Request

Constant Summary collapse

VERSION =
"0.1.2"

Class Method Summary collapse

Class Method Details

.candlesticks!(end_time: nil, interval: nil, limit: 500, start_time: nil, symbol: nil) ⇒ Object

Valid limits:[5, 10, 20, 50, 100, 500, 1000]

Raises:



16
17
18
19
20
21
# File 'lib/binance/api.rb', line 16

def candlesticks!(end_time: nil, interval: nil, limit: 500, start_time: nil, symbol: nil) 
  raise Error.new(message: 'interval is required') unless interval
  raise Error.new(message: 'symbol is required') unless symbol
  params = { endTime: end_time, interval: interval, limit: limit, startTime: start_time, symbol: symbol }
  Request.send!(api_key_type: :read_info, path: '/api/v1/klines', params: params)
end

.compressed_aggregate_trades!(end_time: nil, from_id: nil, limit: 500, start_time: nil, symbol: nil) ⇒ Object

Raises:



23
24
25
26
27
# File 'lib/binance/api.rb', line 23

def compressed_aggregate_trades!(end_time: nil, from_id: nil, limit: 500, start_time: nil, symbol: nil) 
  raise Error.new(message: "symbol is required") unless symbol
  params = { endTime: end_time, fromId: from_id, limit: limit, startTime: start_time, symbol: symbol }
  Request.send!(api_key_type: :read_info, path: '/api/v1/aggTrades', params: params)
end

.depth!(symbol: nil, limit: 100) ⇒ Object

Raises:



29
30
31
32
33
# File 'lib/binance/api.rb', line 29

def depth!(symbol: nil, limit: 100)
  raise Error.new(message: "symbol is required") unless symbol
  params = { limit: limit, symbol: symbol }
  Request.send!(api_key_type: :read_info, path: '/api/v1/depth', params: params)
end

.exchange_info!Object



35
36
37
# File 'lib/binance/api.rb', line 35

def exchange_info!
  Request.send!(api_key_type: :read_info, path: '/api/v1/exchangeInfo')
end

.historical_trades!(symbol: nil, limit: 500, from_id: nil) ⇒ Object

Raises:



39
40
41
42
43
# File 'lib/binance/api.rb', line 39

def historical_trades!(symbol: nil, limit: 500, from_id: nil)
  raise Error.new(message: "symbol is required") unless symbol
  params = { fromId: from_id, limit: limit, symbol: symbol }
  Request.send!(api_key_type: :read_info, path: '/api/v1/historicalTrades', params: params, security_type: :market_data)
end

.ping!Object



45
46
47
# File 'lib/binance/api.rb', line 45

def ping!
  Request.send!(path: '/api/v1/ping')
end

.ticker!(symbol: nil, type: nil) ⇒ Object

Raises:



49
50
51
52
53
54
55
# File 'lib/binance/api.rb', line 49

def ticker!(symbol: nil, type: nil)
  ticker_type = type&.to_sym
  error_message = "type must be one of: #{ticker_types.join(', ')}. #{type} was provided."
  raise Error.new(message: error_message) unless ticker_types.include? ticker_type
  params = symbol ? { symbol: symbol } : {}
  Request.send!(api_key_type: :read_info, path: "/api/v3/ticker/#{type.to_s.camelcase(:lower)}", params: params)
end

.time!Object



57
58
59
# File 'lib/binance/api.rb', line 57

def time!
  Request.send!(path: '/api/v1/time')
end

.trades!(symbol: nil, limit: 500) ⇒ Object

Raises:



61
62
63
64
65
# File 'lib/binance/api.rb', line 61

def trades!(symbol: nil, limit: 500)
  raise Error.new(message: "symbol is required") unless symbol
  params = { limit: limit, symbol: symbol }
  Request.send!(api_key_type: :read_info, path: '/api/v1/trades', params: params)
end