public void GetMemberActivity_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); Assert.IsNotNull(lists.Data); Assert.IsTrue(lists.Data.Any()); MembersResult members = mc.GetAllMembersForList(lists.Data[0].Id); Assert.IsNotNull(members.Data); Assert.IsTrue(members.Data.Any()); List<EmailParameter> memberEmails = new List<EmailParameter>(); foreach (MemberInfo member in members.Data) { memberEmails.Add(new EmailParameter() { Email = member.Email }); } // Act MemberActivityResult results = mc.GetMemberActivity(lists.Data[0].Id, memberEmails); // Assert Assert.IsNotNull(results); Assert.IsTrue(results.Data.Any()); }
public void Send(String idUser, String firstName, String email) { String emailAPI = ConfigurationManager.AppSettings["MailChimpAPI"].ToString(); MailChimpManager mc = new MailChimpManager(emailAPI); ListResult lists = mc.GetLists(); EmailConfirm emailConfirm = new EmailConfirm(); //emailConfirm.Groupings = new List<Grouping>(); //emailConfirm.Groupings.Add(new Grouping()); //emailConfirm.Groupings[0].Id = 1234; // replace with your grouping id //emailConfirm.Groupings[0].GroupNames = new List<string>(); //emailConfirm.Groupings[0].GroupNames.Add("Your Group Name"); emailConfirm.FirstName = firstName; emailConfirm.IdUser = idUser; // Create the email parameter EmailParameter parameters = new EmailParameter() { Email = email }; // ListResult lr = mc.GetLists(); EmailParameter results = mc.Subscribe("d31fd680be", parameters, emailConfirm); }
public void BatchSubscribe_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); List<BatchEmailParameter> emails = new List<BatchEmailParameter>(); BatchEmailParameter email1 = new BatchEmailParameter() { Email = new EmailParameter() { Email = "*****@*****.**" } }; BatchEmailParameter email2 = new BatchEmailParameter() { Email = new EmailParameter() { Email = "*****@*****.**" } }; emails.Add(email1); emails.Add(email2); // Act BatchSubscribeResult results = mc.BatchSubscribe(lists.Data[1].Id, emails); // Assert Assert.IsNotNull(results); Assert.IsTrue(results.AddCount == 2); }
private void SetDefaultSubscribersList(string accessToken, string dataCenter) { var mc = new MailChimpManager(accessToken, dataCenter); var lists = mc.GetLists(); if (lists.Data.Any()) _settingsManager.SetValue(_subscribersListIdPropertyName, lists.Data[0].Id); }
public ActionResult Update(string id) { var defaultEvent = service.GetDefaultEvent(); int eventid = defaultEvent.ID; MailChimpManager mc = new MailChimpManager(_mailchimpKey); ListInfo mailingList = mc.GetLists().Data.Where(l=>l.Id==id).SingleOrDefault(); List<BatchEmailParameter> batchList = new List<BatchEmailParameter>(); if (mailingList.Name.Contains("Speakers")) { foreach (var speaker in service.GetSpeakers(eventid)) { MyMergeVar myMergeVars = new MyMergeVar(); myMergeVars.FirstName = speaker.FirstName; myMergeVars.LastName = speaker.LastName; // Create the email parameter BatchEmailParameter batchEmail = new BatchEmailParameter(); EmailParameter email = new EmailParameter() { Email = speaker.Email }; batchEmail.Email = email; batchEmail.MergeVars = myMergeVars; batchList.Add(batchEmail); } } if (mailingList.Name.Contains("Attendees")) { foreach (var attendee in service.GetAllAttendees(eventid)) { MyMergeVar myMergeVars = new MyMergeVar(); myMergeVars.FirstName = attendee.FirstName; myMergeVars.LastName = attendee.LastName; // Create the email parameter EmailParameter email = new EmailParameter() { Email = attendee.Email }; BatchEmailParameter batchEmail = new BatchEmailParameter(); batchEmail.Email = email; batchEmail.MergeVars = myMergeVars; batchList.Add(batchEmail); } } BatchSubscribeResult bResult = mc.BatchSubscribe(id, batchList, false, true, true); //MyMergeVar myMergeVars = new MyMergeVar(); //myMergeVars.FirstName = subscriber.FirstName; //myMergeVars.LastName = subscriber.LastName; // Create the email parameter //EmailParameter email = new EmailParameter() //{ // Email = subscriber.EmailAddress //}; //EmailParameter results = mc.Subscribe(_mailchimpGroupId, email, myMergeVars); return RedirectToAction("Index"); }
private void SetDefaultSubscribersList(string accessToken, string dataCenter) { var mc = new MailChimpManager(accessToken, dataCenter); var lists = mc.GetLists(); if (lists.Data.Any()) { _settingsManager.SetValue(_subscribersListIdPropertyName, lists.Data[0].Id); } }
public void DeleteStaticSegment_Succesful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); List <StaticSegmentResult> segments = mc.GetStaticSegmentsForList(lists.Data[1].Id); // Act StaticSegmentActionResult result = mc.DeleteStaticSegment(lists.Data[1].Id, segments[1].StaticSegmentId); Assert.IsTrue(result.Complete); }
// // GET: /MailingList/ public ActionResult Index() { var defaultEvent = service.GetDefaultEvent(); int eventid = defaultEvent.ID; ViewBag.Event = service.GetEvent(eventid); int eventYear = ViewBag.Event.StartTime.Year; MailChimpManager mc = new MailChimpManager(_mailchimpKey); List<ListInfo> mailingLists = mc.GetLists().Data.Where(l=>l.Name.Contains(eventYear.ToString())).ToList(); return View(mailingLists); }
public void GetLists_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); // Act ListResult details = mc.GetLists(); // Assert Assert.IsNotNull(details.Data); }
public void GetStaticSegmentsForList_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); // Act List <StaticSegmentResult> result = mc.GetStaticSegmentsForList(lists.Data[1].Id); // Assert Assert.IsTrue(result.Count > 0); }
public void AddStaticSegment_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); // Act StaticSegmentAddResult result = mc.AddStaticSegment(lists.Data[1].Id, "Test Segment"); // Assert Assert.IsNotNull(result.NewStaticSegmentID); }
public void GetAbuseReport_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); // Act AbuseResult details = mc.GetListAbuseReports(lists.Data[0].Id); // Assert Assert.IsNotNull(details.Data); }
public void SubscribeWithGroupSelection_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); EmailParameter email = new EmailParameter() { Email = "*****@*****.**" }; // find a list with interest groups... string strListID = null; int nGroupingID = 0; string strGroupName = null; foreach (ListInfo li in lists.Data) { List <InterestGrouping> interests = mc.GetListInterestGroupings(li.Id); if (interests != null) { if (interests.Count > 0) { if (interests[0].GroupNames.Count > 0) { strListID = li.Id; nGroupingID = interests[0].Id; strGroupName = interests[0].GroupNames[0].Name; break; } } } } Assert.IsNotNull(strListID, "no lists found in this account with groupings / group names"); Assert.AreNotEqual(0, nGroupingID); Assert.IsNotNull(strGroupName); MyMergeVar mvso = new MyMergeVar(); mvso.Groupings = new List <Grouping>(); mvso.Groupings.Add(new Grouping()); mvso.Groupings[0].Id = nGroupingID; mvso.Groupings[0].GroupNames = new List <string>(); mvso.Groupings[0].GroupNames.Add(strGroupName); mvso.FirstName = "Testy"; mvso.LastName = "Testerson"; // Act EmailParameter results = mc.Subscribe(strListID, email, mvso); // Assert Assert.IsNotNull(results); Assert.IsTrue(!string.IsNullOrEmpty(results.LEId)); }
public void GetSavedSegmentsForList_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); // Act SegmentResult result = mc.GetSegmentsForList(lists.Data[1].Id, "saved"); // Assert Assert.IsTrue(result.SavedResult.Any()); }
public void MailChimpLoad() { // CampaignListResult details = mc.GetCampaigns(); //CampaignFilter options = new CampaignFilter(); //options.CampaignId = "a5a9439561"; //CampaignListResult ss = mc.GetCampaigns(options); //-- Template List <MailChimpList> mailChimpTemplate = new List <MailChimpList>(); mailChimpTemplate.Add(new MailChimpList("0", "Select Template")); var types = new TemplateTypes() { User = true, }; var filters = new TemplateFilters() { IncludeInactive = false, IncludeDragAndDrop = true }; TemplateListResult details = mc.GetTemplates(types, filters); foreach (var list in details.UserTemplates) { mailChimpTemplate.Add(new MailChimpList(list.TemplateID.ToString(), list.Name)); } if (mailChimpTemplate != null && mailChimpTemplate.Count > 0) { cmbTemplate.DisplayMember = "Name"; cmbTemplate.ValueMember = "Id"; cmbTemplate.DataSource = mailChimpTemplate; } // --- List--- List <MailChimpList> mailChimpList = new List <MailChimpList>(); ListResult lists = mc.GetLists(); mailChimpList.Clear(); mailChimpList.Add(new MailChimpList("0", "Select List")); foreach (var list in lists.Data) { mailChimpList.Add(new MailChimpList(list.Id.ToString(), list.Name)); } if (mailChimpList != null && mailChimpList.Count > 0) { cmbList.DisplayMember = "Name"; cmbList.ValueMember = "Id"; cmbList.DataSource = mailChimpList; } }
public void BatchSubscribe_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); List <BatchEmailParameter> emails = new List <BatchEmailParameter>(); BatchEmailParameter email1 = new BatchEmailParameter() { Email = new EmailParameter() { Email = "*****@*****.**" } }; MergeVar mVar1 = new MergeVar(); mVar1.Add("FNAME", "first1" + DateTime.Now); mVar1.Add("LNAME", "last1" + DateTime.Now); email1.MergeVars = mVar1; emails.Add(email1); BatchEmailParameter email2 = new BatchEmailParameter() { Email = new EmailParameter() { Email = "*****@*****.**" } }; MergeVar mVar2 = new MergeVar(); mVar2.Add("FNAME", "first2" + DateTime.Now); mVar2.Add("LNAME", "last2" + DateTime.Now); email2.MergeVars = mVar2; emails.Add(email2); // Act BatchSubscribeResult results = mc.BatchSubscribe(lists.Data[0].Id, emails); // Assert Assert.IsNotNull(results); Assert.IsTrue(results.AddCount == 2); // load List <EmailParameter> emailsP = new List <EmailParameter>(); emailsP.Add(email1.Email); MemberInfoResult memberInfo = mc.GetMemberInfo(lists.Data[0].Id, emailsP); Assert.AreEqual(mVar1["FNAME"], memberInfo.Data[0].MemberMergeInfo["FNAME"]); Assert.AreEqual(mVar1["LNAME"], memberInfo.Data[0].MemberMergeInfo["LNAME"]); }
public static IEnumerable ListsList(SqlString apikey) { MailChimpManager mc = new MailChimpManager(apikey.ToString()); ListResult listResult = mc.GetLists(null, 0, 100, "created", "DESC"); List <ListInfo> lists = new List <ListInfo>(listResult.Total); lists.AddRange(listResult.Data); int page = 1; int total = listResult.Total; int currentTotal = listResult.Data.Count; while (currentTotal < total) { listResult = mc.GetLists(null, page++, 100, "created", "DESC"); lists.AddRange(listResult.Data); currentTotal += listResult.Data.Count; } return(lists); }
// // GET: /MailingList/ public ActionResult Index() { var defaultEvent = service.GetDefaultEvent(); int eventid = defaultEvent.ID; ViewBag.Event = service.GetEvent(eventid); int eventYear = ViewBag.Event.StartTime.Year; MailChimpManager mc = new MailChimpManager(_mailchimpKey); List <ListInfo> mailingLists = mc.GetLists().Data.Where(l => l.Name.Contains(eventYear.ToString())).ToList(); return(View(mailingLists)); }
public void StaticSegment_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); // Act List<StaticSegment> results = mc.GetStaticSegmentsFromList(lists.Data[1].Id); // Assert Assert.IsNotNull(results); }
public void GetListActivity_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); // Act List<ListActivity> results = mc.GetListActivity(lists.Data[1].Id); // Assert Assert.IsNotNull(results); Assert.IsTrue(results.Any()); }
public void GetListActivity_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); // Act List <ListActivity> results = mc.GetListActivity(lists.Data[1].Id); // Assert Assert.IsNotNull(results); Assert.IsTrue(results.Any()); }
public void SearchMembers_FindsPartialMatchMember() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); string listId = lists.Data[1].Id; // Act Matches matches = mc.SearchMembers("customeremail", listId); // Assert Assert.IsTrue(matches.FullSearch.Total > 0); Assert.IsTrue(matches.FullSearch.Members.Any(member => member.Email == "*****@*****.**")); }
public void GetListInterestGroupings_Successful() { // Arrange MailChimpManager mc = new MailChimpManager("efb48a02f2f56120e2f3f6e2fef71803-us6"); ListResult lists = mc.GetLists(new ListFilter(){ListName = "TestAPIGetInterestGroup"}); Assert.IsNotNull(lists); Assert.IsTrue(lists.Data.Any()); // Act List<InterestGrouping> results = mc.GetListInterestGroupings(lists.Data.FirstOrDefault().Id); // Assert Assert.IsNotNull(results); Assert.IsTrue(results.Any()); }
public void DeleteMergeVar_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); mc.AddMergeVar(lists.Data.First().Id, "TESTDELETE", "Test Value"); // Act CompleteResult result = mc.DeleteMergeVar(lists.Data.First().Id, "TESTDELETE"); // Assert Assert.IsNotNull(result); Assert.IsTrue(result.Complete); }
public void SearchMembers_FindsExactMatchMember() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); string listId = lists.Data[1].Id; // Act Matches matches = mc.SearchMembers("*****@*****.**", listId); // Assert Assert.AreEqual(matches.ExactMatches.Total, 1); Assert.AreEqual(matches.ExactMatches.Members[0].Email, "*****@*****.**"); Assert.AreEqual(matches.FullSearch.Total, -1); }
public void AddStaticSegmentMembers_Successful() { MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); List <StaticSegmentResult> segments = mc.GetStaticSegmentsForList(lists.Data[1].Id); EmailParameter email1 = new EmailParameter() { Email = "*****@*****.**" }; List <EmailParameter> emails = new List <EmailParameter>(); emails.Add(email1); StaticSegmentMembersAddResult result = mc.AddStaticSegmentMembers(lists.Data[1].Id, segments[0].StaticSegmentId, emails); Assert.IsTrue(result.successCount == 1); }
public void Subscribe_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); EmailParameter email = new EmailParameter() { Email = "*****@*****.**" }; // Act EmailParameter results = mc.Subscribe(lists.Data[1].Id, email); // Assert Assert.IsNotNull(results); Assert.IsTrue(!string.IsNullOrEmpty(results.LEId)); }
public void CampaignSegmentTest_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); CampaignSegmentOptions options = new CampaignSegmentOptions(); options.Match= "All"; string dateListCreated = lists.Data[1].DateCreated; List<CampaignSegmentCriteria> conditions = new List<CampaignSegmentCriteria>(); conditions.Add(new CampaignSegmentCriteria { Field = "date", Operator = "eq", Value = dateListCreated }); options.Conditions = conditions; string listId = lists.Data[1].Id; // Act CampaignSegmentTestResult result = mc.CampaignSegmentTest(listId,options); // Assert Assert.IsTrue(result.Total == 1); }
public void Unsubscribe_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); EmailParameter email = new EmailParameter() { Email = "*****@*****.**" }; // Act UnsubscribeResult results = mc.Unsubscribe(lists.Data[1].Id, email); // Assert Assert.IsNotNull(results); Assert.IsTrue(results.Complete); }
public void GetListInterestGroupings_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(new ListFilter() { ListName = "TestAPIGetInterestGroup" }); Assert.IsNotNull(lists); Assert.IsTrue(lists.Data.Any()); // Act List <InterestGrouping> results = mc.GetListInterestGroupings(lists.Data.FirstOrDefault().Id); // Assert Assert.IsNotNull(results); Assert.IsTrue(results.Any()); }
public void GetListInterestGroupingsWithCountRequested_Successful() { // Arrange MailChimpManager mc = new MailChimpManager("efb48a02f2f56120e2f3f6e2fef71803-us6"); ListResult lists = mc.GetLists(new ListFilter() { ListName = "TestAPIGetInterestGroup" }); Assert.IsNotNull(lists); Assert.IsTrue(lists.Data.Any()); // Act List <InterestGrouping> results = mc.GetListInterestGroupings(lists.Data.FirstOrDefault().Id, true); // Assert Assert.IsNotNull(results); Assert.IsTrue(results.Any()); }
public void CampaignSavedSegmentTest_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); Assert.IsNotNull(lists); Assert.IsTrue(lists.Data.Count > 0); string listID = lists.Data[1].Id; CampaignSegmentOptions options = new CampaignSegmentOptions(); options.SavedSegmentId = "yourSavedSegmentId"; // Act CampaignSegmentTestResult result = mc.CampaignSegmentTest(listID, options); // Assert Assert.IsTrue(result.Total > 0); }
public void StaticSegmentAdd_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); //Get existing segments List<StaticSegment> segments = mc.GetStaticSegmentsFromList(lists.Data[1].Id); StaticSegmentDeleteResult deleteResult; //Check to see if test segment exists, delete if it does. if (segments.Where(x => x.Name == "TestSegment").Count() > 0) deleteResult = mc.StaticSegmentDelete(lists.Data[1].Id, segments.Where(x => x.Name == "TestSegment").FirstOrDefault().Id); // Act StaticSegmentAddResult results = mc.StaticSegmentAdd(lists.Data[1].Id, "TestSegment"); // Assert Assert.IsTrue(!string.IsNullOrEmpty(results.Id)); }
public void ExportGetListsWithSinceFilterInFuture_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); MailChimpExportManager mce = new MailChimpExportManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); Assert.IsNotNull(lists.Data); Assert.IsTrue(lists.Data.Any()); string listId = lists.Data[0].Id; Assert.IsNotNull(lists.Data[0].Id); // Act var results = mce.GetAllMembersForList(listId, since: DateTime.UtcNow.AddDays(1).ToString() ); // Assert Assert.IsNotNull(results); Assert.IsTrue(results.Count == 0, "Export should contain 0 records. No record should have a LAST_UPDATED date in the future."); }
public void GetLocationsForList_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); // For each list foreach (var list in lists.Data) { Debug.WriteLine("Information for " + list.Name); // Get the location data for each list: List <SubscriberLocation> locations = mc.GetLocationsForList(list.Id); // Write out each of the locations: foreach (var location in locations) { Debug.WriteLine(string.Format("Country: {0} - {2} users, accounts for {1}% of list subscribers", location.Country, location.Percent, location.Total)); } } }
public void ResetMergeVar_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); // we don't want to have an existing merge var interfere try { mc.DeleteMergeVar(lists.Data.First().Id, "TESTRESET"); } catch { } mc.AddMergeVar(lists.Data.First().Id, "TESTRESET", "Test Value"); // Act CompleteResult result = mc.ResetMergeVar(lists.Data.First().Id, "TESTRESET"); // Assert Assert.IsNotNull(result); Assert.IsTrue(result.Complete); // Clean up mc.DeleteMergeVar(lists.Data.First().Id, "TESTRESET"); }
public void ExportGetLists_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); MailChimpExportManager mce = new MailChimpExportManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); Assert.IsNotNull(lists.Data); Assert.IsTrue(lists.Data.Any()); string listId = lists.Data[0].Id; Assert.IsNotNull(lists.Data[0].Id); // Act var results = mce.GetAllMembersForList(listId); // Assert Assert.IsNotNull(results); Assert.IsTrue(results.Count > 0, "Export should contain at least 1 record. Make sure the list under test contains at least 1 record."); Assert.IsTrue(results[0].Count >= 17, "At a minimum 17 key/value pairs should be returned for each record."); Assert.IsTrue(results[0]["Email Address"].Contains('@'), "Email contains at least a @ character"); Assert.IsTrue(results[0].ContainsKey("EMAIL_TYPE"), "EMAIL_TYPE should exist within exported record."); Assert.IsTrue(results[0].ContainsKey("MEMBER_RATING"), "MEMBER_RATING should exist within exported record."); Assert.IsTrue(results[0].ContainsKey("OPTIN_TIME"), "OPTIN_TIME should exist within exported record."); Assert.IsTrue(results[0].ContainsKey("OPTIN_IP"), "OPTIN_IP should exist within exported record."); Assert.IsTrue(results[0].ContainsKey("CONFIRM_TIME"), "CONFIRM_TIME should exist within exported record."); Assert.IsTrue(results[0].ContainsKey("CONFIRM_IP"), "CONFIRM_IP should exist within exported record."); Assert.IsTrue(results[0].ContainsKey("LATITUDE"), "LATITUDE should exist within exported record."); Assert.IsTrue(results[0].ContainsKey("LONGITUDE"), "LONGITUDE should exist within exported record."); Assert.IsTrue(results[0].ContainsKey("GMTOFF"), "GMTOFF should exist within exported record."); Assert.IsTrue(results[0].ContainsKey("DSTOFF"), "DSTOFF should exist within exported record."); Assert.IsTrue(results[0].ContainsKey("TIMEZONE"), "TIMEZONE should exist within exported record."); Assert.IsTrue(results[0].ContainsKey("CC"), "CC should exist within exported record."); Assert.IsTrue(results[0].ContainsKey("REGION"), "REGION should exist within exported record."); Assert.IsTrue(results[0].ContainsKey("LAST_CHANGED"), "LAST_CHANGED should exist within exported record."); Assert.IsTrue(results[0].ContainsKey("LEID"), "LEID should exist within exported record."); Assert.IsTrue(results[0].ContainsKey("EUID"), "EUID should exist within exported record."); }
public void ExportGetListsWithSinceFilterInThePast_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); MailChimpExportManager mce = new MailChimpExportManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); Assert.IsNotNull(lists.Data); Assert.IsTrue(lists.Data.Any()); string listId = lists.Data[0].Id; Assert.IsNotNull(lists.Data[0].Id); // Act var results = mce.GetAllMembersForList(listId, since: "1980-1-1 00:00:00"); // Assert Assert.IsNotNull(results); Assert.IsTrue(results.Count > 0, "Export should contain at least 1 record. Make sure the list under test contains at least 1 record."); Assert.IsTrue(results[0].Count >= 17, "At a minimum 17 key/value pairs should be returned for each record."); Assert.IsTrue(results[0]["Email Address"].Contains('@'), "Email contains at least a @ character"); }
private static void BatchSubscribe() { MailChimpManager mc = new MailChimpManager("e20533551f21cbc6b07c76e570dc33c4-us11"); ListResult lists = mc.GetLists(); //1fe090facf List<BatchEmailParameter> emails = new List<BatchEmailParameter>(); BatchEmailParameter email1 = new BatchEmailParameter() { Email = new EmailParameter() { Email = "*****@*****.**" } }; MergeVar mVar1 = new MergeVar(); mVar1.Add("FNAME", "first1" + DateTime.Now); mVar1.Add("LNAME", "last1" + DateTime.Now); email1.MergeVars = mVar1; emails.Add(email1); }
public void CampaignSegmentTest_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); CampaignSegmentOptions options = new CampaignSegmentOptions(); options.Match = "All"; string dateListCreated = lists.Data[1].DateCreated; List <CampaignSegmentCriteria> conditions = new List <CampaignSegmentCriteria>(); conditions.Add(new CampaignSegmentCriteria { Field = "date", Operator = "eq", Value = dateListCreated }); options.Conditions = conditions; string listId = lists.Data[1].Id; // Act CampaignSegmentTestResult result = mc.CampaignSegmentTest(listId, options); // Assert Assert.IsTrue(result.Total == 1); }
public void GetAllMembersForList_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); // For each list foreach (var list in lists.Data) { // Write out the list name: Debug.WriteLine("Users for the list " + list.Name); // Get the first 100 members of each list: MembersResult results = mc.GetAllMembersForList(list.Id, "subscribed", 0, 100); // Write out each member's email address: foreach (var member in results.Data) { Debug.WriteLine(member.Email); } } }
public void ExportGetListsWithSinceFilterInFuture_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); MailChimpExportManager mce = new MailChimpExportManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); Assert.IsNotNull(lists.Data); Assert.IsTrue(lists.Data.Any()); string listId = lists.Data[0].Id; Assert.IsNotNull(lists.Data[0].Id); // Act var results = mce.GetAllMembersForList(listId, since: DateTime.UtcNow.AddDays(1).ToString()); // Assert Assert.IsNotNull(results); Assert.IsTrue(results.Count == 0, "Export should contain 0 records. No record should have a LAST_UPDATED date in the future."); }
public static List <MemberInfo> GetAllMembers(string api_key) { int limit = 100; var members = new List <MemberInfo>(); MailChimpManager mc = new MailChimpManager(api_key); ListResult lists = mc.GetLists(); foreach (var list in lists.Data) { int j = 0; while (true) { MembersResult results = mc.GetAllMembersForList(list.Id, "subscribed", j, limit); members.AddRange(results.Data); if (results.Data.Count < limit) { break; } j += limit - 1; } } return(members); }
public void ResetStaticSegment_Successful() { MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); List<StaticSegmentResult> segments = mc.GetStaticSegmentsForList(lists.Data[1].Id); StaticSegmentActionResult result = mc.ResetStaticSegment(lists.Data[1].Id, segments[0].StaticSegmentId); Assert.IsTrue(result.Complete); }
public void UpdateMergeVar_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); MergeVarOptions options = new MergeVarOptions() { FieldType = "url", HelpText = "A url, such as https://github.com/danesparza/MailChimp.NET" }; // we don't want to have existing merge vars interfere try { mc.DeleteMergeVar(lists.Data.First().Id, "TESTUPDVAR"); } catch { } try { mc.DeleteMergeVar(lists.Data.First().Id, "UPDATEDVAR"); } catch { } mc.AddMergeVar(lists.Data.First().Id, "TESTUPDVAR", "Test Value", options); // Act options = new MergeVarOptions() { Tag = "UPDATEDVAR", HelpText = "Any url you like" }; MergeVarItemResult result = mc.UpdateMergeVar(lists.Data.First().Id, "TESTUPDVAR", options); // Assert Assert.IsNotNull(result); Assert.IsTrue(result.Tag == "UPDATEDVAR"); // Clean up mc.DeleteMergeVar(lists.Data.First().Id, "UPDATEDVAR"); }
public void DeleteStaticSegmentMembers_Successful() { MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); List<StaticSegmentResult> segments = mc.GetStaticSegmentsForList(lists.Data[1].Id); EmailParameter email1 = new EmailParameter() { Email = "*****@*****.**" }; List<EmailParameter> emails = new List<EmailParameter>(); emails.Add(email1); StaticSegmentMembersDeleteResult result = mc.DeleteStaticSegmentMembers(lists.Data[1].Id, segments[0].StaticSegmentId, emails); Assert.IsTrue(result.successCount == 1); Assert.IsTrue(result.errorCount == 0); }
public void GetAllMembersForList_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); // For each list foreach(var list in lists.Data) { // Write out the list name: Debug.WriteLine("Users for the list " + list.Name); // Get the first 100 members of each list: MembersResult results = mc.GetAllMembersForList(list.Id, "subscribed", 0, 100); // Write out each member's email address: foreach(var member in results.Data) { Debug.WriteLine(member.Email); } } }
public void GetMemberInfo_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); List<EmailParameter> emails = new List<EmailParameter>(); EmailParameter email1 = new EmailParameter() { Email = "*****@*****.**" }; EmailParameter email2 = new EmailParameter() { Email = "*****@*****.**" }; emails.Add(email1); emails.Add(email2); // Act MemberInfoResult results = mc.GetMemberInfo(lists.Data[1].Id, emails); // Assert Assert.IsNotNull(results); }
public void SetMergeVar_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); // we don't want to have an existing merge var interfere try { mc.DeleteMergeVar(lists.Data.First().Id, "TESTSET"); } catch { } mc.AddMergeVar(lists.Data.First().Id, "TESTSET", "Test Value"); // Act CompleteResult result = mc.SetMergeVar(lists.Data.First().Id, "TESTSET", "Set"); // Assert Assert.IsNotNull(result); Assert.IsTrue(result.Complete); // Clean up mc.DeleteMergeVar(lists.Data.First().Id, "TESTSET"); }
public void GetLocationsForList_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); // For each list foreach(var list in lists.Data) { Debug.WriteLine("Information for " + list.Name); // Get the location data for each list: List<SubscriberLocation> locations = mc.GetLocationsForList(list.Id); // Write out each of the locations: foreach(var location in locations) { Debug.WriteLine("Country: {0} - {2} users, accounts for {1}% of list subscribers", location.Country, location.Percent, location.Total); } } }
public void GetStaticSegmentsForList_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); // Act List<StaticSegmentResult> result = mc.GetStaticSegmentsForList(lists.Data[1].Id); // Assert Assert.IsTrue(result.Count > 0); }