Я использую API MailChimp для подписки электронной почты на список. Функция listsubscribe () используется для подписки по электронной почте:
public static listSubscribe(string apikey, string id, string email_address, array merge_vars, string email_type, boolean double_optin, boolean update_existing, boolean replace_interests, boolean send_welcome)
Я скачал официальную .NET оболочку MailChimp для их API
При просмотре в Visual Studio это одна из перегруженных функций:
listSubscribe(string apikey, string id, string email_address, MCMergeVar[] merges)
Когда я нажимаю на определение MCMergeVar [], это выходит:
[XmlRpcMissingMapping(MappingAction.Ignore)]
public struct MCMergeVar
{
public string name;
public bool req;
[XmlRpcMissingMapping(MappingAction.Error)]
public string tag;
public string val;
}
В примере php на сайте MailChimp, вот как объявляется переменная merges
:
$merge_vars = array('FNAME'=>'Test', 'LNAME'=>'Account', 'INTERESTS'=>'');
Как правильно написать этот массив для моей оболочки C #?
Я пробовал что-то вроде этого:
MCMergeVar[] subMergeVars = new MCMergeVar[1];
subMergeVars["FNAME"] = "Test User";
Но для этого требуется int
в том месте, где теперь находится "FNAME"
, так что это не работает ...
Заранее спасибо,
Ile
РЕДАКТИРОВАТЬ 1:
Я попробовал решение FoxFire, но никакие данные из subMergeVars не передаются на сервер MailChimp, только электронная почта:
// Subscribe email to list
string subID = "26973e52cc";
string subEmail = "mymail@some.com.hr";
MCMergeVar[] subMergeVars = new MCMergeVar[5];
subMergeVars[0].name = "FNAME";
subMergeVars[0].val = "FNDynamic";
subMergeVars[1].name = "LNAME";
subMergeVars[1].val = "LNDynamic";
mailChimp.api.listSubscribe(subID, subEmail, subMergeVars, "html");