github.com/vmpartner/bitmex@v1.1.0/swagger/liquidation_api.go (about)

     1  /* 
     2   * BitMEX API
     3   *
     4   * ## REST API for the BitMEX Trading Platform  [View Changelog](/app/apiChangelog)    #### Getting Started   ##### Fetching Data  All REST endpoints are documented below. You can try out any query right from this interface.  Most table queries accept `count`, `start`, and `reverse` params. Set `reverse=true` to get rows newest-first.  Additional documentation regarding filters, timestamps, and authentication is available in [the main API documentation](https://www.bitmex.com/app/restAPI).  *All* table data is available via the [Websocket](/app/wsAPI). We highly recommend using the socket if you want to have the quickest possible data without being subject to ratelimits.  ##### Return Types  By default, all data is returned as JSON. Send `?_format=csv` to get CSV data or `?_format=xml` to get XML data.  ##### Trade Data Queries  *This is only a small subset of what is available, to get you started.*  Fill in the parameters and click the `Try it out!` button to try any of these queries.  * [Pricing Data](#!/Quote/Quote_get)  * [Trade Data](#!/Trade/Trade_get)  * [OrderBook Data](#!/OrderBook/OrderBook_getL2)  * [Settlement Data](#!/Settlement/Settlement_get)  * [Exchange Statistics](#!/Stats/Stats_history)  Every function of the BitMEX.com platform is exposed here and documented. Many more functions are available.  ##### Swagger Specification  [⇩ Download Swagger JSON](swagger.json)    ## All API Endpoints  Click to expand a section. 
     5   *
     6   * OpenAPI spec version: 1.2.0
     7   * Contact: support@bitmex.com
     8   * Generated by: https://github.com/swagger-api/swagger-codegen.git
     9   */
    10  
    11  package swagger
    12  
    13  import (
    14  	"net/url"
    15  	"net/http"
    16  	"strings"
    17  	"golang.org/x/net/context"
    18  	"time"
    19  	"encoding/json"
    20  )
    21  
    22  // Linger please
    23  var (
    24  	_ context.Context
    25  )
    26  
    27  type LiquidationApiService service
    28  
    29  /* LiquidationApiService Get liquidation orders.
    30  
    31   @param optional (nil or map[string]interface{}) with one or more of:
    32       @param "symbol" (string) Instrument symbol. Send a bare series (e.g. XBU) to get data for the nearest expiring contract in that series.  You can also send a timeframe, e.g. `XBU:monthly`. Timeframes are `daily`, `weekly`, `monthly`, `quarterly`, and `biquarterly`.
    33       @param "filter" (string) Generic table filter. Send JSON key/value pairs, such as `{\"key\": \"value\"}`. You can key on individual fields, and do more advanced querying on timestamps. See the [Timestamp Docs](https://www.bitmex.com/app/restAPI#timestamp-filters) for more details.
    34       @param "columns" (string) Array of column names to fetch. If omitted, will return all columns.  Note that this method will always return item keys, even when not specified, so you may receive more columns that you expect.
    35       @param "count" (float32) Number of results to fetch.
    36       @param "start" (float32) Starting point for results.
    37       @param "reverse" (bool) If true, will sort results newest first.
    38       @param "startTime" (time.Time) Starting date filter for results.
    39       @param "endTime" (time.Time) Ending date filter for results.
    40   @return []Liquidation*/
    41  func (a *LiquidationApiService) LiquidationGet(localVarOptionals map[string]interface{}) ([]Liquidation, *http.Response, error) {
    42  	var (
    43  		localVarHttpMethod = strings.ToUpper("Get")
    44  		localVarPostBody   interface{}
    45  		localVarFileName   string
    46  		localVarFileBytes  []byte
    47  		successPayload     []Liquidation
    48  	)
    49  
    50  	// create path and map variables
    51  	localVarPath := a.client.cfg.BasePath + "/liquidation"
    52  
    53  	localVarHeaderParams := make(map[string]string)
    54  	localVarQueryParams := url.Values{}
    55  	localVarFormParams := url.Values{}
    56  
    57  	if err := typeCheckParameter(localVarOptionals["symbol"], "string", "symbol"); err != nil {
    58  		return successPayload, nil, err
    59  	}
    60  	if err := typeCheckParameter(localVarOptionals["filter"], "string", "filter"); err != nil {
    61  		return successPayload, nil, err
    62  	}
    63  	if err := typeCheckParameter(localVarOptionals["columns"], "string", "columns"); err != nil {
    64  		return successPayload, nil, err
    65  	}
    66  	if err := typeCheckParameter(localVarOptionals["count"], "float32", "count"); err != nil {
    67  		return successPayload, nil, err
    68  	}
    69  	if err := typeCheckParameter(localVarOptionals["start"], "float32", "start"); err != nil {
    70  		return successPayload, nil, err
    71  	}
    72  	if err := typeCheckParameter(localVarOptionals["reverse"], "bool", "reverse"); err != nil {
    73  		return successPayload, nil, err
    74  	}
    75  	if err := typeCheckParameter(localVarOptionals["startTime"], "time.Time", "startTime"); err != nil {
    76  		return successPayload, nil, err
    77  	}
    78  	if err := typeCheckParameter(localVarOptionals["endTime"], "time.Time", "endTime"); err != nil {
    79  		return successPayload, nil, err
    80  	}
    81  
    82  	if localVarTempParam, localVarOk := localVarOptionals["symbol"].(string); localVarOk {
    83  		localVarQueryParams.Add("symbol", parameterToString(localVarTempParam, ""))
    84  	}
    85  	if localVarTempParam, localVarOk := localVarOptionals["filter"].(string); localVarOk {
    86  		localVarQueryParams.Add("filter", parameterToString(localVarTempParam, ""))
    87  	}
    88  	if localVarTempParam, localVarOk := localVarOptionals["columns"].(string); localVarOk {
    89  		localVarQueryParams.Add("columns", parameterToString(localVarTempParam, ""))
    90  	}
    91  	if localVarTempParam, localVarOk := localVarOptionals["count"].(float32); localVarOk {
    92  		localVarQueryParams.Add("count", parameterToString(localVarTempParam, ""))
    93  	}
    94  	if localVarTempParam, localVarOk := localVarOptionals["start"].(float32); localVarOk {
    95  		localVarQueryParams.Add("start", parameterToString(localVarTempParam, ""))
    96  	}
    97  	if localVarTempParam, localVarOk := localVarOptionals["reverse"].(bool); localVarOk {
    98  		localVarQueryParams.Add("reverse", parameterToString(localVarTempParam, ""))
    99  	}
   100  	if localVarTempParam, localVarOk := localVarOptionals["startTime"].(time.Time); localVarOk {
   101  		localVarQueryParams.Add("startTime", parameterToString(localVarTempParam, ""))
   102  	}
   103  	if localVarTempParam, localVarOk := localVarOptionals["endTime"].(time.Time); localVarOk {
   104  		localVarQueryParams.Add("endTime", parameterToString(localVarTempParam, ""))
   105  	}
   106  	// to determine the Content-Type header
   107  	localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",}
   108  
   109  	// set Content-Type header
   110  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   111  	if localVarHttpContentType != "" {
   112  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   113  	}
   114  
   115  	// to determine the Accept header
   116  	localVarHttpHeaderAccepts := []string{
   117  		"application/json",
   118  		"application/xml",
   119  		"text/xml",
   120  		"application/javascript",
   121  		"text/javascript",
   122  	}
   123  
   124  	// set Accept header
   125  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   126  	if localVarHttpHeaderAccept != "" {
   127  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   128  	}
   129  	r, err := a.client.prepareRequest(nil, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   130  	if err != nil {
   131  		return successPayload, nil, err
   132  	}
   133  
   134  	localVarHttpResponse, err := a.client.callAPI(r)
   135  	if err != nil || localVarHttpResponse == nil {
   136  		return successPayload, localVarHttpResponse, err
   137  	}
   138  	defer localVarHttpResponse.Body.Close()
   139  	if localVarHttpResponse.StatusCode >= 300 {
   140  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
   141  	}
   142  
   143  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
   144  		return successPayload, localVarHttpResponse, err
   145  	}
   146  
   147  	return successPayload, localVarHttpResponse, err
   148  }