Skip to content

Member Exists error when using client.lists.members.create_or_update #222

@DataGreed

Description

@DataGreed

When using client.lists.members.create_or_update method I get this error if the user actually exists (the actual email is hidden for privacy concerns):

MailChimpError: {'type': 'http://developer.mailchimp.com/documentation/mailchimp/guides/error-glossary/', 'title': 'Member Exists', 'status': 400, 'detail': '(SOME_EMAIL_HERE)@domain.com is already a list member. Use PUT to insert or update list members.', 'instance': 'd9d8f23a-87e9-4add-9fb3-204ccb0151d9'}
 ...
  File "mailchimp3/entities/listmembers.py", line 165, in create_or_update
    return self._mc_client._put(url=self._build_path(list_id, 'members', subscriber_hash), data=data)
  File "mailchimp3/mailchimpclient.py", line 30, in wrapper
    return fn(self, *args, **kwargs)
  File "mailchimp3/mailchimpclient.py", line 257, in _put
    _raise_response_error(r)
  File "mailchimp3/mailchimpclient.py", line 44, in _raise_response_error
    raise MailChimpError(error_data)

This is are the arguments aI use to call the method:

data={
    email_address: '(SOME_EMAIL_HERE)@domain.com',  
    merge_fields: {
        EMAIL: '(SOME_EMAIL_HERE)@domain.com', 
        NAME: 'Kate'
    }, 
    status: 'subscribed', 
    status_if_new: 'subscribed'
}

client.lists.members.create_or_update(
    list_id=audience_id,
    subscriber_hash=md5(user.email.lower().encode("utf-8")).hexdigest(),
    data=data)

Library version is 3.0.12 running on Python 3.6

This seems strange as I am using create_or_update method which assumes that the user can already exist and I think that create_or_update actually uses PUT method.

Am I doing something wrong here? How can this be fixed?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions