github.com/vmpartner/bitmex@v1.1.0/swagger/funding_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 FundingApiService service 28 29 /* FundingApiService Get funding history. 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 []Funding*/ 41 func (a *FundingApiService) FundingGet(localVarOptionals map[string]interface{}) ([]Funding, *http.Response, error) { 42 var ( 43 localVarHttpMethod = strings.ToUpper("Get") 44 localVarPostBody interface{} 45 localVarFileName string 46 localVarFileBytes []byte 47 successPayload []Funding 48 ) 49 50 // create path and map variables 51 localVarPath := a.client.cfg.BasePath + "/funding" 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 }