github.com/vmpartner/bitmex@v1.1.0/swagger/announcement_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 AnnouncementApiService service 27 28 /* AnnouncementApiService Get site announcements. 29 30 @param optional (nil or map[string]interface{}) with one or more of: 31 @param "columns" (string) Array of column names to fetch. If omitted, will return all columns. 32 @return []Announcement*/ 33 func (a *AnnouncementApiService) AnnouncementGet(localVarOptionals map[string]interface{}) ([]Announcement, *http.Response, error) { 34 var ( 35 localVarHttpMethod = strings.ToUpper("Get") 36 localVarPostBody interface{} 37 localVarFileName string 38 localVarFileBytes []byte 39 successPayload []Announcement 40 ) 41 42 // create path and map variables 43 localVarPath := a.client.cfg.BasePath + "/announcement" 44 45 localVarHeaderParams := make(map[string]string) 46 localVarQueryParams := url.Values{} 47 localVarFormParams := url.Values{} 48 49 if err := typeCheckParameter(localVarOptionals["columns"], "string", "columns"); err != nil { 50 return successPayload, nil, err 51 } 52 53 if localVarTempParam, localVarOk := localVarOptionals["columns"].(string); localVarOk { 54 localVarQueryParams.Add("columns", parameterToString(localVarTempParam, "")) 55 } 56 // to determine the Content-Type header 57 localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",} 58 59 // set Content-Type header 60 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 61 if localVarHttpContentType != "" { 62 localVarHeaderParams["Content-Type"] = localVarHttpContentType 63 } 64 65 // to determine the Accept header 66 localVarHttpHeaderAccepts := []string{ 67 "application/json", 68 "application/xml", 69 "text/xml", 70 "application/javascript", 71 "text/javascript", 72 } 73 74 // set Accept header 75 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 76 if localVarHttpHeaderAccept != "" { 77 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 78 } 79 r, err := a.client.prepareRequest(nil, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 80 if err != nil { 81 return successPayload, nil, err 82 } 83 84 localVarHttpResponse, err := a.client.callAPI(r) 85 if err != nil || localVarHttpResponse == nil { 86 return successPayload, localVarHttpResponse, err 87 } 88 defer localVarHttpResponse.Body.Close() 89 if localVarHttpResponse.StatusCode >= 300 { 90 return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status) 91 } 92 93 if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil { 94 return successPayload, localVarHttpResponse, err 95 } 96 97 return successPayload, localVarHttpResponse, err 98 } 99 100 /* AnnouncementApiService Get urgent (banner) announcements. 101 * @param ctx context.Context Authentication Context 102 @return []Announcement*/ 103 func (a *AnnouncementApiService) AnnouncementGetUrgent(ctx context.Context, ) ([]Announcement, *http.Response, error) { 104 var ( 105 localVarHttpMethod = strings.ToUpper("Get") 106 localVarPostBody interface{} 107 localVarFileName string 108 localVarFileBytes []byte 109 successPayload []Announcement 110 ) 111 112 // create path and map variables 113 localVarPath := a.client.cfg.BasePath + "/announcement/urgent" 114 115 localVarHeaderParams := make(map[string]string) 116 localVarQueryParams := url.Values{} 117 localVarFormParams := url.Values{} 118 119 // to determine the Content-Type header 120 localVarHttpContentTypes := []string{"application/json", "application/x-www-form-urlencoded",} 121 122 // set Content-Type header 123 localVarHttpContentType := selectHeaderContentType(localVarHttpContentTypes) 124 if localVarHttpContentType != "" { 125 localVarHeaderParams["Content-Type"] = localVarHttpContentType 126 } 127 128 // to determine the Accept header 129 localVarHttpHeaderAccepts := []string{ 130 "application/json", 131 "application/xml", 132 "text/xml", 133 "application/javascript", 134 "text/javascript", 135 } 136 137 // set Accept header 138 localVarHttpHeaderAccept := selectHeaderAccept(localVarHttpHeaderAccepts) 139 if localVarHttpHeaderAccept != "" { 140 localVarHeaderParams["Accept"] = localVarHttpHeaderAccept 141 } 142 if ctx != nil { 143 // API Key Authentication 144 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 145 var key string 146 if auth.Prefix != "" { 147 key = auth.Prefix + " " + auth.Key 148 } else { 149 key = auth.Key 150 } 151 localVarHeaderParams["api-key"] = key 152 } 153 } 154 if ctx != nil { 155 // API Key Authentication 156 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 157 var key string 158 if auth.Prefix != "" { 159 key = auth.Prefix + " " + auth.Key 160 } else { 161 key = auth.Key 162 } 163 localVarHeaderParams["api-nonce"] = key 164 } 165 } 166 if ctx != nil { 167 // API Key Authentication 168 if auth, ok := ctx.Value(ContextAPIKey).(APIKey); ok { 169 var key string 170 if auth.Prefix != "" { 171 key = auth.Prefix + " " + auth.Key 172 } else { 173 key = auth.Key 174 } 175 localVarHeaderParams["api-signature"] = key 176 } 177 } 178 r, err := a.client.prepareRequest(ctx, localVarPath, localVarHttpMethod, localVarPostBody, localVarHeaderParams, localVarQueryParams, localVarFormParams, localVarFileName, localVarFileBytes) 179 if err != nil { 180 return successPayload, nil, err 181 } 182 183 localVarHttpResponse, err := a.client.callAPI(r) 184 if err != nil || localVarHttpResponse == nil { 185 return successPayload, localVarHttpResponse, err 186 } 187 defer localVarHttpResponse.Body.Close() 188 if localVarHttpResponse.StatusCode >= 300 { 189 return successPayload, localVarHttpResponse, reportError(localVarHttpResponse.Status) 190 } 191 192 if err = json.NewDecoder(localVarHttpResponse.Body).Decode(&successPayload); err != nil { 193 return successPayload, localVarHttpResponse, err 194 } 195 196 return successPayload, localVarHttpResponse, err 197 }