Skip to main content

Python Interface for the Sendy API

Project description

sendypy nlshield

Info:

Simple module to interface with the Sendy API (https://sendy.co/api)

Version:

4.0.5

Author:

Peter Sanchez (http://www.petersanchez.com) - (http://www.netlandish.com)

Dependencies

  • It was written for Python 3.6+

  • Depends on the requests module

NOTE:

  • Version 4.0.5 we’re changing the version to match the version of Sendy that this is most recently updated for. When Sendy introduces changes that require a lib update, we will update the version to match the Sendy version.

  • Version 0.2 now requires api_key varaible for all API calls. This is a required change to the functionality of Sendy as of version 4.0.4. This is a potentially breaking code change. Please update your code to always provide the API key before upgrading to sendypy v0.2.

  • Version 0.1.3b adds the new “title” variable to the create_campaign API call. It effects the default ordering of variables in the call. If you’re upgrading from a previous version please ensure that you account for the new ordering of variables. This new variable was added in Sendy v2.1.2.6

Installation

PIP:

pip install sendypy

Basic Manual Install:

$ python setup.py build
$ sudo python setup.py install

Alternative Install (Manually):

Place sendy directory in your Python path. Either in your Python installs site-packages directory or set your $PYTHONPATH environment variable to include a directory where the impersonate directory lives.

Use

All the variables and response values are described in the Sendy API docs

Usage is simple

from sendy.api import SendyAPI
api = SendyAPI(
     host='https://your-sendy-install.com/sendy/',
     api_key='YOUR_API_KEY',
)

You can also provide the optional debug variable (defaults to False). This will print debug into to stdout when sending a request to your Sendy install.

Subscribe

api.subscribe('list_id_here', 'email@address.com', 'optional first name', custom_field_1='value', custom_field_2='value', ...)

Optional fields

  • country: User’s 2 letter country code.

  • ipaddress: User’s IP address.

  • referrer: The URL where the user signed up from.

  • gdpr: If you’re signing up EU users in a GDPR compliant manner.

  • hp: Include this ‘honeypot’ field to prevent spambots.

data = {"gdpr": True, "ipaddress": "127.0.0.1", "country": "US"}

api.subscribe(list_id, email, **data)

Unsubscribe

api.unsubscribe('list_id_here', 'email@address.com')

Delete

api.delete('list_id_here', 'email@address.com')

Subscription Status

api.subscription_status('list_id_here', 'email@address.com')

Subscriber Count

api.subscriber_count('list_id_here')

Create Campaign

api.create_campaign(
    from_name='Your Name',
    from_email='Your Sender Email',
    reply_to='Your Reply-to Email',
    title='Your Email Title',
    subject='Your Email Subject',
    plain_text='Plain Text Email Body',
    html_text='HTML Email Body',
    list_ids='list_id_1,list_id_2,list_id_3',
    brand_id='your brand id',
    query_string='Your query string',
    send_campaign=0, #default's to 0, use 1 to send email right away
)

Commercial Support

This software, and lots of other software like it, has been built in support of many of Netlandish’s own projects, and the projects of our clients. We would love to help you on your next project so get in touch by dropping us a note at hello@netlandish.com.

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

sendypy-4.0.5.tar.gz (5.1 kB view details)

Uploaded Source

File details

Details for the file sendypy-4.0.5.tar.gz.

File metadata

  • Download URL: sendypy-4.0.5.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.4.2 requests/2.22.0 setuptools/40.4.3 requests-toolbelt/0.8.0 tqdm/4.28.1 CPython/3.7.5

File hashes

Hashes for sendypy-4.0.5.tar.gz
Algorithm Hash digest
SHA256 2360fb6de94526e04e6253c671f7a002832e78ac54b227497e943db32e448027
MD5 069c862aa073896a8b4ef082ff66e84f
BLAKE2b-256 367f442861b74bee59cf74b175dcff090304180ef14b9e95ec85129c80697b58

See more details on using hashes here.

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