Mailchimp ASP.NET VB列表使用PerceptiveMCAPI订阅分组

时间:2012-05-09 11:26:05

标签: asp.net vb.net mailchimp perceptivemcapi

嗨请有人帮助我在订阅我的邮件列表时对我的客户进行分组......这是我到目前为止的工作,没有GROUPING选项......

            Dim newlistSubscribeParms As New listSubscribeParms()
            newlistSubscribeParms.apikey = "xxx"
            newlistSubscribeParms.id = "xxx"
            newlistSubscribeParms.email_address = txtEmailAddress.Text
            newlistSubscribeParms.double_optin = False
            newlistSubscribeParms.email_type = EnumValues.emailType.html
            newlistSubscribeParms.replace_interests = True
            newlistSubscribeParms.send_welcome = False
            newlistSubscribeParms.update_existing = True
            newlistSubscribeParms.merge_vars.Add("FNAME", txtFirstName.Text)
            newlistSubscribeParms.merge_vars.Add("LNAME", txtLastName.Text)
            newlistSubscribeParms.merge_vars.Add("GROUPINGS", "??")

            Dim newlistSubscribeInput As New listSubscribeInput(newlistSubscribeParms)
            Dim subscribeSuccess = cmd.Execute(newlistSubscribeInput)

我在此列表中有一个名为“Audience”的主要组,并且在该组中有4个子组我希望此代码将客户添加到“Quote Request Customers”子组...

我正在使用PerceptiveMCAPI

我查看了文档并一直在搜索,我正努力让任何工作。

由于

1 个答案:

答案 0 :(得分:4)

我现在已经解决了这个问题!

看到这段代码,是用C#编写的,希望你能理解它:

//from page 12 of "PerceptiveMCAPI Documentation"
                    /*
                        listSubscribe
                            Merge_vars are defined as Dictionary<string, object> where:
                            • If the string name is Groupings, the object value expected is of type: List<interestGroupings>
                            • If the object type is DateTime, the value is converted to an acceptable api string equivalent
                            • if the object type is Dictionary<string, object> (used for address array), the Key‐Value pairs are
                              formated as required
                            • Any other object type is passed to the api as‐is.
                    */

                //first association of groups for father group "DataGenerazioneContatto"
                List<string> _groups_for_DataGenerazioneContatto = new List<string>();
                _groups_for_DataGenerazioneContatto.Add(DateTime.Now.ToShortDateString());  //today

                //second association of groups for father group "TipoMail"
                List<string> _groups_for_TipoMail = new List<string>();
                _groups_for_TipoMail.Add("Generica");   //choose ONE or MORE from "Generica" & "Personale"
                _groups_for_TipoMail.Add("Personale");

                List<interestGroupings> _listGroupings = new List<interestGroupings>();
                _listGroupings.Add(new interestGroupings { name = "DataGenerazioneContatto", groups = _groups_for_DataGenerazioneContatto });
                _listGroupings.Add(new interestGroupings { name = "TipoMail", groups = _groups_for_TipoMail });

                listSubscribeParms _listSubscribeParms = new listSubscribeParms();
                _listSubscribeParms.apikey = apikey;    //your MailChimp apikey
                _listSubscribeParms.id = _listID;       //the ID of the selected MailChimp List
                _listSubscribeParms.email_address = "emailTest2@from.it";
                _listSubscribeParms.double_optin = false;
                _listSubscribeParms.email_type = EnumValues.emailType.html;
                _listSubscribeParms.replace_interests = true;
                _listSubscribeParms.send_welcome = false;
                _listSubscribeParms.update_existing = true;
                _listSubscribeParms.merge_vars.Add("FNAME", "NameTest2");
                _listSubscribeParms.merge_vars.Add("LNAME", "SurnameTest2");
                _listSubscribeParms.merge_vars.Add("GROUPINGS", _listGroupings);

                listSubscribe _listSubscribe = new listSubscribe(new listSubscribeInput(_listSubscribeParms));
                listSubscribeOutput _listSubscribeOutput = _listSubscribe.Execute();

在你的情况下(在c#中)它应该是:

  List<string> _groups_for_Audience = new List<string>();
  _groups_for_Audience.Add("Quote Request Customers");  //you can add more than one

  List<interestGroupings> _listGroupings = new List<interestGroupings>();
  _listGroupings.Add(new interestGroupings { name = "Audience", groups = _groups_for_Audience });

  newlistSubscribeParms.merge_vars.Add("GROUPINGS", _listGroupings );