public void TemplateMethods_Sucessful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); TemplateAddResult addTemplateResult = null; try { // Act addTemplateResult = mc.AddTemplate("Test Name " + Path.GetRandomFileName(), "Test Html"); // Assert Assert.IsNotNull(addTemplateResult); // Act var templateInformation = mc.GetTemplateInformation(addTemplateResult.TemplateId); // Assert Assert.IsNotNull(templateInformation); var templateUpdateValue = new TemplateUpdateValue { Html = "Test Html Updated", Name = "Test Name Updated " + Path.GetRandomFileName() }; // Act var templateUpdate = mc.UpdateTemplate(addTemplateResult.TemplateId, templateUpdateValue); // Assert Assert.IsNotNull(templateUpdate); } finally { // Cleanup if (addTemplateResult != null) { // Act var deletedTemplate = mc.DeleteTemplate(addTemplateResult.TemplateId); // Note: this might override a different assert. // Assert Assert.IsNotNull(deletedTemplate); // Act var undeletedTemplate = mc.UndeleteTemplate(addTemplateResult.TemplateId); // Note: this might override a different assert. // Assert Assert.IsNotNull(undeletedTemplate); // Act var deletedTemplate2 = mc.DeleteTemplate(addTemplateResult.TemplateId); // Note: this might override a different assert. // Assert Assert.IsNotNull(deletedTemplate2); } } }
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); }
static void GetLists(MailChimpManager mailChimp) { // Get the subscriber lists ListsCollection lists = mailChimp.GetLists(); Console.WriteLine("Got {0} out of {1} lists", lists.Lists.Count, lists.TotalItems); }
public void GetMergeVars_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, "TESTGETVAR"); } catch { } MergeVarOptions options = new MergeVarOptions() { FieldType = "url", HelpText = "A url, such as https://github.com/danesparza/MailChimp.NET" }; mc.AddMergeVar(lists.Data.First().Id, "TESTGETVAR", "Test Value", options); // Act MergeVarResult result = mc.GetMergeVars(lists.Data.Select(l => l.Id)); // Assert Assert.IsNotNull(result.Data); Assert.IsTrue(result.Data.Any(d => d.MergeVars.Any(m => m.Tag == "TESTGETVAR"))); // Clean up mc.DeleteMergeVar(lists.Data.First().Id, "TESTGETVAR"); }
public bool GetSubscriptionStatus(string email, int domainID) { tbl_Domains domain = DomainsRepository.GetByID(domainID); if (domain == null || !domain.DO_EnableMailChimp) { return(false); } MailChimpManager manager = new MailChimpManager(domain.DO_MailChimpAPIKey); EmailParameter emailParam = new EmailParameter() { Email = email }; try { var val = manager.GetListsForEmail(emailParam); return(val != null && val.Count > 0 ? true : false); } catch (MailChimpAPIException e) { Log.Error(String.Format("MailChimp Status: Subscription exception: \"{0}\" ,for \"{1}\"", e.MailChimpAPIError.Name, email), e); } return(false); }
public async Task <bool> Add(ViewModels.Contact contact) { var mc = new MailChimpManager(ConfigurationManager.AppSettings.Get("MailChimpApiKey")); var newMember = new Member { EmailAddress = contact.Email, StatusIfNew = Status.Subscribed, Status = Status.Subscribed, }; newMember.MergeFields.Add("FNAME", contact.FirstName); newMember.MergeFields.Add("LNAME", contact.LastName); newMember.MergeFields.Add("F3NAME", contact.F3Name); newMember.MergeFields.Add("WORKOUT", contact.Workout); newMember.MergeFields.Add("EH", contact.EH); newMember.MergeFields.Add("TWITTER", contact.Twitter); newMember.MergeFields.Add("NOTES", " "); newMember.Interests.Add("eb2db7a8fd", true); try { var member = await mc.Members.AddOrUpdateAsync(ConfigurationManager.AppSettings["F3List"], newMember); } catch (MailChimpException mexp) { System.Diagnostics.Debug.WriteLine(mexp); throw; } return(true); }
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 async Task <IActionResult> AddSubcribeUser(string userEmail) { //using (var http = new HttpClient()) //{ // http.DefaultRequestHeaders.Authorization = // new AuthenticationHeaderValue("Basic", "7b6eca284d892915d0c10bd48b0a28cb-us5"); // MailChimpManager mc = new MailChimpManager("7b6eca284d892915d0c10bd48b0a28cb-us5"); // EmailParameter email = new EmailParameter() // { // Email = userEmail // }; // EmailParameter results = mc.Subscribe("206aea1391", email); //} //string html=""; //MailChimpRepository rs = new MailChimpRepository(); //using (StreamReader SourceReader = System.IO.File.OpenText(Path.Combine(Directory.GetCurrentDirectory(), @"wwwroot\TextFile.txt", ""))) //{ // html = SourceReader.ReadToEnd(); //} //MailChimpRepository.userEmail = userEmail; //rs.CreateAndSendCampaign(html); IMailChimpManager _mailChimpManager = new MailChimpManager("7b6eca284d892915d0c10bd48b0a28cb-us5"); var listId = "206aea1391"; // Use the Status property if updating an existing member var member = new Member { EmailAddress = userEmail, StatusIfNew = Status.Subscribed }; await _mailChimpManager.Members.AddOrUpdateAsync(listId, member); return(View()); }
public async Task <bool> Add(ViewModels.Contact contact) { var mc = new MailChimpManager(ConfigurationManager.AppSettings.Get("MailChimpApiKey")); var email = new EmailParameter { Email = contact.Email }; var name = new NameVar { FirstName = contact.FirstName, LastName = contact.LastName, F3Name = contact.F3Name, Workout = contact.Workout, EH = contact.EH, Twitter = contact.Twitter, Groupings = new List <Grouping> { new Grouping { Id = 4293, GroupNames = new List <string> { "Newsletter" } } } }; var result = mc.Subscribe(ConfigurationManager.AppSettings.Get("F3List"), email, name, doubleOptIn: false, sendWelcome: true); return(true); }
public void AddSegment_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); AddCampaignSegmentOptions options = new AddCampaignSegmentOptions { Name = "My Saved Segment", SegmentType = "saved", SegmentOptions = new CampaignSegmentOptions { Match = "all", Conditions = new List <CampaignSegmentCriteria> { new CampaignSegmentCriteria { Field = "EMAIL", Operator = "ends", Value = ".com", } } } }; // Act SegmentAddResult result = mc.AddSegment(lists.Data[1].Id, options); // Assert Assert.IsNotNull(result.NewSegmentID); }
//[HttpPut] //[Route("modifyInfo")] //public async Task<IActionResult> ModifyInfo([FromBody] UserModel userModel) //{ // var user = await _context.User //} private async Task <IActionResult> UserSubscribe(UserModel userModel) { var result = new Result <string>(); var mailchimp = _context.ApiKey.Find(2); IMailChimpManager mailChimpManager = new MailChimpManager(mailchimp.ApiKey1); var listId = "c8326de226"; if (userModel.IsSubscribe == 0) { var member = new Member { EmailAddress = userModel.Email, StatusIfNew = Status.Unsubscribed }; await mailChimpManager.Members.AddOrUpdateAsync(listId, member); } else if (userModel.IsSubscribe == 1) { var member = new Member { EmailAddress = userModel.Email, StatusIfNew = Status.Subscribed }; await mailChimpManager.Members.AddOrUpdateAsync(listId, member); } return(Ok(result)); }
public IActionResult CreateCampaign() { MailChimpManager _mailChimpManager = new MailChimpManager("7b6eca284d892915d0c10bd48b0a28cb-us5"); Setting _campaignSettings = new Setting { ReplyTo = "*****@*****.**", FromName = "CoreShop", Title = "Intro new product", SubjectLine = "Introduction", }; var campaign = _mailChimpManager.Campaigns.AddAsync(new Campaign { Settings = _campaignSettings, Recipients = new Recipient { ListId = "206aea1391" }, Type = CampaignType.Regular }).Result; var timeStr = DateTime.Now.ToString(); var content = _mailChimpManager.Content.AddOrUpdateAsync( campaign.Id, new ContentRequest() { Template = new ContentTemplate { Id = 248261, } }).Result; _mailChimpManager.Campaigns.SendAsync(campaign.Id); return(RedirectToAction("Index", "Home")); }
public static async Task <bool> MailChimpsSubs(string email, string firstName, string surname, string phone) { string mailChimpApiKey = System.Configuration.ConfigurationManager.AppSettings["MailChimpApiKey"]; string mailChimpListId = System.Configuration.ConfigurationManager.AppSettings["MailChimpListId"]; IMailChimpManager manager = new MailChimpManager(mailChimpApiKey); //if you have it in code // Instantiate new manager IMailChimpManager mailChimpManager = new MailChimpManager(mailChimpApiKey); // var listId1 = "TestListId"; //await mailChimpManager.Members.GetAllAsync(listId1).ConfigureAwait(false); var listId = mailChimpListId; //var mailChimpListCollection = mailChimpManager.Lists.GetAllAsync(new ListRequest //{ // Limit = 50 //}).ConfigureAwait(false); // Use the Status property if updating an existing member var member = new Member { EmailAddress = email, StatusIfNew = Status.Subscribed }; member.MergeFields.Add("FNAME", firstName); member.MergeFields.Add("LNAME", surname); member.MergeFields.Add("PHONE", phone); await mailChimpManager.Members.AddOrUpdateAsync(listId, member); return(true); }
private static string CreateCampignWithTemplate(WfpictContext db, CreativeVm model, string listId, int templateId) { IMailChimpManager manager = new MailChimpManager(); LogHelper.AddLog(db, LogType.MailChimp, model.OrderNumber, "Creating campaign with template"); var campaign = manager.Campaigns.AddAsync(new MailChimp.Net.Models.Campaign { Recipients = new Recipient { ListId = listId }, Settings = new Setting { ReplyTo = "*****@*****.**", Title = model.SubjectLine, FromName = "Josh Silver", SubjectLine = model.SubjectLine, TemplateId = templateId, }, Type = CampaignType.Regular, }).ConfigureAwait(false); var campaignId = campaign.GetAwaiter().GetResult().Id; return(campaignId); }
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()); }
private static void SendCampaign(WfpictContext db, CreativeVm model, string campaignId) { IMailChimpManager manager = new MailChimpManager(); LogHelper.AddLog(db, LogType.MailChimp, model.OrderNumber, "Sending to Test list"); var sent = manager.Campaigns.SendAsync(campaignId).ConfigureAwait(false); }
private static int CreateTemplate(WfpictContext db, CreativeVm model) { IMailChimpManager manager = new MailChimpManager(); LogHelper.AddLog(db, LogType.MailChimp, model.OrderNumber, "Creating template from creatives"); var allTemplatesRequest = manager.Templates.GetAllAsync().ConfigureAwait(false); var allTemplates = allTemplatesRequest.GetAwaiter().GetResult(); int templateIdOld = -1; foreach (var allTemplate in allTemplates) { if (allTemplate.Name == model.OrderNumber) { templateIdOld = allTemplate.Id; break; } } if (templateIdOld != -1) { LogHelper.AddLog(db, LogType.MailChimp, model.OrderNumber, "Template " + model.OrderNumber + " already exists. Deleting old one."); var deleteTemplateRequest = manager.Templates.DeleteAsync(templateIdOld.ToString()).ConfigureAwait(false); } var template = manager.Templates.CreateAsync(model.OrderNumber, "", model.Creatives).ConfigureAwait(false); var templateId = template.GetAwaiter().GetResult().Id; LogHelper.AddLog(db, LogType.MailChimp, model.OrderNumber, "Template creatives created successfully."); return(templateId); }
private static string CreateCampignWithContent(CreativeVm model) { IMailChimpManager manager = new MailChimpManager(); //AddLog(db, model.OrderNumber, "Creating campaign with contents"); var campaign = manager.Campaigns.AddAsync(new MailChimp.Net.Models.Campaign { Settings = new Setting { ReplyTo = "*****@*****.**", Title = model.SubjectLine, FromName = "Josh Silver", SubjectLine = model.SubjectLine, }, Type = CampaignType.Regular, }).ConfigureAwait(false); var campaignId = campaign.GetAwaiter().GetResult().Id; var content = new ContentRequest { //PlainText = model.Creatives, Html = model.Creatives, }; manager.Content.AddOrUpdateAsync(campaignId, content); return(campaignId); }
public void UpdateMember_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); ListResult lists = mc.GetLists(); EmailParameter email = new EmailParameter() { Email = "*****@*****.**" }; var listId = lists.Data[0].Id; MyMergeVar mergeVar = new MyMergeVar(); EmailParameter subscriptionResults = mc.Subscribe(listId, email, mergeVar, "html", false, true); // Act mergeVar.FirstName = "some name"; mc.UpdateMember(listId, subscriptionResults, mergeVar); // load List <EmailParameter> emails = new List <EmailParameter>(); emails.Add(email); MemberInfoResult memberInfos = mc.GetMemberInfo(listId, emails); // Assert Assert.IsTrue(memberInfos.Data[0].MemberMergeInfo.ContainsKey("FNAME")); Assert.AreEqual("some name", memberInfos.Data[0].MemberMergeInfo["FNAME"]); }
public void BatchUnsubscribe_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 BatchUnsubscribeResult results = mc.BatchUnsubscribe(lists.Data[1].Id, emails); // Assert Assert.IsNotNull(results); Assert.IsTrue(results.SuccessCount == 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); }
/// <summary> /// Batches the subscribe. /// </summary> /// <param name="recordList">The records</param> public virtual BatchSubscribeResult BatchSubscribe(IEnumerable <MailChimpEventQueueRecord> recordList) { if (String.IsNullOrEmpty(_mailChimpSettings.DefaultListId)) { throw new ArgumentException("MailChimp list is not specified"); } MailChimpManager mc = new MailChimpManager(_mailChimpSettings.ApiKey); List <BatchEmailParameter> emailList = new List <BatchEmailParameter>(); foreach (var sub in recordList) { emailList.Add(new BatchEmailParameter() { Email = new EmailParameter() { Email = sub.Email } }); } BatchSubscribeResult listSubscribeOutput = mc.BatchSubscribe(_mailChimpSettings.DefaultListId, emailList, false, true); return(listSubscribeOutput); }
public IHttpActionResult Subscribe(string subscribeEmail) { EmailParameter result; if (!string.IsNullOrEmpty(_mailingSettings.AccessToken) && !string.IsNullOrEmpty(_mailingSettings.AccessToken) && !string.IsNullOrEmpty(_mailingSettings.SubscribersListId) && subscribeEmail.Contains("@") && subscribeEmail.Contains(".")) { var mc = new MailChimpManager(_mailingSettings.AccessToken, _mailingSettings.DataCenter); // Create the email parameter var email = new EmailParameter() { Email = subscribeEmail, }; result = mc.Subscribe(_mailingSettings.SubscribersListId, email); if (string.IsNullOrEmpty(result.EUId)) { return(BadRequest()); } } else { return(BadRequest()); } return(Ok(result)); }
public IActionResult CreateCampaign(string ReplyTo, string FromName, string Title, string SubjectLine) { MailChimpManager _mailChimpManager = new MailChimpManager(MailChimpService.MailSid); Setting _campaignSettings = new Setting { ReplyTo = ReplyTo, FromName = FromName, Title = Title, SubjectLine = SubjectLine, }; var campaign = _mailChimpManager.Campaigns.AddAsync(new Campaign { Settings = _campaignSettings, Recipients = new Recipient { ListId = MailChimpService.MailListId }, Type = CampaignType.Regular }).Result; var timeStr = DateTime.Now.ToString(); var content = _mailChimpManager.Content.AddOrUpdateAsync( campaign.Id, new ContentRequest() { Template = new ContentTemplate { Id = 248261, } }).Result; _mailChimpManager.Campaigns.SendAsync(campaign.Id); return(Json("success")); }
public async Task Test_Configuration_Key() { _mailChimpManager = new MailChimpManager(); var lists = await _mailChimpManager.Lists.GetAsync("72dcc9fa45"); Assert.IsNotNull(lists); }
public static void SubscribeEmailAddress(string strEmail, string strPostCode, string strListId) { MailChimpManager mc = new MailChimpManager(ConfigurationManagerHelper.AppSettings["MailChimpAPIKey"].ToString()); EmailParameter email = new EmailParameter() { Email = strEmail }; var fields = new Dictionary <string, string> { { "PCODE", strPostCode } }; //Do not use for setting the any value it will update all the records // mc.SetMergeVar(strListId, "PCODE", strPostCode); // var response = mailChimpApiService.Subscribe("*****@*****.**", new List() { subscribeSources, couponsGained, interests }, fields, true); // EmailParameter results = mc.Subscribe(strListId, email, fields, "html", false, true); }
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 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); }
public async Task EventSignup(EventSignupForm input) { if (string.IsNullOrWhiteSpace(input.MailchimpGroupId)) { Logger.Error <MailchimpApiController>("Unknown mailchimp group id"); throw new Exception("Unknown mailchimp group id"); } var mailChimpManager = new MailChimpManager(AppSettings.CandidContribs.MailchimpApi.Key); var audienceId = AppSettings.CandidContribs.MailchimpApi.AudienceId; var member = new MailChimp.Net.Models.Member { EmailAddress = input.Email, StatusIfNew = Status.Subscribed }; if (!string.IsNullOrWhiteSpace(input.First)) { member.MergeFields.Add("FNAME", input.First); } if (!string.IsNullOrWhiteSpace(input.Last)) { member.MergeFields.Add("LNAME", input.Last); } // member.MergeFields.Add("COUNTRY", "Spain"); member.Interests.Add(input.MailchimpGroupId, true); await mailChimpManager.Members.AddOrUpdateAsync(audienceId, member); }
public bool UnSubscribe(string email, int domainID) { tbl_Domains domain = DomainsRepository.GetByID(domainID); if (domain == null || !domain.DO_EnableMailChimp) { return(false); } MailChimpManager manager = new MailChimpManager(domain.DO_MailChimpAPIKey); EmailParameter emailParam = new EmailParameter() { Email = email }; try { var result = manager.Unsubscribe(domain.DO_MailChimpListID, emailParam); return(result != null ? result.Complete : false); } catch (MailChimpAPIException e) { Log.Error(String.Format("MailChimp UnSubscribe: Subscription exception: \"{0}\" ,for \"{1}\"", e.MailChimpAPIError.Name, email), e); } return(false); }
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()); }
static public void Delete(string email) { MailChimpManager manager = new MailChimpManager(SiteConfiguration.MailChimpApiKey); var newMember = manager.Members.DeleteAsync(SiteConfiguration.MailChimpListID, email); newMember.Wait(); }
private async Task <IActionResult> UserSubscribe(UserContactInfoModel userContactInfoModel) { var result = new Result <string>(); var mailchimp = _context.ApiKey.Find(2); IMailChimpManager mailChimpManager = new MailChimpManager(mailchimp.ApiKey1); var listId = "c8326de226"; var user = await _context.User.FirstAsync(x => x.Id == userContactInfoModel.UserId); var members = await mailChimpManager.Members.GetAllAsync(listId).ConfigureAwait(false); var member = members.First(x => x.EmailAddress == user.Email); // Use the Status property if updating an existing member member.MergeFields.Clear(); member.MergeFields.Add("FNAME", userContactInfoModel.FirstName); member.MergeFields.Add("LNAME", userContactInfoModel.LastName); if (userContactInfoModel.IsSubscribe == 0) { member.Status = Status.Unsubscribed; } else if (userContactInfoModel.IsSubscribe == 1) { member.Status = Status.Subscribed; } await mailChimpManager.Members.AddOrUpdateAsync(listId, member); return(Ok(result)); }
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); }
public async Task<ActionResult> UnsubscribeUser(string listId, string email) { try { IMailChimpManager manager = new MailChimpManager(APIKEY); using (var db = new BePreferencesEntities()) { BEMemberList member = db.BEMemberLists.FirstOrDefault(e => e.Email == email); if (member != null) { await this.manager.Members.DeleteAsync(listId, member.Email); } RemoveMemberToDatabase(member, listId); return RedirectToAction("Index", new { email = "*****@*****.**" }); } } catch (Exception ex) { throw ex; } }
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"); }
static void CreateListAddMemberCustomMergefields(MailChimpManager mailChimp) { var list = mailChimp.AddList(new ListsInstance() { Name = "Test list (custom merge fields) " + DateTime.Now, Contact = new Contact() { Company = "Test company", Address1 = "675 Ponce de Leon Ave NE", City = "Atlanta", Country = "US", State = "Georgia", Zip = "GA 30308" }, PermissionReminder = "You subscribed to our newsletter.", CampaignDefaults = new CampaignDefaults() { FromEmail = "*****@*****.**", FromName = "Freddie", Subject = "Test subject", Language = "en" }, EmailTypeOption = false }); Console.WriteLine("Created list \"{0}\", id {1}", list.Name, list.Id); var mergeFieldSalutation = mailChimp.AddMergeField(list.Id, new MergeFieldsInstance() { Name = "Salutation", Tag = "SALUTATION", Type = "text" }); Console.WriteLine("Added merge field for salutation, id {0}", mergeFieldSalutation.MergeId); var mergeFieldAddress = mailChimp.AddMergeField(list.Id, new MergeFieldsInstance() { Name = "Address", Tag = "ADDRESS", Type = "address" }); Console.WriteLine("Added merge field for address, id {0}", mergeFieldAddress.MergeId); var subscriber = new MembersInstance(string.Format("testaddress+{0}@yourdomain.com", "test"), MembersInstance.StatusEnum.Subscribed, "John", "Doe"); subscriber.MergeFields.AddOrUpdateVar(mergeFieldSalutation.Tag, "Mr."); subscriber.MergeFields.AddOrUpdateVar(mergeFieldAddress.Tag, new MergeFieldsInstance.Address() { Address1 = "675 Ponce de Leon Ave NE", City = "Atlanta", Country = "US", State = "Georgia", Zip = "GA 30308" }); // Add a customer to list subscriber = mailChimp.AddMember(list.Id, subscriber); Console.WriteLine("Member {0} added to list, id {1}", subscriber.EmailAddress, subscriber.Id); }
public void GetLogins_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); // Act List<UserLoginsResult> details = mc.GetLogins(); // Assert Assert.IsTrue(details.Any()); }
public void GetOrders_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); // Act OrderListResult result = mc.GetOrders(); // Assert Assert.IsNotNull(result); }
public void GetTemplates_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); // Act TemplateListResult details = mc.GetTemplates(); // Assert Assert.IsNotNull(details); }
public void GetProfile_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); // Act UserProfile details = mc.GetUserProfile(); // Assert Assert.IsFalse(string.IsNullOrEmpty(details.AccountName)); }
// // 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 GetFolders_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); // Act List<FolderListResult> details = mc.GetFolders("campaign"); // Assert Assert.IsNotNull(details); }
public void GetCampaigns_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); // Act CampaignListResult details = mc.GetCampaigns(); // Assert Assert.IsNotNull(details.Data); }
public void GetGalleries_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); // Act GalleryListResult result = mc.GetGalleries("test-api"); // Assert Assert.IsNotNull(result); }
public void GetChimpChatter_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); // Act List<ChimpChatterMessage> details = mc.GetChimpChatter(); // Assert Debug.WriteLine(details.Count); }
public void Ping_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); // Act PingMessage details = mc.Ping(); // Assert Assert.AreEqual<string>("Everything's Chimpy!", details.Message); }
public void GalleryFolderRemoveAllFilesFrom_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); int testFolderId = 3141; /* Update with your folderId */ // Act bool result = mc.GalleryFolderRemoveAllFilesFrom(testFolderId); // Assert Assert.IsTrue(result); }
public void DeleteOrder_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); // Act CompleteResult result = mc.DeleteOrder("abcde", "12345"); // Assert Assert.IsNotNull(result); Assert.IsTrue(result.Complete); }
public void AddFolder_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); // Act FolderAddResult details = mc.AddFolder("TestFolder", "campaign"); // Assert Assert.IsNotNull(details); Assert.AreNotEqual<int>(0, details.NewFolderId); }
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 GetAccountDetails_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); // Act AccountDetails details = mc.GetAccountDetails(); // Assert Assert.IsNotNull(details.UserId); Assert.IsNotNull(details.ContactInfo.FirstName); }
public void GalleryFolderAdd_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); // Act AddGalleryFolderResult result = mc.GalleryFolderAdd("test-api"); // Assert Assert.IsNotNull(result); Assert.IsTrue(result.Id > 0); }
public void GetCampaignContent_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); string campaignId = "yourcampaignidhere"; // Act CampaignContent details = mc.GetCampaignContent(campaignId); // Assert Assert.IsFalse(string.IsNullOrWhiteSpace(details.Html)); }
public void ReplicateCampaign_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); CampaignListResult cl = mc.GetCampaigns(); string campaignId = cl.Data[0].Id; // Act Campaign details = mc.ReplicateCampaign(campaignId); // Assert Assert.IsNotNull(details); }
public void DeleteFolder_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); int testFolderId = 42; /* Update with your folderId */ // Act FolderActionResult details = mc.DeleteFolder(testFolderId, "campaign"); // Assert Assert.IsNotNull(details); Assert.IsTrue(details.Complete); }
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 GalleryFolderAddFileTo_Successful() { // Arrange MailChimpManager mc = new MailChimpManager(TestGlobal.Test_APIKey); int testFolderId = 3145; /* Update with your folderId */ int testFileId = 905; /* Update with your fileId */ // Act bool result = mc.GalleryFolderAddFileTo(testFileId, testFolderId); // Assert Assert.IsTrue(result); }
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 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()); }