Skip to main content

send text messages with bulksmszw api

Project description

BulkSmsZW-Api

  • bulksmszw api for sending affordable text messages in Python
  • for Embedded device supported library in C++ for ESP8266-Arduino boards for IoT check out the ported library bulksms ESP8266

Installation

  • make sure git is installed on your system or download repo as zip
  • In cmd or terminal do
$ git clone https://github.com/DonnC/BulkSmsZW-Api.git
$ cd BulkSmsZW-Api
$ python setup.py install
  • or directly with pip, python3.x
$ pip install bulksmszw

demo gif

Authentication details

  • register an account on bulksms website
  • if already have an account, login on bulksms web portal
  • Got to "My Account", then Click on "User Configuration", to obtain "Webservices token".

Sending default message

  • test file test_api.py
  • recipients is passed as a list of bulksms valid format 2637xxxxxxxx, list can also contain groups #devteam and can be mixed
 api = Client(<username>, <token>)
 respond = api.send("hello guys", ['2637xxxxxxxx', '#devteam', '#students'])
  • Example script
from BulkSmsApi.Client import Client

bulksms = Client(<username>, <web-token>)

response = bulksms.send(body="bulk sms ZW api testing", recipients=['2637xxxxxxxx', '2637yyyyyyyy'])

print(response)
  • On successful run, the response default message respond

test run gif

Send message and get credits(text messages) left

  • credits flag by default is set to False
  • to receive the number of credits on your web portal, set the credit flag to True
api = Client(<username>, <token>)

credits_response = api.send(body="hello world", recipients=['2637xxxxxxxx'], credits=True)

print(credits_response)

credits response

Catch BulkSmsZw status errors as python exceptions

  • You can wrap your code in a try - except to catch unsuccessful and bulksms error messages as normal python exceptions
# this wil throw an exception because of the wrong / not valid username

bulksms = Client(username=<wrong-username>, token=<web-token>)

try:
    response = bulksms.send(body="bulk sms ZW api testing", recipients=['2637xxxxxxxx', '2637yyyyyyyy'])
    print(response)

except Exception as exc:
    print("Encountered an Error: %s" %exc)

bulksms exception

Responses

  • responses are in default JSON format used by BulkSMSZW service

acknowledgements

  • Big shoutout to the BulkSMS ZW team
  • Original bulksms python api script
  • All credits to the Bulk SMS ZW Team

HTTP API

TODO

  • Schedule messages
  • Validate phone numbers

get in contact

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Bulksmsapi-zw-1.2.0.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

Bulksmsapi_zw-1.2.0-py3-none-any.whl (5.8 kB view details)

Uploaded Python 3

File details

Details for the file Bulksmsapi-zw-1.2.0.tar.gz.

File metadata

  • Download URL: Bulksmsapi-zw-1.2.0.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3

File hashes

Hashes for Bulksmsapi-zw-1.2.0.tar.gz
Algorithm Hash digest
SHA256 b99e0e2d7a0eafb8b52abd87cc726d6aa43e15865ae360a653e64aa96b32856c
MD5 e245b0142852f6f172ddf1a4c0901272
BLAKE2b-256 ad135493adc8b72b5b2812583bbf1a9b30c4c92ccd49e9531e11f6d23238206e

See more details on using hashes here.

File details

Details for the file Bulksmsapi_zw-1.2.0-py3-none-any.whl.

File metadata

  • Download URL: Bulksmsapi_zw-1.2.0-py3-none-any.whl
  • Upload date:
  • Size: 5.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.3

File hashes

Hashes for Bulksmsapi_zw-1.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 02cc7c354ba3b912877534a32a4f3a7485c427784b7870312b260675928c2ecc
MD5 a2e5493053cb8f352701168c13ce2cb0
BLAKE2b-256 6c996121ed6d9f029e408a7c6fda3b17ee78f5691127b5ed2c0434dff1c5553b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page