/// <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));
 }