-
Notifications
You must be signed in to change notification settings - Fork 2
Документация
Вам следует использовать метод 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.
Данный API предоставляет возможность доступа к такой информации, как: тикеры пар, активные ордера пар, последние торги по паре и др. Эта библиотека использует 3-ю версию Public API.
Данный метод предоставляет всю информацию о текущих активных парах, такую как: максимальное количество знаков после запятой при торгах, минимальную цену, максимальную цену, минимальное количество при покупке/продаже, скрыта ли пара и комиссию по паре.
Код:
Info info = new WexClient("https://wex.com").publicApi().getInfo();
Соответствует запросу:
GET https://wex.com/api/3/info
Данный метод предоставляет всю информацию о торгах по паре, такую как: максимальная цена, минимальная цена, средняя цена, объем торгов, объем торгов в валюте, последняя сделка, цена покупки и продажи. Вся информация предоставлена за последние 24 часа.
Код:
Map<String, Ticker> tickers = new WexClient("https://wex.com")
.publicApi()
.getTicker("btc_usd")
.execute();
Соответствует запросу:
GET https://wex.com/api/3/ticker/btc_usd
Данный метод предоставляет информацию о активных ордерах пары.
Код:
Map<String, Depth> depths = new WexClient("https://wex.com")
.publicApi()
.getDepth("btc_usd")
.execute();
Соответствует запросу:
GET https://wex.com/api/3/depth/btc_usd
Данный метод предоставляет информацию о последних сделках.
Код:
Map<String, List<Trade>> tradeMap = new WexClient("https://wex.com")
.publicApi()
.getTrade("btc_usd")
.execute();
Соответствует запросу:
GET https://wex.com/api/3/trades/btc_usd
Все методы с 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.
Для использования данного API необходимо создать API-ключ.
API-ключ можно создать в профиле, раздел API-ключи. После создания API-ключа вам выдается ключ и секрет. Пример API-ключа: 46G9R9D6-WJ77XOIP-XH9HH5VQ-A3XN3YOZ-8T1R8I8T
.
Обратите внимание на то, что получить секрет ключа можно только в первый час после создания ключа.
Данные API-ключа используются для аутентификации.
Важно:
- nonce - параметр, увеличивающийся на единицу с каждым запрососм. Для сброса значения nonce вам нужно создать новый ключ.
-
Sign — Подпись. POST-параметры (
nonce=1¶m0=val0
), подписанные секретным ключом с помощью HMAC-SHA512.
Возвращает информацию о текущем балансе пользователя, привилегиях 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 = 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 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 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 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 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
Возвращает историю транзакций.
Код:
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 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 = 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 = 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¤cy=BTC&amount=0.1&receiver=user&nonce=0
Метод предназначен для погашения купонов.
Код:
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
Данный API предоставляется используя сервиc Pusher.
На данных каналах рассылается информация о изменениях в стаканах.
Код:
WexClient client = new WexClient("https://wex.com", key, secret);
client.pushApi().subscribeToDepth("btc_usd", pushDepth -> {
// do something
});
На данных каналах рассылается информация о сделках.
Код:
WexClient client = new WexClient("https://wex.com", key, secret);
client.pushApi().subscribeToTrade("btc_usd", pushTrades -> {
// do something
});