smsframework-clickatell

SMS framework: Clickatell provider


Keywords
sms, message, notification, receive, send, clickatell
License
BSD-3-Clause
Install
pip install smsframework-clickatell==0.0.3.post0

Documentation

Build Status

SMSframework Clickatell Provider

Clickatell Provider for smsframework.

You need a "Developers' Central" Clickatell account with an HTTP API set up. From the API, you need: api_id, username, password.

Installation

Install from pypi:

$ pip install smsframework_clickatell

To receive SMS messages, you need to ensure that Flask microframework is also installed:

$ pip install smsframework_clickatell[receiver]

Initialization

from smsframework import Gateway
from smsframework_clickatell import ClickatellProvider

gateway = Gateway()
gateway.add_provider('clickatell', ClickatellProvider,
    api_id=1,
    user='kolypto',
    password='123',
    https=False
)

Config

Source: /smsframework_clickatell/provider.py

  • api_id: str: API ID to use
  • user: str: Account username
  • password: str: Account password
  • https: bool: Use HTTPS for outgoing messages? Default: False

Sending Parameters

Provider-specific sending params:

  • deliv_time: int: Delay the delivery for X minutes

Example:

from smsframework import OutgoingMessage

gateway.send(OutgoingMessage('+123', 'hi').params(deliv_time=15))

Additional Information

OutgoingMessage.meta

None.

IncomingMessage.meta

  • api_id: str: API id
  • charset: str: Message character set (when applicable, else - None)
  • udh: str: Header Data (when applicable, else - None)

MessageStatus.meta

  • status: int: Message status code
  • api_id: str: API id
  • charge: float: Charged funds

Public API

ClickatellProvider.get_balance()

Returns the credist left on the account:

provider = gateway.get_provider('clickatell')
provider.get_balance() #-> 10.6

Receivers

Source: /smsframework_clickatell/receiver.py

Message Receiver: /im

After a number is purchased, go to Receive Messages > Manage long numbers / short codes, and then click the ‘Edit’ link of the two-way number which you would like to configure. Set "Reply Path" to "HTTP Get" | "HTTP Post", in the field - put the message receiver URL.

  • "Username & Password" is not supported
  • "Secondary callback" is up to you

Message Receiver URL: <provider-name>/im

Status Receiver: /status

To start getting status reports from Clickatell, edit the HTTP API in the admin panel and click on "Enable your app to receive message delivery notifications". In the field, put the receiver URL.

  • Status receiver only supports "HTTP Get" and "HTTP Post" methods.
  • "basic HTTP Authentication" is not supported

Status Receiver URL: <provider-name>/status