/// <summary> /// Helper: Execute API Endpoint /// </summary> private static ConsumerCreditReportResponse ExecuteCreditReportRequest(ConsumerCreditReportRequest request) { JsonSerializerSettings jsonSettings = new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }; string scope = ModuleSettingsAccessor <EquifaxSettings> .Instance.EquifaxConsumerCreditReportScope; if (string.IsNullOrWhiteSpace(scope)) { throw new LoggedException(EquifaxConstants.SETTINGS_CONFIGURATION_EXCEPTION); } string requestToken = GetOAuthToken(scope); string requestString = JsonConvert.SerializeObject(request, jsonSettings); string requestUrl = ModuleSettingsAccessor <EquifaxSettings> .Instance.EquifaxConsumerCreditReportEndpoint; var req = (System.Net.HttpWebRequest)System.Net.WebRequest.Create(requestUrl); req.Headers.Add("Authorization: Bearer " + requestToken); req.Method = "POST"; req.ContentType = "application/json"; req.ContentLength = requestString.Length; req.AutomaticDecompression = DecompressionMethods.GZip; log.Debug($"URL:{requestUrl}\r\nScope:{scope}\r\nHasToken:{(!string.IsNullOrWhiteSpace(requestToken))}"); // Write body using (StreamWriter sw = new StreamWriter(req.GetRequestStream())) { sw.Write(requestString); sw.Flush(); } // Get response string responseString = string.Empty; try { using (var httpResponse = (HttpWebResponse)req.GetResponse()) using (Stream dataStream = httpResponse.GetResponseStream()) { if (dataStream != null) { string sts = httpResponse.ContentEncoding; using (StreamReader streamReader = new StreamReader(dataStream)) { responseString = streamReader.ReadToEnd(); } } } ConsumerCreditReportResponse cr = JsonConvert.DeserializeObject <ConsumerCreditReportResponse>( responseString, new JsonSerializerSettings { NullValueHandling = NullValueHandling.Ignore }); return(cr); } catch (WebException ex) { log.Error(ex.Message); } return(null); }
/// <summary> /// Step: Get Consumer Credit Report (Integration/Equifax/Consumer Credit Report/Get Consumer Credit Report) /// </summary> public static ConsumerCreditReportResponse GetConsumerCreditReport(ConsumerCreditReportRequest request) { return(ExecuteCreditReportRequest(request)); }