/// <summary> /// Use add_promotion to record when a user adds one or more promotions to their account. /// </summary> /// <exception cref="ai.thirdwatch.Client.ApiException">Thrown when fails to make API call</exception> /// <param name="JSON">Pass added promotion info to thirdwatch. Only `_userID` is required field. But this should contain promotion info.</param> /// <returns>Task of EventResponse</returns> public async System.Threading.Tasks.Task <EventResponse> AddPromotionAsync(AddPromotion JSON) { ApiResponse <EventResponse> localVarResponse = await AddPromotionAsyncWithHttpInfo(JSON); return(localVarResponse.Data); }
/// <summary> /// Use add_promotion to record when a user adds one or more promotions to their account. /// </summary> /// <exception cref="ai.thirdwatch.Client.ApiException">Thrown when fails to make API call</exception> /// <param name="JSON">Pass added promotion info to thirdwatch. Only `_userID` is required field. But this should contain promotion info.</param> /// <returns>Task of ApiResponse (EventResponse)</returns> public async System.Threading.Tasks.Task <ApiResponse <EventResponse> > AddPromotionAsyncWithHttpInfo(AddPromotion JSON) { // verify the required parameter 'JSON' is set if (JSON == null) { throw new ApiException(400, "Missing required parameter 'JSON' when calling AddPromotionApi->AddPromotion"); } var localVarPath = "/v1/add_promotion"; var localVarPathParams = new Dictionary <String, String>(); var localVarQueryParams = new List <KeyValuePair <String, String> >(); var localVarHeaderParams = new Dictionary <String, String>(Configuration.DefaultHeader); var localVarFormParams = new Dictionary <String, String>(); var localVarFileParams = new Dictionary <String, FileParameter>(); Object localVarPostBody = null; // to determine the Content-Type header String[] localVarHttpContentTypes = new String[] { "application/json" }; String localVarHttpContentType = Configuration.ApiClient.SelectHeaderContentType(localVarHttpContentTypes); // to determine the Accept header String[] localVarHttpHeaderAccepts = new String[] { "application/json" }; String localVarHttpHeaderAccept = Configuration.ApiClient.SelectHeaderAccept(localVarHttpHeaderAccepts); if (localVarHttpHeaderAccept != null) { localVarHeaderParams.Add("Accept", localVarHttpHeaderAccept); } if (JSON != null && JSON.GetType() != typeof(byte[])) { localVarPostBody = Configuration.ApiClient.Serialize(JSON); // http body (model) parameter } else { localVarPostBody = JSON; // byte array } // authentication (api_key) required if (!String.IsNullOrEmpty(Configuration.GetApiKeyWithPrefix("X-THIRDWATCH-API-KEY"))) { localVarHeaderParams["X-THIRDWATCH-API-KEY"] = Configuration.GetApiKeyWithPrefix("X-THIRDWATCH-API-KEY"); } // make the HTTP request IRestResponse localVarResponse = (IRestResponse)await Configuration.ApiClient.CallApiAsync(localVarPath, Method.POST, localVarQueryParams, localVarPostBody, localVarHeaderParams, localVarFormParams, localVarFileParams, localVarPathParams, localVarHttpContentType); int localVarStatusCode = (int)localVarResponse.StatusCode; if (ExceptionFactory != null) { Exception exception = ExceptionFactory("AddPromotion", localVarResponse); if (exception != null) { throw exception; } } return(new ApiResponse <EventResponse>(localVarStatusCode, localVarResponse.Headers.ToDictionary(x => x.Name, x => x.Value.ToString()), (EventResponse)Configuration.ApiClient.Deserialize(localVarResponse, typeof(EventResponse)))); }
/// <summary> /// Use add_promotion to record when a user adds one or more promotions to their account. /// </summary> /// <exception cref="ai.thirdwatch.Client.ApiException">Thrown when fails to make API call</exception> /// <param name="JSON">Pass added promotion info to thirdwatch. Only `_userID` is required field. But this should contain promotion info.</param> /// <returns>EventResponse</returns> public EventResponse AddPromotion(AddPromotion JSON) { ApiResponse <EventResponse> localVarResponse = AddPromotionWithHttpInfo(JSON); return(localVarResponse.Data); }