A Python interface to the PSWinCom XML SMS Gateway now also called the LINK SMS Gateway. Link Mobility bought PSWinCom 31 December 2014.
The official pswinpy package has no activity in the last 5 years and only supports a small subset of the api. In January 2016 the default endpoints in the official package are no longer valid. This was the main motivation for creating this library. This module sends data as XML over HTTPS.
pip install pswingw2
To use this package, you will need sign up for a Gateway account with PSWinCom. Demo account are available.
This piece of code demonstrates how to send a simple SMS message:
import pswingw2 as sms config = sms.config("username", "password") sms.send_simple_message(config, msg_to="4700000000", msg_from="My Company", text="Hello World")
More complex messages can also be sent:
sms.send(config, data) sms.send_single(config, message) sms.send_batch(config, message_list)
Send calls also returns a message status structure that can be inspected. Docs needed.
Messages can also be sent using a client class:
client = sms.Client(config) client.send_simple_message(..) client.send(..) client.send_single(..) client.send_batch(..)
Installing this module also adds a console command for sending messages:
pswinsms -u username -p password -to 4700000000 -from "My Company" This is a test message
Receiver, sender and message text are mandatory properties when sending a message. Supported properties can be found in the online documention under Element valid for a Submit SMS request.
You configure the library by defining a config object that are passed with send calls.
The following attributes must be defined and the config object must be able to obtain them by name using the get(name) method. This can be a module, dict or class (or whatever structure is suitable for you):
ENDPOINTS = ['https://xml.pswin.com', 'https://xml2.pswin.com'] USERNAME = 'myusername' PASSWORD = 'mypassword'
The pswingw2.config_defaults
module have some useful examples.
This code is free to use under the terms of the MIT license.
This project is sponsored by zetta.io