Skip to content

Документация

Andrey Vasilyev edited this page Mar 11, 2018 · 6 revisions

Вам следует использовать метод check() после создания клиента. Код:

WexClient client = new WexClient("https://wex.com");

try {
    client.check();
} catch (IOException e) {
    // что-то пошло не так! возможно, это некорректный url или что-то вроде того
}

API делится на три части: public, trade and push. Официальная документация Public, Trade, Push или Public, Trade, Push.

Public API

Данный API предоставляет возможность доступа к такой информации, как: тикеры пар, активные ордера пар, последние торги по паре и др. Эта библиотека использует 3-ю версию Public API.

Info

Данный метод предоставляет всю информацию о текущих активных парах, такую как: максимальное количество знаков после запятой при торгах, минимальную цену, максимальную цену, минимальное количество при покупке/продаже, скрыта ли пара и комиссию по паре.

Код:

Info info = new WexClient("https://wex.com").publicApi().getInfo();

Соответствует запросу:

GET https://wex.com/api/3/info

Ticker

Данный метод предоставляет всю информацию о торгах по паре, такую как: максимальная цена, минимальная цена, средняя цена, объем торгов, объем торгов в валюте, последняя сделка, цена покупки и продажи. Вся информация предоставлена за последние 24 часа.

Код:

Map<String, Ticker> tickers = new WexClient("https://wex.com")
    .publicApi()
    .getTicker("btc_usd")
    .execute();

Соответствует запросу:

GET https://wex.com/api/3/ticker/btc_usd

Depth

Данный метод предоставляет информацию о активных ордерах пары.

Код:

Map<String, Depth> depths = new WexClient("https://wex.com")
    .publicApi()
    .getDepth("btc_usd")
    .execute();

Соответствует запросу:

GET https://wex.com/api/3/depth/btc_usd

Trades

Данный метод предоставляет информацию о последних сделках.

Код:

Map<String, List<Trade>> tradeMap = new WexClient("https://wex.com")
    .publicApi()
    .getTrade("btc_usd")
    .execute();

Соответствует запросу:

GET https://wex.com/api/3/trades/btc_usd

Also

Все методы с execute() имеют дополнительные параметры. Пример:

new WexClient("https://wex.com")
    .publicApi()
    .getDepth("btc_usd")
    .setLimit(1)        // indicates how many orders should be displayed
    .ignoreInvalid()    // request has no error for a non-existent pair
    .execute();

Максимальное допустимое значение setLimit() равно 5000.

Trade API

Для использования данного API необходимо создать API-ключ.

API-ключ можно создать в профиле, раздел API-ключи. После создания API-ключа вам выдается ключ и секрет. Пример API-ключа: 46G9R9D6-WJ77XOIP-XH9HH5VQ-A3XN3YOZ-8T1R8I8T.

Обратите внимание на то, что получить секрет ключа можно только в первый час после создания ключа.

Данные API-ключа используются для аутентификации.

Важно:

  • nonce - параметр, увеличивающийся на единицу с каждым запрососм. Для сброса значения nonce вам нужно создать новый ключ.
  • Sign — Подпись. POST-параметры (nonce=1&param0=val0), подписанные секретным ключом с помощью HMAC-SHA512.

GetInfo

Возвращает информацию о текущем балансе пользователя, привилегиях API-ключа, количество открытых ордеров и время сервера.

Код:

GetInfo info = new WexClient("https://wex.com", key, secret)
    .tradeApi()
    .getInfo();

Соответствует запросу:

POST https://wex.com/tapi

HEADERS:
    Key  -> <API-key from account>
    Sign -> <From all parameters from request's body and secret-key from account>

BODY:
    method=getInfo&nonce=0

Trade

Основной метод используя который можно создавать ордера и торговать на бирже.

Код:

Trade trade = new WexClient("https://wex.com", key, secret)
    .tradeApi()
    .trade(
        "btc_usd", 
        OrderType.BUY, 
        BigDecimal.valueOf(100.0), 
        BigDecimal.valueOf(1.0)
    );

Соответствует запросу:

POST https://wex.com/tapi

HEADERS:
    Key  -> <API-key from account>
    Sign -> <From all parameters from request's body and secret-key from account>

BODY:
    method=Trade&pair=btc_usd&type=buy&rate=100.0&amount=1.0&nonce=0

ActiveOrders

Возращает список ваших активных ордеров.

Код:

ActiveOrders orders = new WexClient("https://wex.com", key, secret)
    .tradeApi()
    .activeOrders("btc_usd");

Соответствует запросу:

POST https://wex.com/tapi

HEADERS:
    Key  -> <API-key from account>
    Sign -> <From all parameters from request's body and secret-key from account>

BODY:
    method=ActiveOrders&pair=btc_usd&nonce=0

OrderInfo

Возвращает информацию о конкретном ордере.

Код:

