Python
ARCHIVED
You can use this Python library with our HTTP or REST messaging APIs to interact with the Clickatell SMS Gateway. The Python library below allows you to send one- or two-way SMS messages using Clickatell’s SMS Platform.
This library supports version 2 of Python. It allows easy access to connecting Clickatell’s different messaging APIs.
Installation
You can install this library via PIP as part of your requirements file.
pip install clickatell-platform
Usage
The library currently supports the Http and Rest protocols.
HTTP API
from clickatell.http import Http clickatell = Http(apiKey)response = clickatell.sendMessage(['1111111111'], "My Message rest") print(response) #Returns the headers with all the messages for entry in response['messages']:print(entry) #Returns all the message details per message#print(entry['apiMessageId'])#print(entry['to'])#print(entry['accepted'])#print(entry['error'])
REST API
from clickatell.rest import Rest clickatell = Rest(apiKey)response = clickatell.sendMessage(['1111111111'], "My Message rest") print response #Returns the headers with all the messages for entry in response['messages']: print(entry) #Returns all the message details per message #print(entry['apiMessageId']) #print(entry['to']) #print(entry['accepted']) #print(entry['error'])
Sending to multiple numbers
The sendMessage call to parameter can take an array of numbers. If you specify only a single number e.g. clickatell.sendMessage(1111111111, "Message"), the library will automatically convert it to an array for your convenience.
To send to multiple numbers, just pass a list of numbers e.g. clickatell.sendMessage([1111111111,2222222222], “Message”)
Supported API calls
The available calls are defined in the clickatell.Transport interface.
def sendMessage(self, to, message, extra={})
Dealing with extra parameters in sendMessage
For usability purposes the sendMessage call focuses on the recipients and the content. In order to specify any of the additional parameters defined in the Clickatell document, you can use the extra parameter and pass them as a dictionary.
Receiving and consuming the status callback
The following will be returned from the callback in two different sets:
DELIVERED_TO_GATEWAY :
integrationName
messageId
requestId
clientMessageId
to
from
statusCode
status
statusDescription
timestamp
RECEIVED_BY_RECIPIENT :
integrationName
messageId
requestId
clientMessageId
to
from
statusCode
status
statusDescription
timestamp
There is a python test server included in the Clickatell folder. To run this server, you require the endpoints pip package:
pip install endpoints
You can run the server using the following command:
endpoints --dir=clickatell/ --prefix=controller --host=<hostname>:<port>
This server currently prints out to the server console. Replace the print function with your function name to consume the data. All data is returned in JSON.
Read more:
Found a bug or missing a feature? Log it here and we will take a look.
Register a new account to send SMSs
Log in to the platform for API Id, etc.
Send message info
Last updated