public async Task <SessionDataOutput> GetSessionData(SessionQueryServiceInput sessionQueryServiceInput) { var data = new { Org_Id = _threatMetrixConfig.OrgId, Api_Key = _threatMetrixConfig.ApiKey, Output_Format = "Json", Session_Id = sessionQueryServiceInput.SessionId, Service_Type = _threatMetrixConfig.ServiceType, Event_Type = sessionQueryServiceInput.EventType, Account_Email = sessionQueryServiceInput.Email, Account_Telephone = sessionQueryServiceInput.PhoneNumber, _threatMetrixConfig.Policy }; var json = JsonConvert.SerializeObject(data); _httpClient.BaseAddress = new Uri(_threatMetrixConfig.Url); var response = await _httpClient.PostAsync(_threatMetrixConfig.SessionQueryEndPoint, new StringContent(json, Encoding.UTF8, "application/json")); response.EnsureSuccessStatusCode(); var responseData = await response.Content.ReadAsStringAsync(); var sessionResponse = JsonConvert.DeserializeObject <SessionResponse>(responseData); var output = new SessionDataOutput { ReviewStatus = sessionResponse?.GetReviewStatus(), FullOutput = responseData, PolicyScore = "", //sessionResponse.policy_details_api.policy_detail_api[0].customer.review_status, ReasonCode = sessionResponse?.GetReasonCode(), RiskRating = sessionResponse?.GetRiskRating() }; return(output); }
public async Task <IActionResult> SessionQueryCall([FromBody] SessionQueryServiceInput inputData) { if (inputData == null) { return(BadRequest("Null Parameters received")); } if (!ModelState.IsValid) { return(BadRequest("One or more parameters received are not valid")); } var output = await _sessionQueryService.GetSessionData(inputData); if (output.ReviewStatus != "pass") { return(Conflict(new B2CResponse { UserMessage = $"Your identity could not be verified based on the details you provided." })); } return(Json(output)); }