Mailchimp.net API and content struct for editable content not displaying

StackOverflow https://stackoverflow.com/questions/21269375

  •  30-09-2022
  •  | 
  •  

سؤال

I'm trying to send content to a campaign template in MailChimp using MailChimp.net API. My template contains `

<b>mc:edit="question"</b>`

And the MailChimp API wants a JSON string in a struct/associative array. However, I can't seem to get the data to show up in the editable section and I've tried several different ways:

        CampaignSegmentOptions segmentOptions = new CampaignSegmentOptions();
        segmentOptions.Match = "All";
        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 = "user@example.com";
        options.FromName = "Testing from Example.com";
        options.Subject = "Test Subject";
        options.FacebookComments = false;

        //Using struct attempt
        sections s = new sections();
        s.question = "What did the lion need?"; 

        //Using string attempt
        //String[] s = new string [] {"question\":\"What did the lion need?"};

        //Using dictionary attempt
        Dictionary<string,string> dict = new Dictionary<string,string>();
        dict.Add("question","What did the lion need?");

        content.Sections = dict;
        Campaign result = mc.CreateCampaign("regular", options, content);

Any suggestions? Thank you in advance.

هل كانت مفيدة؟

المحلول

Solved. In my case the Dictionary approach was the only one that worked. I found that whenever I edited an existing MailChimp template, MailChimp appeared to rewrete my mc:edit fields after I saved them and added their own code making my mc:edit fields break. However, if I exported one of their templates to my desktop, and then imported it back as a new template, I found that editing the template on their website no longer changed my code after saving. I remember seeing a note in the documentation about exporting and importing, but nothing that implied that was the only way to keep my fields intact.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top