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); }
/// <summary> /// Exports/dumps members of a list and all of their associated details. /// This is a very similar to exporting via the web interface. /// </summary> /// <param name="listId">the list id to connect to (can be gathered using GetLists())</param> /// <param name="status">optional - the status to get members for - one of(subscribed, unsubscribed, cleaned)</param> /// <param name="segment">refine the members list by segments (maximum of 5 conditions)</param> /// <param name="since">only return member whose data has changed since a GMT timestamp – in YYYY-MM-DD HH:mm:ss format</param> /// <param name="hashed"> if, instead of full list data, you'd prefer a hashed list of email addresses, set this to the hashing algorithm you expect. Currently only "sha256" is supported. NOT IN USE NOW</param> /// <returns></returns> public List<Dictionary<string, string>> GetAllMembersForList(string listId, string status = "subscribed", CampaignSegmentOptions segment = null, string since = "1900-01-01 00:00:00", string hashed = "") //int start = 0, int limit = 25, string sort_field = "", string sort_dir = "ASC", CampaignSegmentOptions segment = null) { // Our api action: string apiAction = "list"; // Create our arguments object: object args = new { apikey = this.APIKey, id = listId, status = status, //segment = segment, since = since, //hashed = hashed }; // Make the call: return MakeExportAPICall(apiAction, args); }
public void CampaignCreate_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); string listID = lists.Data[1].Id; CampaignSegmentOptions segmentOptions = new CampaignSegmentOptions(); segmentOptions.Match = "All"; string dateListCreated = lists.Data[1].DateCreated; segmentOptions.Conditions = new List<CampaignSegmentCriteria>(); segmentOptions.Conditions.Add(new CampaignSegmentCriteria { Field = "date", Operator = "eq", Value = dateListCreated }); CampaignCreateContent content = new CampaignCreateContent(); content.HTML = "<p>Testing</p>"; CampaignCreateOptions options = new CampaignCreateOptions(); options.Title = "Testing"; options.ListId = listID; options.ToName = "Test Name"; options.FromEmail = "*****@*****.**"; options.FromName = "Testing Company Name"; options.Subject = "Test Subject"; //Act Campaign result = mc.CreateCampaign("regular", options, content, segmentOptions, null); // Assert Assert.IsNotNull(result); }
private static void CreateCampaign() { // Arrange MailChimpManager mc = new MailChimpManager("e20533551f21cbc6b07c76e570dc33c4-us11"); //ListResult lists = mc.GetLists(); //string listID = lists.Data[0].Id; CampaignSegmentOptions segmentOptions = new CampaignSegmentOptions(); segmentOptions.Match = "All"; //string dateListCreated = lists.Data[0].DateCreated; segmentOptions.Conditions = new List<CampaignSegmentCriteria>(); segmentOptions.Conditions.Add(new CampaignSegmentCriteria { Field = "date", Operator = "eq"}); CampaignCreateContent content = new CampaignCreateContent(); content.HTML = @" <meta charset='utf-8'> <title></title> <table width='600' border='0' align='center' cellpadding='0' cellspacing='0' style='background-color: #f0eeee; padding: 20px;'> <tbody><tr> <td> <table width='600' border='0' align='center' cellpadding='0' cellspacing='0'> <tbody><tr> <td style='background-color: #ffa900; padding: 10px 30px;'> <img src='http://*****:*****@desme.com"; options.FromName = "Testing Company Name"; options.Subject = "Email template testing"; Campaign result = mc.CreateCampaign("regular", options, content); }
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 SendCampaign() { if ((cmbTemplate.SelectedIndex > 0 && cmbTemplate.SelectedItem != null) && (cmbList.SelectedIndex > 0 && cmbList.SelectedItem != null)) { Int32 selectedTemplateId = Convert.ToInt32(cmbTemplate.SelectedValue); string selectedListId = cmbList.SelectedValue.ToString(); //IEnumerable<string> listEnum = new string[] { selectedListId.ToString() }; //--Create Campaign CampaignSegmentOptions segmentOptions = new CampaignSegmentOptions(); segmentOptions.Match = "All"; CampaignCreateOptions options = new CampaignCreateOptions(); options.Title = mailchimptitle; options.ListId = selectedListId; options.ToName = mailchimpToName; options.FromEmail = mailchimpFromEmail; options.FromName = mailchimpFromName; options.Subject = mailchimpSubject; options.TemplateID = selectedTemplateId; CampaignCreateContent content = new CampaignCreateContent(); Campaign result = mc.CreateCampaign("regular", options, content, null, null); //GetMemberInfo if (chkEnableSMS.Checked) { List<EmailParameter> emails = new List<EmailParameter>(); MembersResult results = mc.GetAllMembersForList(selectedListId, "subscribed", 0, 100); foreach (var i in results.Data) { foreach (var j in i.MemberMergeInfo) { if (j.Key.Trim() == "PHONE") { if (!string.IsNullOrEmpty(j.Value.ToString())) { // SmsSender.SendSMS(j.Value.ToString(), "919460264151", "5b2a23d7", "59d9fa03", Uri.EscapeUriString("Test Message")); } } } } } } MessageBox.Show("Success"); this.Close(); }