github.com/vmpartner/bitmex@v1.1.0/swagger/order_book_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  	"encoding/json"
    19  )
    20  
    21  // Linger please
    22  var (
    23  	_ context.Context
    24  )
    25  
    26  type OrderBookApiService service
    27  
    28  /* OrderBookApiService Get current orderbook [deprecated, use /orderBook/L2].
    29  
    30   @param symbol Instrument symbol. Send a series (e.g. XBT) to get data for the nearest contract in that series.
    31   @param optional (nil or map[string]interface{}) with one or more of:
    32       @param "depth" (float32) Orderbook depth.
    33   @return []OrderBook*/
    34  func (a *OrderBookApiService) OrderBookGet(symbol string, localVarOptionals map[string]interface{}) ([]OrderBook, *http.Response, error) {
    35  	var (
    36  		localVarHttpMethod = strings.ToUpper("Get")
    37  		localVarPostBody   interface{}
    38  		localVarFileName   string
    39  		localVarFileBytes  []byte
    40  		successPayload     []OrderBook
    41  	)
    42  
    43  	// create path and map variables
    44  	localVarPath := a.client.cfg.BasePath + "/orderBook"
    45  
    46  	localVarHeaderParams := make(map[string]string)
    47  	localVarQueryParams := url.Values{}
    48  	localVarFormParams := url.Values{}
    49  
    50  	if err := typeCheckParameter(localVarOptionals["depth"], "float32", "depth"); err != nil {
    51  		return successPayload, nil, err
    52  	}
    53  
    54  	localVarQueryParams.Add("symbol", parameterToString(symbol, ""))
    55  	if localVarTempParam, localVarOk := localVarOptionals["depth"].(float32); localVarOk {
    56  		localVarQueryParams.Add("depth", parameterToString(localVarTempParam, ""))
    57  	}
    58  	// to determine the Content-Type header
    59  	localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",}
    60  
    61  	// set Content-Type header
    62  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
    63  	if localVarHttpContentType != "" {
    64  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
    65  	}
    66  
    67  	// to determine the Accept header
    68  	localVarHttpHeaderAccepts := []string{
    69  		"application/json",
    70  		"application/xml",
    71  		"text/xml",
    72  		"application/javascript",
    73  		"text/javascript",
    74  	}
    75  
    76  	// set Accept header
    77  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
    78  	if localVarHttpHeaderAccept != "" {
    79  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
    80  	}
    81  	r, err := a.client.prepareRequest(nil, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
    82  	if err != nil {
    83  		return successPayload, nil, err
    84  	}
    85  
    86  	localVarHttpResponse, err := a.client.callAPI(r)
    87  	if err != nil || localVarHttpResponse == nil {
    88  		return successPayload, localVarHttpResponse, err
    89  	}
    90  	defer localVarHttpResponse.Body.Close()
    91  	if localVarHttpResponse.StatusCode >= 300 {
    92  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
    93  	}
    94  
    95  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
    96  		return successPayload, localVarHttpResponse, err
    97  	}
    98  
    99  	return successPayload, localVarHttpResponse, err
   100  }
   101  
   102  /* OrderBookApiService Get current orderbook in vertical format.
   103  
   104   @param symbol Instrument symbol. Send a series (e.g. XBT) to get data for the nearest contract in that series.
   105   @param optional (nil or map[string]interface{}) with one or more of:
   106       @param "depth" (float32) Orderbook depth per side. Send 0 for full depth.
   107   @return []OrderBookL2*/
   108  func (a *OrderBookApiService) OrderBookGetL2(symbol string, localVarOptionals map[string]interface{}) ([]OrderBookL2, *http.Response, error) {
   109  	var (
   110  		localVarHttpMethod = strings.ToUpper("Get")
   111  		localVarPostBody   interface{}
   112  		localVarFileName   string
   113  		localVarFileBytes  []byte
   114  		successPayload     []OrderBookL2
   115  	)
   116  
   117  	// create path and map variables
   118  	localVarPath := a.client.cfg.BasePath + "/orderBook/L2"
   119  
   120  	localVarHeaderParams := make(map[string]string)
   121  	localVarQueryParams := url.Values{}
   122  	localVarFormParams := url.Values{}
   123  
   124  	if err := typeCheckParameter(localVarOptionals["depth"], "float32", "depth"); err != nil {
   125  		return successPayload, nil, err
   126  	}
   127  
   128  	localVarQueryParams.Add("symbol", parameterToString(symbol, ""))
   129  	if localVarTempParam, localVarOk := localVarOptionals["depth"].(float32); localVarOk {
   130  		localVarQueryParams.Add("depth", parameterToString(localVarTempParam, ""))
   131  	}
   132  	// to determine the Content-Type header
   133  	localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",}
   134  
   135  	// set Content-Type header
   136  	localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes)
   137  	if localVarHttpContentType != "" {
   138  		localVarHeaderParams["Content-Type"] = localVarHttpContentType
   139  	}
   140  
   141  	// to determine the Accept header
   142  	localVarHttpHeaderAccepts := []string{
   143  		"application/json",
   144  		"application/xml",
   145  		"text/xml",
   146  		"application/javascript",
   147  		"text/javascript",
   148  	}
   149  
   150  	// set Accept header
   151  	localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts)
   152  	if localVarHttpHeaderAccept != "" {
   153  		localVarHeaderParams["Accept"] = localVarHttpHeaderAccept
   154  	}
   155  	r, err := a.client.prepareRequest(nil, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes)
   156  	if err != nil {
   157  		return successPayload, nil, err
   158  	}
   159  
   160  	localVarHttpResponse, err := a.client.callAPI(r)
   161  	if err != nil || localVarHttpResponse == nil {
   162  		return successPayload, localVarHttpResponse, err
   163  	}
   164  	defer localVarHttpResponse.Body.Close()
   165  	if localVarHttpResponse.StatusCode >= 300 {
   166  		return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status)
   167  	}
   168  
   169  	if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil {
   170  		return successPayload, localVarHttpResponse, err
   171  	}
   172  
   173  	return successPayload, localVarHttpResponse, err
   174  }