Я пытаюсь интегрировать версию 3 API Mailchimp, чтобы добавить подписчика в один из моих списков рассылки. Код ниже - это то, что у меня есть, и я собираюсь вызвать его в методе контактной формы, когда пользователь заполняет свою электронную почту, чтобы подписаться. Теоретически, он должен хранить это электронное письмо в emailAddress и отправлять его в MailChimp, но теории не практичны. Ниже мой текущий метод данных POST:
private string InsertIntoMailChimpGeneralList(string emailAddress)
{
var apiKey = ConfigurationManager.AppSettings["MailChimpAPIKeyGeneral"];
var dataCenter = ConfigurationManager.AppSettings["MailChimpDataCenterIDGeneral"];
var listId = ConfigurationManager.AppSettings["mailChimpListIDGeneral"];
var email_address = emailAddress;
var status = "subscribed";
using (var wc = new System.Net.WebClient())
{
// Data to be posted to add email address to list
var data = new { email_address, status };
// Serialize to JSON using Json.Net
var json = JsonConvert.SerializeObject(data);
// Base URL to MailChimp API
string apiUrl = "https://" + dataCenter + ".api.mailchimp.com/3.0/";
// Construct URL to API endpoint being used
var url = string.Concat(apiUrl, "lists/", listId, "/members?");
// Set content type
wc.Headers.Add("Content-Type", "application/json");
// Generate authorization header
string credentials = Convert.ToBase64String(Encoding.ASCII.GetBytes(":" + apiKey));
// Set authorization header
wc.Headers[HttpRequestHeader.Authorization] = string.Format("Basic {0}", credentials);
// Post and get JSON response
string sendUrl = wc.UploadString(url, json);
return sendUrl;
}
}
В моей контактной форме у меня есть проверка, где я хочу, чтобы адрес электронной почты был добавлен в контактную форму (emailAddress - переменная, используемая здесь), чтобы опубликовать эти данные в списке, когда форма отправлена:
if (ConfigurationManager.AppSettings["UseMailChimpIntegration"].ToString().ToLower().Trim() == "true")
{
InsertIntoMailChimpGeneralList(emailAddress);
}
Я чувствую, что неправильно это реализовал. Я смог заставить его работать на v2, но переход на v3 оставил меня в неведении. Моя контактная форма работает нормально и хранит мои значения в моей локальной базе данных, но не отправляет эти данные в mailchimp.
Я трижды проверил свои значения API / центра обработки данных и был бы признателен за помощь.