All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.knowm.xchange.btcmarkets.BTCMarketsAuthenticated Maven / Gradle / Ivy

There is a newer version: 5.2.0
Show newest version
package org.knowm.xchange.btcmarkets;

import java.io.IOException;
import java.util.List;

import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.HeaderParam;
import javax.ws.rs.POST;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.MediaType;

import org.knowm.xchange.btcmarkets.dto.BTCMarketsException;
import org.knowm.xchange.btcmarkets.dto.account.BTCMarketsBalance;
import org.knowm.xchange.btcmarkets.dto.trade.BTCMarketsCancelOrderRequest;
import org.knowm.xchange.btcmarkets.dto.trade.BTCMarketsCancelOrderResponse;
import org.knowm.xchange.btcmarkets.dto.trade.BTCMarketsMyTradingRequest;
import org.knowm.xchange.btcmarkets.dto.trade.BTCMarketsOrder;
import org.knowm.xchange.btcmarkets.dto.trade.BTCMarketsOrders;
import org.knowm.xchange.btcmarkets.dto.trade.BTCMarketsPlaceOrderResponse;
import org.knowm.xchange.btcmarkets.dto.trade.BTCMarketsTradeHistory;
import org.knowm.xchange.btcmarkets.service.BTCMarketsDigest;

import si.mazi.rescu.SynchronizedValueFactory;

@Path("/")
@Produces(MediaType.APPLICATION_JSON)
public interface BTCMarketsAuthenticated {

  @GET
  @Path("account/balance")
  List getBalance(@HeaderParam("apikey") String publicKey, @HeaderParam("timestamp") SynchronizedValueFactory nonceFactory,
      @HeaderParam("signature") BTCMarketsDigest signer) throws BTCMarketsException, IOException;

  @POST
  @Path("order/create")
  @Consumes(MediaType.APPLICATION_JSON)
  BTCMarketsPlaceOrderResponse placeOrder(@HeaderParam("apikey") String publicKey,
      @HeaderParam("timestamp") SynchronizedValueFactory nonceFactory, @HeaderParam("signature") BTCMarketsDigest signer, BTCMarketsOrder order)
      throws BTCMarketsException, IOException;

  @POST
  @Path("order/cancel")
  @Consumes(MediaType.APPLICATION_JSON)
  BTCMarketsCancelOrderResponse cancelOrder(@HeaderParam("apikey") String publicKey,
      @HeaderParam("timestamp") SynchronizedValueFactory nonceFactory, @HeaderParam("signature") BTCMarketsDigest signer,
      BTCMarketsCancelOrderRequest request) throws BTCMarketsException, IOException;

  @POST
  @Path("order/open")
  @Consumes(MediaType.APPLICATION_JSON)
  BTCMarketsOrders getOpenOrders(@HeaderParam("apikey") String publicKey, @HeaderParam("timestamp") SynchronizedValueFactory nonceFactory,
      @HeaderParam("signature") BTCMarketsDigest signer, BTCMarketsMyTradingRequest request) throws BTCMarketsException, IOException;

  @POST
  @Path("order/history")
  @Consumes(MediaType.APPLICATION_JSON)
  BTCMarketsOrders getOrderHistory(@HeaderParam("apikey") String publicKey, @HeaderParam("timestamp") SynchronizedValueFactory nonceFactory,
      @HeaderParam("signature") BTCMarketsDigest signer, BTCMarketsMyTradingRequest request) throws BTCMarketsException, IOException;

  @POST
  @Path("order/trade/history")
  @Consumes(MediaType.APPLICATION_JSON)
  BTCMarketsTradeHistory getTradeHistory(@HeaderParam("apikey") String publicKey,
      @HeaderParam("timestamp") SynchronizedValueFactory nonceFactory, @HeaderParam("signature") BTCMarketsDigest signer,
      BTCMarketsMyTradingRequest request) throws BTCMarketsException, IOException;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy