package org.knowm.xchange.quoine; import java.io.IOException; import javax.ws.rs.Consumes; import javax.ws.rs.GET; import javax.ws.rs.HeaderParam; import javax.ws.rs.POST; import javax.ws.rs.PUT; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; import org.knowm.xchange.quoine.dto.account.*; import org.knowm.xchange.quoine.dto.trade.*; import si.mazi.rescu.ParamsDigest; @Path("/") @Produces(MediaType.APPLICATION_JSON) public interface QuoineAuthenticated extends Quoine { @GET @Path("fiat_accounts") public FiatAccount[] getFiatAccountInfo( @HeaderParam("X-Quoine-API-Version") int apiVersion, @HeaderParam("X-Quoine-Auth") ParamsDigest signer, @HeaderParam("Content-Type") String contentType) throws IOException; @GET @Path("crypto_accounts") public BitcoinAccount[] getCryptoAccountInfo( @HeaderParam("X-Quoine-API-Version") int apiVersion, @HeaderParam("X-Quoine-Auth") ParamsDigest signer, @HeaderParam("Content-Type") String contentType) throws IOException; @GET @Path("accounts/balance") public QuoineAccountBalance[] getAllBalance( @HeaderParam("X-Quoine-API-Version") int apiVersion, @HeaderParam("X-Quoine-Auth") ParamsDigest signer, @HeaderParam("Content-Type") String contentType) throws IOException; @GET @Path("trading_accounts") public QuoineTradingAccountInfo[] getTradingAccountInfo( @HeaderParam("X-Quoine-API-Version") int apiVersion, @HeaderParam("X-Quoine-Auth") ParamsDigest signer, @HeaderParam("Content-Type") String contentType) throws IOException; @POST @Path("orders/") @Consumes(MediaType.APPLICATION_JSON) public QuoineOrderResponse placeOrder( @HeaderParam("X-Quoine-API-Version") int apiVersion, @HeaderParam("X-Quoine-Auth") ParamsDigest signer, @HeaderParam("Content-Type") String contentTyp, QuoineNewOrderRequestWrapper quoineNewOrderRequestWrapper) throws IOException; @PUT @Path("orders/{order_id}/cancel") public QuoineOrderResponse cancelOrder( @HeaderParam("X-Quoine-API-Version") int apiVersion, @HeaderParam("X-Quoine-Auth") ParamsDigest signer, @HeaderParam("Content-Type") String contentTyp, @PathParam("order_id") String orderID) throws IOException; @GET @Path("orders/{order_id}") public QuoineOrderDetailsResponse orderDetails( @HeaderParam("X-Quoine-API-Version") int apiVersion, @HeaderParam("X-Quoine-Auth") ParamsDigest signer, @HeaderParam("Content-Type") String contentTyp, @PathParam("order_id") String orderID) throws IOException; @GET @Path("orders") public QuoineOrdersList listOrders( @HeaderParam("X-Quoine-API-Version") int apiVersion, @HeaderParam("X-Quoine-Auth") ParamsDigest signer, @HeaderParam("Content-Type") String contentTyp) throws IOException; }