public async Task <LeadCreateResponse> CreateOrUpdateLeads(LeadsRequest request) { var token = GetToken().Result; string url = String.Format("{0}/rest/v1/leads.json?access_token={1}", Connection.RestApiUrl, token); var fullUri = new Uri(url, UriKind.Absolute); LeadCreateResponse leadCreateResponse; using (var client = new HttpClient()) { var response = await client.PostAsync(fullUri, request.AsJson()).ConfigureAwait(false); if (response.IsSuccessStatusCode) { var stringResponse = await response.Content.ReadAsStringAsync(); var jsonObject = JObject.Parse(stringResponse); leadCreateResponse = jsonObject.ToObject <LeadCreateResponse>(); } else { if (response.StatusCode == HttpStatusCode.Forbidden) { throw new AuthenticationException("Invalid username/password combination."); } else { throw new AuthenticationException("Not able to get token"); } } } return(leadCreateResponse); }
public static List <LeadsViewModel> GetLeads(LeadsRequest request, CookieCollection cookie) { try { var _outputJson = _getJsonByHttpGetRequset(Helpers.Paths[Helpers.PathsTypes.Leads], cookie, new string[] {}); JObject _o = JObject.Parse(_outputJson); var _contectJsonString = (string)_o["_embedded"]["items"].ToString(); var _pff = _contectJsonString.Replace("\"custom_fields\": {},", "\"custom_fields\": [],"); var _obj = JsonConvert.DeserializeObject <List <LeadsViewModel> >(_pff); return(_obj); } catch (Exception e) { return(null); } }
public void OnNext(MemberChangingEvent value) { if (value.ChangeState == EntryState.Added || value.ChangeState == EntryState.Modified) { var m = value.Member; var address = m.Addresses?.Count > 0 ? m.Addresses[0] : null; var email = m.Emails?.Count > 0 ? m.Emails[0] : string.Empty; if (m is Contact) { var contact = m as Contact; var request = new LeadsRequest { lookupField = "email", input = new[] { new Lead { postalCode = address?.PostalCode, email = email, firstName = contact.FirstName, lastName = contact.LastName, leadScore = 10, address = address?.Line1, city = address?.City, country = address?.CountryName, phone = address?.Phone, state = address?.RegionName } } }; using (var result = Service.CreateOrUpdateLeads(request).Result) { // check for actual result success here } } } }
public void Can_create_leads_unauthorized() { var serviceName = Environment.GetEnvironmentVariable("MarketoUrl"); var connection = new MarketoConnectionInfo() { RestApiUrl = Environment.GetEnvironmentVariable("MarketoUrl"), ClientId = "fake", ClientSecret = "fakke" }; var service = new MarketoService(connection); var request = new LeadsRequest { lookupField = "email", input = new[] { new Lead { postalCode = "90069", email = "*****@*****.**", firstName = "John", lastName = "Doe", leadScore = 10, address = "sample address", city = "los angeles", country = "United States", phone = "234234234", state = "CA" } } }; var exception = Record.Exception(() => service.CreateOrUpdateLeads(request).Result); Assert.IsType(typeof(AuthenticationException), exception.InnerException.InnerException); }
public void Can_create_leads() { var serviceName = Environment.GetEnvironmentVariable("MarketoUrl"); var connection = new MarketoConnectionInfo() { RestApiUrl = Environment.GetEnvironmentVariable("MarketoUrl"), ClientId = Environment.GetEnvironmentVariable("MarketoClientId"), ClientSecret = Environment.GetEnvironmentVariable("MarketoClientSecret") }; var service = new MarketoService(connection); var request = new LeadsRequest { lookupField = "email", input = new[] { new Lead { postalCode = "90069", email = "*****@*****.**", firstName = "John", lastName = "Doe", leadScore = 10, address = "sample address", city = "los angeles", country = "United States", phone = "234234234", state = "CA" } } }; var result = service.CreateOrUpdateLeads(request).Result; Assert.True(result.success); }