04 July 2018

Python

04 July 2018
clock
3 minutes

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.

View on Github

This library supports version 2 of Python.


This library allows easy access to connecting the Clickatell’s different messenging API’s.

Installation

You can install this library via PIP as part of your requirements file.

pip install clickatell-platform

Clickatell Python PyPI

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 like 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 like 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 and 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.

Reference Links and More Info:

Found a bug or missing a feature? Log it here and we will take a look.
https://github.com/clickatell/clickatell-python/issues

Register a new account to send sms’s:
https://www.clickatell.com/sign-up/

Login to platform for API id, etc:
https://portal.clickatell.com/#/login

Request Parameters:
https://www.clickatell.com/developers/api-documentation/rest-api-request-parameters/

Send Message Info:
https://www.clickatell.com/developers/api-documentation/rest-api-send-message/

Error Messages:
https://www.clickatell.com/developers/api-documentation/rest-api-error-message-descriptions/

Featured Insight Circle post

Seeing the world through the eyes of your user – Part I

Related blogs posts

Seeing the world through the eyes of your user – Part I
A View of the Future with Dr. Damian Tan
Sterling Bank Enhances Digital Banking with Clickatell

About Clickatell

Todays’ consumers spend more time on chat like text, Instagram, Facebook Messenger, and WhatsApp than apps, and they expect a high degree of convenience in the way brands serve them. Clickatell makes it possible for brands and consumers to engage and transact via mobile chat and digital channels with industry-leading communications commerce platforms and solutions. With offices in San Francisco, Toronto, Cape Town, and Lagos, Clickatell serves more than 15,000 global brands, ranging from Fortune 500 organizations to well-known consumer brands and small businesses in over 220 countries worldwide.

Read more about Clickatell

Related blogs posts

Seeing the world through the eyes of your user – Part I
A View of the Future with Dr. Damian Tan
Sterling Bank Enhances Digital Banking with Clickatell

This website uses cookies to allow us to see how the site is used. The cookies cannot identify you. If you continue to use this site we will assume that you are happy with this. If you want to use the site without cookies or would like to know more, you can do that here.