diff --git a/src/main/java/com/binance/api/client/BinanceApiAsyncRestClient.java b/src/main/java/com/binance/api/client/BinanceApiAsyncRestClient.java index d0e3b1c01..2c42f4e68 100755 --- a/src/main/java/com/binance/api/client/BinanceApiAsyncRestClient.java +++ b/src/main/java/com/binance/api/client/BinanceApiAsyncRestClient.java @@ -311,4 +311,11 @@ public interface BinanceApiAsyncRestClient { * @param callback the callback that handles the response which contains a listenKey */ void closeUserDataStream(String listenKey, BinanceApiCallback callback); + + /** + * Get current average price for a symbol symbol (asynchronous). + * + * @param symbol ticker symbol (e.g. ETHBTC) + */ + void getCurrentAveragePrice(String symbol); } \ No newline at end of file diff --git a/src/main/java/com/binance/api/client/domain/market/CurrentAveragePrice.java b/src/main/java/com/binance/api/client/domain/market/CurrentAveragePrice.java new file mode 100644 index 000000000..22f2c5bce --- /dev/null +++ b/src/main/java/com/binance/api/client/domain/market/CurrentAveragePrice.java @@ -0,0 +1,37 @@ +package com.binance.api.client.domain.market; + +import com.binance.api.client.constant.BinanceApiConstants; +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import org.apache.commons.lang3.builder.ToStringBuilder; + +@JsonIgnoreProperties(ignoreUnknown = true) +public class CurrentAveragePrice { + + private Long mins; + + private String price; + + public Long getMins() { + return mins; + } + + public void setMins(Long mins) { + this.mins = mins; + } + + public String getPrice() { + return price; + } + + public void setPrice(String price) { + this.price = price; + } + + @Override + public String toString() { + return new ToStringBuilder(this, BinanceApiConstants.TO_STRING_BUILDER_STYLE) + .append("mins", mins) + .append("price", price) + .toString(); + } +} diff --git a/src/main/java/com/binance/api/client/impl/BinanceApiAsyncRestClientImpl.java b/src/main/java/com/binance/api/client/impl/BinanceApiAsyncRestClientImpl.java index e6ea387b9..815ca66b4 100755 --- a/src/main/java/com/binance/api/client/impl/BinanceApiAsyncRestClientImpl.java +++ b/src/main/java/com/binance/api/client/impl/BinanceApiAsyncRestClientImpl.java @@ -248,4 +248,9 @@ public void keepAliveUserDataStream(String listenKey, BinanceApiCallback c public void closeUserDataStream(String listenKey, BinanceApiCallback callback) { binanceApiService.closeAliveUserDataStream(listenKey).enqueue(new BinanceApiCallbackAdapter<>(callback)); } + + @Override + public void getCurrentAveragePrice(String symbol) { + binanceApiService.getCurrentAveragePrice(symbol); + } } diff --git a/src/main/java/com/binance/api/client/impl/BinanceApiService.java b/src/main/java/com/binance/api/client/impl/BinanceApiService.java index 5825f9844..8d475f20b 100755 --- a/src/main/java/com/binance/api/client/impl/BinanceApiService.java +++ b/src/main/java/com/binance/api/client/impl/BinanceApiService.java @@ -57,6 +57,9 @@ Call> getAggTrades(@Query("symbol") String symbol, @Query("fromId Call> getCandlestickBars(@Query("symbol") String symbol, @Query("interval") String interval, @Query("limit") Integer limit, @Query("startTime") Long startTime, @Query("endTime") Long endTime); + @GET("/api/v3/avgPrice") + Call getCurrentAveragePrice(@Query("symbol") String symbol); + @GET("/api/v1/ticker/24hr") Call get24HrPriceStatistics(@Query("symbol") String symbol);