/// <summary> /// Retrieves status of an operation in your Customer Engagement instance. /// </summary> /// <param name="getOperationStatusRequest">The get operation status request.</param> /// <returns> /// Operation result. /// </returns> public async Task <OperationStatusResponse> GetOperationStatus(GetOperationStatusRequest getOperationStatusRequest) { OperationStatus result = null; this.ConnectToApi(); var request = new HttpRequestMessage(HttpMethod.Get, $"/api/v1/Operation/{getOperationStatusRequest.OperationId}"); var response = await _httpClient.SendAsync(request); var rawResult = response.Content.ReadAsStringAsync().Result; if (response.IsSuccessStatusCode) { Trace.TraceInformation($"Retrieving operation result: \n{rawResult}"); } else { Trace.TraceError($"The request failed with a status of '{response.ReasonPhrase}'"); } result = JsonConvert.DeserializeObject <OperationStatus>(rawResult); return(new OperationStatusResponse() { IsSuccess = response.IsSuccessStatusCode, OperationStatus = result }); }
public async Task <Operation> GetOperationStatus(string requestId) { if (string.IsNullOrEmpty(requestId)) { throw new ArgumentNullException(nameof(requestId)); } var getOperationStatusRequest = new GetOperationStatusRequest(this.client); return(await getOperationStatusRequest.Submit(requestId)); }