github.com/vmpartner/bitmex@v1.1.0/swagger/quote_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 QuoteApiService service 28 29 /* QuoteApiService Get Quotes. 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 []Quote*/ 41 func (a *QuoteApiService) QuoteGet(localVarOptionals map[string]interface{}) ([]Quote, *http.Response, error) { 42 var ( 43 localVarHttpMethod = strings.ToUpper("Get") 44 localVarPostBody interface{} 45 localVarFileName string 46 localVarFileBytes []byte 47 successPayload []Quote 48 ) 49 50 // create path and map variables 51 localVarPath := a.client.cfg.BasePath + "/quote" 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 } 149 150 /* QuoteApiService Get previous quotes in time buckets. 151 152 @param optional (nil or map[string]interface{}) with one or more of: 153 @param "binSize" (string) Time interval to bucket by. Available options: [1m,5m,1h,1d]. 154 @param "partial" (bool) If true, will send in-progress (incomplete) bins for the current time period. 155 @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`. 156 @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. 157 @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. 158 @param "count" (float32) Number of results to fetch. 159 @param "start" (float32) Starting point for results. 160 @param "reverse" (bool) If true, will sort results newest first. 161 @param "startTime" (time.Time) Starting date filter for results. 162 @param "endTime" (time.Time) Ending date filter for results. 163 @return []Quote*/ 164 func (a *QuoteApiService) QuoteGetBucketed(localVarOptionals map[string]interface{}) ([]Quote, *http.Response, error) { 165 var ( 166 localVarHttpMethod = strings.ToUpper("Get") 167 localVarPostBody interface{} 168 localVarFileName string 169 localVarFileBytes []byte 170 successPayload []Quote 171 ) 172 173 // create path and map variables 174 localVarPath := a.client.cfg.BasePath + "/quote/bucketed" 175 176 localVarHeaderParams := make(map[string]string) 177 localVarQueryParams := url.Values{} 178 localVarFormParams := url.Values{} 179 180 if err := typeCheckParameter(localVarOptionals["binSize"], "string", "binSize"); err != nil { 181 return successPayload, nil, err 182 } 183 if err := typeCheckParameter(localVarOptionals["partial"], "bool", "partial"); err != nil { 184 return successPayload, nil, err 185 } 186 if err := typeCheckParameter(localVarOptionals["symbol"], "string", "symbol"); err != nil { 187 return successPayload, nil, err 188 } 189 if err := typeCheckParameter(localVarOptionals["filter"], "string", "filter"); err != nil { 190 return successPayload, nil, err 191 } 192 if err := typeCheckParameter(localVarOptionals["columns"], "string", "columns"); err != nil { 193 return successPayload, nil, err 194 } 195 if err := typeCheckParameter(localVarOptionals["count"], "float32", "count"); err != nil { 196 return successPayload, nil, err 197 } 198 if err := typeCheckParameter(localVarOptionals["start"], "float32", "start"); err != nil { 199 return successPayload, nil, err 200 } 201 if err := typeCheckParameter(localVarOptionals["reverse"], "bool", "reverse"); err != nil { 202 return successPayload, nil, err 203 } 204 if err := typeCheckParameter(localVarOptionals["startTime"], "time.Time", "startTime"); err != nil { 205 return successPayload, nil, err 206 } 207 if err := typeCheckParameter(localVarOptionals["endTime"], "time.Time", "endTime"); err != nil { 208 return successPayload, nil, err 209 } 210 211 if localVarTempParam, localVarOk := localVarOptionals["binSize"].(string); localVarOk { 212 localVarQueryParams.Add("binSize", parameterToString(localVarTempParam, "")) 213 } 214 if localVarTempParam, localVarOk := localVarOptionals["partial"].(bool); localVarOk { 215 localVarQueryParams.Add("partial", parameterToString(localVarTempParam, "")) 216 } 217 if localVarTempParam, localVarOk := localVarOptionals["symbol"].(string); localVarOk { 218 localVarQueryParams.Add("symbol", parameterToString(localVarTempParam, "")) 219 } 220 if localVarTempParam, localVarOk := localVarOptionals["filter"].(string); localVarOk { 221 localVarQueryParams.Add("filter", parameterToString(localVarTempParam, "")) 222 } 223 if localVarTempParam, localVarOk := localVarOptionals["columns"].(string); localVarOk { 224 localVarQueryParams.Add("columns", parameterToString(localVarTempParam, "")) 225 } 226 if localVarTempParam, localVarOk := localVarOptionals["count"].(float32); localVarOk { 227 localVarQueryParams.Add("count", parameterToString(localVarTempParam, "")) 228 } 229 if localVarTempParam, localVarOk := localVarOptionals["start"].(float32); localVarOk { 230 localVarQueryParams.Add("start", parameterToString(localVarTempParam, "")) 231 } 232 if localVarTempParam, localVarOk := localVarOptionals["reverse"].(bool); localVarOk { 233 localVarQueryParams.Add("reverse", parameterToString(localVarTempParam, "")) 234 } 235 if localVarTempParam, localVarOk := localVarOptionals["startTime"].(time.Time); localVarOk { 236 localVarQueryParams.Add("startTime", parameterToString(localVarTempParam, "")) 237 } 238 if localVarTempParam, localVarOk := localVarOptionals["endTime"].(time.Time); localVarOk { 239 localVarQueryParams.Add("endTime", parameterToString(localVarTempParam, "")) 240 } 241 // to determine the Content-Type header 242 localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",} 243 244 // set Content-Type header 245 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 246 if localVarHttpContentType != "" { 247 localVarHeaderParams["Content-Type"] = localVarHttpContentType 248 } 249 250 // to determine the Accept header 251 localVarHttpHeaderAccepts := []string{ 252 "application/json", 253 "application/xml", 254 "text/xml", 255 "application/javascript", 256 "text/javascript", 257 } 258 259 // set Accept header 260 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 261 if localVarHttpHeaderAccept != "" { 262 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 263 } 264 r, err := a.client.prepareRequest(nil, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 265 if err != nil { 266 return successPayload, nil, err 267 } 268 269 localVarHttpResponse, err := a.client.callAPI(r) 270 if err != nil || localVarHttpResponse == nil { 271 return successPayload, localVarHttpResponse, err 272 } 273 defer localVarHttpResponse.Body.Close() 274 if localVarHttpResponse.StatusCode >= 300 { 275 return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status) 276 } 277 278 if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil { 279 return successPayload, localVarHttpResponse, err 280 } 281 282 return successPayload, localVarHttpResponse, err 283 }