Skip to content Skip to sidebar Skip to footer

Python: Adding Subscribers To Mailchimp With Bulk Api V3

Im trying to write a function to create subscribers in mailchimp, but I get an error, and I can't understand what is wrong. Im using python-mailchimp (And yes, I have mye correct

Solution 1:

This is the correct way

from mailchimp3 import MailChimp
defexport_to_mailchimp():

    #Get all users in DB
    users = User.objects.all()


    #Create list for dictionaries
    operations = []


    #loop through querysetfor userobject in users:

        #Create dictionary for body
        databody_item = {
            "email_address": item.email,
            "status": "subscribed",
            "merge_fields": {
                "FNAME": item.first_name,
                "LNAME": item.last_name
            }
        }
        #Create dictionary for a operation
        operation_item = {"method":"POST", "path":"/lists/000000/members/", "body":json.dumps(databody_item)}
        #Append to list
        operations.append(operation_item)    


    client = MailChimp(settings.MAILCHIMP_USER, settings.MAILCHIMP_KEY)
    batch = client.batches.create(data={"operations": operations})

Solution 2:

Here is the working one:

client = MailChimp(USERNAME, APIKEY)
deffill_list(list_id, subscribers_data):
    data = {'operations': create_subscriptions_data(list_id, subscribers_data)}
    client.batches.create(data)

defcreate_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]

I guess the problem with method which need to be post. For more detail you can use below link.I found out there : https://devask.cz/questions/42175544/how-to-unsubscribe-delete-list-members-using-mailchimp3-in-python

Post a Comment for "Python: Adding Subscribers To Mailchimp With Bulk Api V3"