Skip to main content

Python Wrapper for Mailerlite API

Project description

Mailerlite-api-python

Python Wrapper for Mailerlite API v2

Getting Started

Installation

This client is hosted at PyPi under the name mailerlite-api-python, to install it, simply run

pip install mailerlite-api-python

or install dev version:

git clone https://github.com/skoudoro/mailerlite-api-python.git
pip install -e .

Examples

Initialization

First, Grab YOUR_API_KEY from your Mailerlite account (Profile > Integrations > Developer Api).

>>> from mailerlite import MailerLiteApi

>>> api = MailerLiteApi('YOUR_API_KEY')

Campaigns

Get all campaigns or a specific one

>>> all_campaigns = api.campaigns.all()
>>> draft = api.compaings.all(status='draft')

Modify a campaign

>>> one_campaign = all_campaigns[0]
>>> html = '<h1>Title</h1><p>Content</p><p><small><a href=\"{$unsubscribe}\">Unsubscribe</a></small></p>'
>>> plain = "Your email client does not support HTML emails. "
>>> plain += "Open newsletter here: {$url}. If you do not want"
>>> plain += " to receive emails from us, click here: {$unsubscribe}"

>>> api.campaigns.update(one_campaign.id, html=html, plain=plain)

Create /Delete a campaign

>>> data = {"subject": "Regular campaign subject",
                       "groups": [2984475, 3237221],
                       "type": "regular"}
>>> api.campaign.create(data)
>>> api.campaign.delete(campaign_id=3971635)

count campaign

>>> api.campaign.count()
>>> api.campaign.count(status='draft')

Subscribers

Get all subscribers

>>> api.subscribers.all()
>>> api.subscribers.all(stype='active')
>>> api.subscribers.active()

Get one subscriber

>>> api.subscribers.get(email='demo@mailerlite.com')
>>> api.subscribers.get(id=1343965485)

search

>>> api.subscribers.search(search='demo@mailerlite.com')

subscribers groups

>>> api.subscribers.groups(id=1343965485)

subscribers activity

>>> api.subscribers.activity(id='1343965485')

Create subscriber

>>> data = {'name': 'John',
            'email': 'demo-678@mailerlite.com',
            'fields': {'company': 'MailerLite'}
            }
>>> api.subscribers.create(data)

Update subscriber

>>> data = {'name': 'John',
            'fields': {'company': 'MailerLite'}
            }
>>> api.subscribers.update(data, id='1343965485')

Count subscribers

Get the total count of all subscribers in a single call.

Please, be aware that is not documented in the official API.

>>> api.subscribers.count()

Groups

Need documentation...

Segments

Get list of Segments.
>>> api.segments.all()
Get countof Segments.
>>> api.segments.count()

Fields

Get list of Fields.
>>> api.fields.all()
Get one Field
>>> api.fields.get(field_id=123456)
Create/update/delete one Field
>>> api.fields.create(title="my custom title")
>>> api.fields.update(field_id=123456, title="my new title 2")
>>> api.fields.delete(field_id=123456)

Webhooks

Get list of Webhooks.
>>> api.webhooks.all()
Get one webhook
>>> api.webhooks.get(webhook_id=123456)
Create/update/delete one webhook
>>> api.webhooks.create(url="https://yoursite/script-is-here",
... 	                event="subscriber.create")
>>> api.webhooks.update(webhook_id=123456,
...                     url="https://yoursite/script-is-here",
...	                event="subscriber.create")
>>> api.webhooks.delete(webhook_id=123456)

Account

# Get some info or stats
>>> api.account.info()
>>> api.account.stats()
>>> api.account.double_optin()
# Set up the double_optin
>>> api.account.set_double_optin(True)

Batch

>>> batch_requests = {"requests": [{"method":"GET",
...                                 "path": "/api/v2/groups"
...                                 },
...                                 {"method":"POST",
...                                  "path": "/api/v2/groups",
...                                  "body": {"name": "New group"}
...                                 }
...                                 ]
...                    }
>>> api.batch(batch_requests)

Contribute

We love contributions!

You've discovered a bug or something else you want to change - excellent! Create an issue!

You've worked out a way to fix it – even better! Submit a Pull Request!

Start with the contributing guide!

License

Project under 3-clause BSD license, more informations here

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mailerlite-api-python-0.2.0.tar.gz (39.7 kB view details)

Uploaded Source

Built Distribution

mailerlite_api_python-0.2.0-py3-none-any.whl (23.5 kB view details)

Uploaded Python 3

File details

Details for the file mailerlite-api-python-0.2.0.tar.gz.

File metadata

  • Download URL: mailerlite-api-python-0.2.0.tar.gz
  • Upload date:
  • Size: 39.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2.post20191203 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.8.0

File hashes

Hashes for mailerlite-api-python-0.2.0.tar.gz
Algorithm Hash digest
SHA256 a7f03471818c0ed867d57517b33abdfd934ab193d3cc9d9d438427b19552910a
MD5 963be7dec8246e7111b5cbec269679b1
BLAKE2b-256 29e4463ef19a680b41a8a958b12edc1ad0a6f8830181e5b406986d7883217e67

See more details on using hashes here.

Provenance

File details

Details for the file mailerlite_api_python-0.2.0-py3-none-any.whl.

File metadata

  • Download URL: mailerlite_api_python-0.2.0-py3-none-any.whl
  • Upload date:
  • Size: 23.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2.post20191203 requests-toolbelt/0.9.1 tqdm/4.41.0 CPython/3.8.0

File hashes

Hashes for mailerlite_api_python-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 03ca27369ad664df80acc1635e2731c37771586b5e3b1b151df6a6781c57bfa8
MD5 70df01b7014bd1fc4cc7150d60983404
BLAKE2b-256 15d151f6d303c4008ed0fcf85bd600395f019be314617a3438ba3ededd09bd3a

See more details on using hashes here.

Provenance

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page