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 john.doe@example.com to list matching id '123456' client.member.create('123456', { 'email_address': 'john.doe@example.com', '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, count=100) 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.
The project is licensed under the MIT License.