Exemplo n.º 1
0
        public async Task <Contact> EnrichmentContact(EnrichmentRequest enrichmentRequest)
        {
            try
            {
                var jsonResponse = await WebClient.GetAsync(enrichmentRequest.RequestUrl, enrichmentRequest.APIKey);

                var combinedEnrichment = DeserializeCombinedEnrichment(jsonResponse);
                return(MapContact(combinedEnrichment, enrichmentRequest.Contact));
            } catch (Exception ex)
            {
                // log fail and hangle
                return(enrichmentRequest.Contact);
            }
        }
        public async Task EnrichmentContact(Contact contact)
        {
            var enpointUrl = _configuration.GetValue <string>("ClearbitCombinedAPIEnpoint");
            var apiKey     = _configuration.GetValue <string>("ClearbitAPIKey");

            var parameter = $"email=:{contact.Email}";

            var requestUrl = $"{enpointUrl}?{parameter}";

            var enrichmentRequest = new EnrichmentRequest
            {
                Contact    = contact,
                RequestUrl = requestUrl,
                APIKey     = apiKey
            };

            var enrichedContact = await _clearbitAPIService.EnrichmentContact(enrichmentRequest);

            await _contactService.UpdateAsync(enrichedContact);
        }