Python Interface for the Sendy API
Project description
Simple module to interface with the Sendy API (https://sendy.co/api)
Version: 5.2.5
Project Links: Issues - Mailing List - Contributing
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', optional_field=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.
silent: If true then Sendy will treat subscription as single opt-in regardless of list settings (defaults to false)
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 segment_ids='segment_id_1,segment_id_2', exclude_list_ids='list_id_1,list_id_2,list_id_3', exclude_segments_ids='segment_id_1,segment_id_2', track_opens=1, # defaults to 1, set to 0 do disable track_clicks=1, "query_string"='extra data', "schedule_date_time"='June 15, 2021 6:05pm', "schedule_timezone"='America/New_York', )
Contributing
We accept patches submitted via hg email which is the patchbomb extension included with Mercurial.
Please see our contributing document for more information.
The mailing list where you submit your patches is ~netlandish/public-inbox@lists.code.netlandish.com. You can also view the archives on the web here:
https://lists.code.netlandish.com/~netlandish/public-inbox
To quickly setup your clone of sendypy to submit to the mailing list just edit your .hg/hgrc file and add the following:
[email] to = ~netlandish/public-inbox@lists.code.netlandish.com [patchbomb] flagtemplate = "sendypy" [diff] git = 1
We have more information on the topic here:
Copyright & Warranty
All documentation, libraries, and sample code are Copyright 2016 Netlandish Inc., Peter Sanchez <pjs@petersanchez.com>. The library and sample code are made available to you under the terms of the BSD license which is contained in the included file, BSD-LICENSE.
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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file sendypy-5.2.5.tar.gz
.
File metadata
- Download URL: sendypy-5.2.5.tar.gz
- Upload date:
- Size: 7.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.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 34453ee73face497ac4f8a21ed2340b4e52e69044476362f37a9d282cb9c69cb |
|
MD5 | 24120b8a944e070aff648aa69bfc8e67 |
|
BLAKE2b-256 | 6c54ea9b87c254b6bbadfb831a59a1fba5f566313caabd95e0d63f89e6de817b |