Я адаптировал следующий код скрипта приложения Google, чтобы отписаться от электронного письма из списка на MailChimp. Подобный код, позволяет мне добавить подписчика, но когда я пытаюсь изменить данные участника или изменить статус на неподписанный. Я получаю сообщение об ошибке:
"title": "Элемент существует", "status": 400, "detail": "example@example.com уже является членом списка. Используйте PUT для вставки или обновления членов списка".
Даже если я использую «PUT». Есть предложения?
function sendToMailChimp_( email, source ) {
var user = {
"SRC" : source
};
var payload = {
"merge_fields" : user,
"email_address": email,
"status" : "unsubscribed",
"update_existing" : true // left the update_existing on this way existing emails
};
var headers = {
"content-type" : "application/json",
"Authorization" : " Basic " + Utilities.base64Encode(API_USER + ":" + API_KEY)
};
Logger.log(headers);
var options = {
"method": "Put",
"headers" : headers,
"payload": JSON.stringify(payload),
"followRedirects" : true,
"muteHttpExceptions": true,
};
Logger.log(mc_base_url);
Logger.log( options );
//var options = JSON.stringify( options ));
var emailHash = xxxxxxxxxxxxxxxxxxxxxxxxxx // (email in md5 format);
var listId = xxxxxxxx // (list id from Mailchimp)
var response = UrlFetchApp.fetch('https://us2.api.mailchimp.com/3.0/lists/'+listId+'/members/'+emailHash, options );
if( response.getResponseCode() == 200 ) {
console.info( "SUCCESS to PROD for " + em );
Logger.log( "SUCCESS to PROD for " + em );
} else {
console.log(response);
Logger.log(response)
}
}