io.swagger.client.api.PostTradeApi Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of upstox-java-sdk Show documentation
Show all versions of upstox-java-sdk Show documentation
The official Java client for communicating with the Upstox API
/*
* OpenAPI definition
* No description provided (generated by Swagger Codegen https://github.com/swagger-api/swagger-codegen)
*
* OpenAPI spec version: v0
*
*
* NOTE: This class is auto generated by the swagger code generator program.
* https://github.com/swagger-api/swagger-codegen.git
* Do not edit the class manually.
*/
package io.swagger.client.api;
import com.upstox.ApiCallback;
import com.upstox.ApiClient;
import com.upstox.ApiException;
import com.upstox.ApiResponse;
import com.upstox.Configuration;
import com.upstox.Pair;
import com.upstox.ProgressRequestBody;
import com.upstox.ProgressResponseBody;
import com.google.gson.reflect.TypeToken;
import java.io.IOException;
import com.upstox.api.ApiGatewayErrorResponse;
import com.upstox.api.TradeHistoryResponse;
import java.lang.reflect.Type;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class PostTradeApi {
private ApiClient apiClient;
public PostTradeApi() {
this(Configuration.getDefaultApiClient());
}
public PostTradeApi(ApiClient apiClient) {
this.apiClient = apiClient;
}
public ApiClient getApiClient() {
return apiClient;
}
public void setApiClient(ApiClient apiClient) {
this.apiClient = apiClient;
}
/**
* Build call for getTradesByDateRange
* @param startDate Date from which trade history needs to be fetched. Date in YYYY-mm-dd format (required)
* @param endDate Date till which history needs needs to be fetched. Date in YYYY-mm-dd format (required)
* @param pageNumber Page number for which you want to fetch trade history (required)
* @param pageSize How many records you want for a page (required)
* @param segment Segment for which data is requested can be from the following options EQ - Equity, FO - Futures and Options, COM - Commodity, CD - Currency Derivatives MF - Mutual Funds (optional)
* @param progressListener Progress listener
* @param progressRequestListener Progress request listener
* @return Call to execute
* @throws ApiException If fail to serialize the request body object
*/
public com.squareup.okhttp.Call getTradesByDateRangeCall(String startDate, String endDate, Integer pageNumber, Integer pageSize, String segment, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
Object localVarPostBody = null;
// create path and map variables
String localVarPath = "/v2/charges/historical-trades";
List localVarQueryParams = new ArrayList();
List localVarCollectionQueryParams = new ArrayList();
if (segment != null)
localVarQueryParams.addAll(apiClient.parameterToPair("segment", segment));
if (startDate != null)
localVarQueryParams.addAll(apiClient.parameterToPair("start_date", startDate));
if (endDate != null)
localVarQueryParams.addAll(apiClient.parameterToPair("end_date", endDate));
if (pageNumber != null)
localVarQueryParams.addAll(apiClient.parameterToPair("page_number", pageNumber));
if (pageSize != null)
localVarQueryParams.addAll(apiClient.parameterToPair("page_size", pageSize));
Map localVarHeaderParams = new HashMap();
Map localVarFormParams = new HashMap();
final String[] localVarAccepts = {
"*/*"
};
final String localVarAccept = apiClient.selectHeaderAccept(localVarAccepts);
if (localVarAccept != null) localVarHeaderParams.put("Accept", localVarAccept);
final String[] localVarContentTypes = {
};
final String localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes);
localVarHeaderParams.put("Content-Type", localVarContentType);
if(progressListener != null) {
apiClient.getHttpClient().networkInterceptors().add(new com.squareup.okhttp.Interceptor() {
@Override
public com.squareup.okhttp.Response intercept(com.squareup.okhttp.Interceptor.Chain chain) throws IOException {
com.squareup.okhttp.Response originalResponse = chain.proceed(chain.request());
return originalResponse.newBuilder()
.body(new ProgressResponseBody(originalResponse.body(), progressListener))
.build();
}
});
}
String[] localVarAuthNames = new String[] { "OAUTH2" };
return apiClient.buildCall(localVarPath, "GET", localVarQueryParams, localVarCollectionQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarAuthNames, progressRequestListener);
}
@SuppressWarnings("rawtypes")
private com.squareup.okhttp.Call getTradesByDateRangeValidateBeforeCall(String startDate, String endDate, Integer pageNumber, Integer pageSize, String segment, final ProgressResponseBody.ProgressListener progressListener, final ProgressRequestBody.ProgressRequestListener progressRequestListener) throws ApiException {
// verify the required parameter 'startDate' is set
if (startDate == null) {
throw new ApiException("Missing the required parameter 'startDate' when calling getTradesByDateRange(Async)");
}
// verify the required parameter 'endDate' is set
if (endDate == null) {
throw new ApiException("Missing the required parameter 'endDate' when calling getTradesByDateRange(Async)");
}
// verify the required parameter 'pageNumber' is set
if (pageNumber == null) {
throw new ApiException("Missing the required parameter 'pageNumber' when calling getTradesByDateRange(Async)");
}
// verify the required parameter 'pageSize' is set
if (pageSize == null) {
throw new ApiException("Missing the required parameter 'pageSize' when calling getTradesByDateRange(Async)");
}
com.squareup.okhttp.Call call = getTradesByDateRangeCall(startDate, endDate, pageNumber, pageSize, segment, progressListener, progressRequestListener);
return call;
}
/**
* Get historical trades
* This API retrieves the trade history for a specified time interval.
* @param startDate Date from which trade history needs to be fetched. Date in YYYY-mm-dd format (required)
* @param endDate Date till which history needs needs to be fetched. Date in YYYY-mm-dd format (required)
* @param pageNumber Page number for which you want to fetch trade history (required)
* @param pageSize How many records you want for a page (required)
* @param segment Segment for which data is requested can be from the following options EQ - Equity, FO - Futures and Options, COM - Commodity, CD - Currency Derivatives MF - Mutual Funds (optional)
* @return TradeHistoryResponse
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
*/
public TradeHistoryResponse getTradesByDateRange(String startDate, String endDate, Integer pageNumber, Integer pageSize, String segment) throws ApiException {
ApiResponse resp = getTradesByDateRangeWithHttpInfo(startDate, endDate, pageNumber, pageSize, segment);
return resp.getData();
}
/**
* Get historical trades
* This API retrieves the trade history for a specified time interval.
* @param startDate Date from which trade history needs to be fetched. Date in YYYY-mm-dd format (required)
* @param endDate Date till which history needs needs to be fetched. Date in YYYY-mm-dd format (required)
* @param pageNumber Page number for which you want to fetch trade history (required)
* @param pageSize How many records you want for a page (required)
* @param segment Segment for which data is requested can be from the following options EQ - Equity, FO - Futures and Options, COM - Commodity, CD - Currency Derivatives MF - Mutual Funds (optional)
* @return ApiResponse<TradeHistoryResponse>
* @throws ApiException If fail to call the API, e.g. server error or cannot deserialize the response body
*/
public ApiResponse getTradesByDateRangeWithHttpInfo(String startDate, String endDate, Integer pageNumber, Integer pageSize, String segment) throws ApiException {
com.squareup.okhttp.Call call = getTradesByDateRangeValidateBeforeCall(startDate, endDate, pageNumber, pageSize, segment, null, null);
Type localVarReturnType = new TypeToken(){}.getType();
return apiClient.execute(call, localVarReturnType);
}
/**
* Get historical trades (asynchronously)
* This API retrieves the trade history for a specified time interval.
* @param startDate Date from which trade history needs to be fetched. Date in YYYY-mm-dd format (required)
* @param endDate Date till which history needs needs to be fetched. Date in YYYY-mm-dd format (required)
* @param pageNumber Page number for which you want to fetch trade history (required)
* @param pageSize How many records you want for a page (required)
* @param segment Segment for which data is requested can be from the following options EQ - Equity, FO - Futures and Options, COM - Commodity, CD - Currency Derivatives MF - Mutual Funds (optional)
* @param callback The callback to be executed when the API call finishes
* @return The request call
* @throws ApiException If fail to process the API call, e.g. serializing the request body object
*/
public com.squareup.okhttp.Call getTradesByDateRangeAsync(String startDate, String endDate, Integer pageNumber, Integer pageSize, String segment, final ApiCallback callback) throws ApiException {
ProgressResponseBody.ProgressListener progressListener = null;
ProgressRequestBody.ProgressRequestListener progressRequestListener = null;
if (callback != null) {
progressListener = new ProgressResponseBody.ProgressListener() {
@Override
public void update(long bytesRead, long contentLength, boolean done) {
callback.onDownloadProgress(bytesRead, contentLength, done);
}
};
progressRequestListener = new ProgressRequestBody.ProgressRequestListener() {
@Override
public void onRequestProgress(long bytesWritten, long contentLength, boolean done) {
callback.onUploadProgress(bytesWritten, contentLength, done);
}
};
}
com.squareup.okhttp.Call call = getTradesByDateRangeValidateBeforeCall(startDate, endDate, pageNumber, pageSize, segment, progressListener, progressRequestListener);
Type localVarReturnType = new TypeToken(){}.getType();
apiClient.executeAsync(call, localVarReturnType, callback);
return call;
}
}