A straighforward python client for v3 of MailChimp API using requests >= 2.7.0.
This client is hosted at PyPi under the name mailchimp3
, to install it, simply run
pip install mailchimp3
Grab YOUR SECRET KEY
from your mailchimp account (Account > Extra > Api Keys).
YOUR USERNAME
is the one you use to login.
from mailchimp3 import MailChimp
client = MailChimp('YOUR USERNAME', 'YOUR SECRET KEY')
# returns all the lists (only name and id)
client.list.all(fields="lists.name,lists.id")
# returns all members inside list '123456'
client.member.all('123456')
# same query, but with query params
client.member.all('123456', count=100, offset=0, fields="members.email_address")
# returns the list matching id '123456'
client.list.get('123456')
# add John Doe with email [email protected] to list matching id '123456'
client.member.create('123456', {
'email_address': '[email protected]',
'status': 'subscribed',
'merge_fields': {
'FNAME': 'John',
'LNAME': 'Doe',
},
})
# returns all the campaigns
client.campaign.all()
# You can also disable at runtime with the optional `enabled` parameter.
# Every API call will return None
client = MailChimp('YOUR USERNAME', 'YOUR SECRET KEY', enabled=False)
Simply add count
and offset
arguments in your function like so:
client.member.all('123456', count=100, offset=0)
Simply add fields
arguments in your function. The following only display email_address and id for each member:
client.member.all('123456', fields="members.email_address,members.id")
client.authorizedapp.all()
client.authorizedapp.get(app_id='')
client.automation.all()
client.automation.get(workflow_id='')
client.automation.pause(workflow_id='')
client.automation.start(workflow_id='')
client.automationemail.all(workflow_id='')
client.automationemail.get(workflow_id='', email_id='')
client.automationemail.pause(workflow_id='', email_id='')
client.automationemail.start(workflow_id='', email_id='')
client.automationemailqueue.all(workflow_id='', email_id='')
client.automationemailqueue.get(workflow_id='', email_id='', member_id='')
client.automationemailqueue.create(workflow_id='', email_id='', data='')
client.automationeremovedsubscriber.all(workflow_id='')
client.automationeremovedsubscriber.create(workflow_id='', data='')
client.campaign.all()
client.campaign.create(data={})
client.campaign.get(campaign_id='')
client.campaign.delete(campaign_id='')
client.campaign.patch(campaign_id='', data={})
client.campaign.cancel(campaign_id='')
client.campaign.get_content(campaign_id='', **queryparams)
client.campaign.set_content(campaign_id='', data={})
client.feedback.all(campaign_id='')
client.feedback.create(campaign_id='', data={})
client.feedback.get(campaign_id='', feedback_id='')
client.feedback.update(campaign_id='', feedback_id='', data={})
client.feedback.delete(campaign_id='', feedback_id='')
client.conversation.all()
client.conversation.get(conversation_id='')
client.file.all()
client.file.create(data='')
client.interest.all(list_id, category_id, **querparams)
client.interest.create(list_id, category_id, post_data)
client.interest.get(list_id, category_id, interest_id)
client.interest.update(list_id, category_id, interest_id, post_data)
client.interest.delete(list_id, category_id, interest_id)
client.list.all()
client.list.get(list_id='')
client.list.create(data='')
client.list.update(list_id='', data='')
client.list.delete(list_id='')
client.member.all(list_id='', **queryparams)
client.report.all()
client.report.get(report_id='')
client.template.all()
client.template.get(template_id='')
client.template.update(template_id='', data='')
client.template.delete(template_id='')
client.root.get()
If you are having issues, please let us know or submit a pull request.
The project is licensed under the MIT License.