Giter Site home page Giter Site logo

cex.io-api-ruby's Introduction

Cex.io

CEX.IO API integration. Ruby gem.

Installation

Add this line to your application's Gemfile:

gem 'cexio'

And then execute:

$ bundle

Or install it yourself as:

$ gem install cexio

Usage

##How to use?

###1. Create your ruby project

###2. Add "require 'cexio'")

###3. Create class

  api = CEX::API(username, api_key, api_secret)
username - your username on cex.io
api_key - your API key
api_secret - your API secret code

###4. Methods and parameters:

####a) API method parametrs

1. couple = ("GHS\BTC" | "BF1\BTC") currency pair
2. since = integer  return trades with tid >= since
3. order_id = integer
4. ptype = ("sell" | "buy") type of order
5. amount = float
6. price = float

####b) API methods

1. ticker(couple = 'GHS/BTC') - get ticker
2. order_book(couple = 'GHS/BTC') - get order
3. trade_history(since = 1, couple = 'GHS/BTC') -  get all order
4. balance() - get your balance
5. current_orders(couple = 'GHS/BTC') - get open order
6. cancel_order(order_id) - cancel order №order_id
7. place_order(ptype = 'buy', amount = 1, price = 1, couple = 'GHS/BTC') - create order
8. convert(couple = 'GHS/BTC', amount = 1) - Converts 1 GHS to BTC

####c) Full API documentation: https://cex.io/api

###5. Examples

####Connect and get balance:

 # -*- encoding : utf-8 -*-
require 'rubygems'
require 'cexio'

cex = CEX::API.new(username, api_key, api_secret)
puts cex.balance
{"timestamp": "1383379054", "BTC": {"available": "0.04614310", "orders": "0.00170000"}, "GHS": {"available": "0.02000000"}}

####Get balance:

puts cex.balance
{"timestamp": "1383379054", "BTC": {"available": "0.04614310", "orders": "0.00170000"}, "GHS": {"available": "0.02000000"}}

####Get API ticker:

puts cex.ticker('GHS/BTC')
{"volume": "7154.78339022", "last": "0.1078", "timestamp": "1383379041", "bid": "0.10778", "high": "0.10799999", "low": "0.10670076", "ask": "0.10780000000000001"}

####Convert:

puts cex.convert('GHS/BTC', 1)
{"amnt": "0.00168199"}

####Get order book:

puts cex.order_book("BF1/BTC")
{"timestamp": "1383378967", "bids": [["1.7", "0.30100000"], ["1.67", "0.00011000"], ["0.8", "0.02070000"], ["0.1002", "0.27748002"], ["0.1", "0.10000000"], ["0.011", "0.30500000"], ["0.009", "1.00000000"], ["0.00171", "0.00100000"], ["0.0012", "1.00000000"], ["0.00116819", "0.50000000"], ["0.001002", "33.00000000"], ["0.001001", "53.00000000"], ["0.001", "3.00000000"], ["0.00097626", "36.00000000"], ["0.0006", "85.00000000"], ["0.00058409", "0.50000000"], ["0.0004889", "0.06823960"], ["0.0003", "1.00000000"], ["0.00029204", "0.90000000"], ["0.0001", "101.00000000"]], "asks": []}

####Trade history:

puts cex.trade_history(1,'BTC/GHS')
[{"amount": "0.00000010", "price": "0.00849979", "date": "1398221957", "tid": 3628072}, {"amount": "0.00000010", "price": "0.00849979", "date": "1398221957", "tid": 3628072}]

Note: The first parameter is the since and is not optional, you will get a 5xx if you do not include it.
####Get your current active orders:

puts cex.current_orders("BF1/BTC")
[{"price": "1.7", "amount": "0.00100000", "time": "1383378514737", "type": "buy", "id": "6219104", "pending": "0.00100000"}]

Note: you can use either current_orders or open_orders.

####Place new order:

puts cex.place_order("buy", 0.001, 1.7, "BF1/BTC")
{"price": "1.7", "amount": "0.00100000", "time": 1383378987622, "type": "buy", "id": "6219145", "pending": "0.00100000"}

####Place another order (GHS/BTC):

puts cex.place_order("buy", 0.01, 0.10789, "GHS/BTC")
{"price": "0.10789", "amount": "0.01000000", "time": 1383379024072, "type": "buy", "id": "6219150", "pending": "0.00000000"}

####Cancel order:

cex.cancel_order(6219145)
True

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

cex.io-api-ruby's People

Contributors

fhur avatar jayrobin avatar jordoh avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.