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());
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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");
        }
Exemple #6
0
        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);
            }
        }
Exemple #7
0
        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);
        }
Exemple #9
0
        public void GetLists_Successful()
        {
            //  Arrange
            MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey);

            //  Act
            ListResult details = mc.GetLists();

            //  Assert
            Assert.IsNotNull(details.Data);
        }
Exemple #10
0
        public void GetLists_Successful()
        {
            //  Arrange
            MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey);

            //  Act
            ListResult details = mc.GetLists();

            //  Assert
            Assert.IsNotNull(details.Data);
        }
Exemple #11
0
        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);
        }
Exemple #12
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);
        }
Exemple #13
0
        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);
        }
Exemple #14
0
        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));
        }
Exemple #15
0
        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());
        }
Exemple #16
0
        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);
        }
Exemple #17
0
        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;
            }
        }
Exemple #18
0
        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"]);
        }
Exemple #19
0
    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));
        }
Exemple #21
0
        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);
        }
Exemple #22
0
        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());
        }
Exemple #23
0
        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 == "*****@*****.**"));
        }
Exemple #25
0
        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());
        }
Exemple #26
0
        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);
        }
Exemple #28
0
        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);
        }
Exemple #29
0
        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));
        }
Exemple #30
0
        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);
 }
Exemple #32
0
        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);
        }
Exemple #33
0
        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());
        }
Exemple #34
0
        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);
        }
Exemple #36
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.");
        }
Exemple #38
0
        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));
                }
            }
        }
Exemple #39
0
        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);
        }
Exemple #43
0
        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);
        }
Exemple #44
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 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 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 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 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");
        }
Exemple #49
0
        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);
        }
Exemple #50
0
 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);
 }
Exemple #51
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 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 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);
        }
Exemple #54
0
 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);
 }
Exemple #55
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);
                }
            }
        }
Exemple #56
0
        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 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 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");
        }
Exemple #59
0
        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);
                }
            }
        }
Exemple #60
0
 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);
 }