OrderInfo info = new WexClient("https://wex.com", key, secret)
    .tradeApi()
    .orderInfo(12345);

Соответствует запросу:

POST https://wex.com/tapi

HEADERS:
    Key  -> <API-key from account>
    Sign -> <From all parameters from request's body and secret-key from account>

BODY:
    method=OrderInfo&order_id=12345&nonce=0

CancelOrder

Метод предназначен для отмены ордера.

Код:

CancelOrder cancel = new WexClient("https://wex.com", key, secret)
    .tradeApi()
    .cancelOrder(12345);

Соответствует запросу:

POST https://wex.com/tapi

HEADERS:
    Key  -> <API-key from account>
    Sign -> <From all parameters from request's body and secret-key from account>

BODY:
    method=CancelOrder&order_id=12345&nonce=0

TradeHistory

Возвращает историю сделок.

Код:

TradeHistory history = new WexClient("https://wex.com", key, secret)
    .tradeApi()
    .tradeHistory()
    .from(1234)
    .count(1)                 
    .fromId(1234)             
    .endId(1234)              
    .order(SortOrder.DESC)    // sorting
    .since(1234)              // the time to start the display
    .end(1234)                // the time to end the display
    .pair("btc_usd")          // pair to be displayed
    .execute();

Соответствует запросу:

POST https://wex.com/tapi

HEADERS:
    Key  -> <API-key from account>
    Sign -> <From all parameters from request's body and secret-key from account>

BODY:
    method=TradeHistory&from=12345&count=1&from_id=1234&end_id=1234&order=desc&since=1234&end=1234&pair=btc_usd&nonce=0

TransHistory

Возвращает историю транзакций.

Код:

TransactionsHistory history = new WexClient("https://wex.com", key, secret)
    .tradeApi()
    .transactionsHistory()
    .from(1234)
    .count(1)
    .fromId(1234)
    .endId(1234)
    .order(SortOrder.DESC)
    .since(1234)
    .end(1234)
    .execute();

Соответствует запросу:

POST https://wex.com/tapi

HEADERS:
    Key  -> <API-key from account>
    Sign -> <From all parameters from request's body and secret-key from account>

BODY:
    method=TransHistory&from=12345&count=1&from_id=1234&end_id=1234&order=desc&since=1234&end=1234&nonce=0

CoinDepositAddress

Метод предназначен для получения депозитного адреса криптовалюты.

Код:

CoinDepositAddress address = new WexClient("https://wex.com", key, secret)
    .tradeApi()
    .coinDepositAddress("BTC");

Соответствует запросу:

POST https://wex.com/tapi

HEADERS:
    Key  -> <API-key from account>
    Sign -> <From all parameters from request's body and secret-key from account>

BODY:
    method=CoinDepositAddress&coinName=BTC&nonce=0

WithdrawCoin

Метод предназначен для вывода криптовалюты.

Код:

WithdrawCoin withdrawCoin = new WexClient("https://wex.com", key, secret)
    .tradeApi()
    .withdrawCoin("BTC", 0.1, "QWERTY123456");

Соответствует запросу:

POST https://wex.com/tapi

HEADERS:
    Key  -> <API-key from account>
    Sign -> <From all parameters from request's body and secret-key from account>

BODY:
    method=WithdrawCoin&coinName=BTC&amount=0.1&address=QWERTY123456&nonce=0

CreateCoupon

Метод предназначен для создания купонов.

Код:

CreateCoupon createCoupon = new WexClient("https://wex.com", key, secret)
    .tradeApi()
    .createCoupon("BTC", 0.1, "user");

Соответствует запросу:

POST https://wex.com/tapi

HEADERS:
    Key  -> <API-key from account>
    Sign -> <From all parameters from request's body and secret-key from account>

BODY:
    method=CreateCoupon&currency=BTC&amount=0.1&receiver=user&nonce=0

RedeemCoupon

Метод предназначен для погашения купонов.

Код:

RedeemCoupon redeemCoupon = new WexClient("https://wex.com", key, secret)
    .tradeApi()
    .redeemCoupon("WEXUSD1234");

Соответствует запросу:

POST https://wex.com/tapi

HEADERS:
    Key  -> <API-key from account>
    Sign -> <From all parameters from request's body and secret-key from account>

BODY:
    method=RedeemCoupon&coupon=WEXUSD1234&nonce=0

Push API

Данный API предоставляется используя сервиc Pusher.

Depth

На данных каналах рассылается информация о изменениях в стаканах.

Код:

WexClient client = new WexClient("https://wex.com", key, secret);

client.pushApi().subscribeToDepth("btc_usd", pushDepth -> {
    // do something
});

Trades

На данных каналах рассылается информация о сделках.

Код:

WexClient client = new WexClient("https://wex.com", key, secret);

client.pushApi().subscribeToTrade("btc_usd", pushTrades -> {
    // do something
});
Clone this wiki locally