Я использую mailchimp3 в Python. Мне удалось сделать пакетный ввод пользователей, использующих эту функцию:Как отменить подписку/удалить список участников с помощью Mailchimp3 в Python?
client = MailChimp(USERNAME, APIKEY)
def fill_list(list_id, subscribers_data):
data = {'operations': create_subscriptions_data(list_id, subscribers_data)}
client.batches.create(data)
def create_subscriptions_data(list_id, users_data):
return [{'method': 'PUT',
'path': 'lists/{}/members/{}'.format(list_id, str(md5(user['email_address'].encode('utf-8')))),
'body': json.dumps(user)} for user in users_data]
Вот как один пользователь ДИКТ выглядит:
{"email_address": "[email protected]", "status": "subscribed"}
Тогда я хотел использовать подобный метод отписать список пользователей. Для этого я попытался использовать ту же логику, просто чтобы изменить пользовательские объекты. Теперь я использовал этот формат пользователя:
{"email_address": "[email protected]", "status": "unsubscribed"}
Он не обновляет статус подписки. Когда я удалил всех пользователей вручную (используя веб-интерфейс) и попробовал ту же команду, я успешно создал пользователей с «статусом»: «Отписано». Мне интересно, почему этот подход не может изменить статус? Я попытался использовать POST вместо PUT, но это не сработало. Любая идея, что может быть проблемой?
Я использовал эту ссылку https://devs.mailchimp.com/blog/batch-operations-and-put-in-api-v3-0/, и он упоминает, что этот подход также должен отлично работать и для обновлений.
Спасибо заранее!