The simplest way to text people (send SMS) via python.
Project description
🚩 Table of contents
👀 What is bulksms?
bulksms is the simplest way to text people (send SMS) via python:
import bulksms
bsms = bulksms.BulkSMS(token_id='17A7C58921F54B5899D5C1237FCCD5FA-02-F', token_secret='9Sj8Ae9WQhBMEI2eMGXIKpZHC8shq')
bsms.send('+123456789', 'Hello world! 👋🏻')
bulksms uses BulkSMS.com to deliver SMS.
Features
This library allows you to:
Send SMS to one recipient
Bulk-send an SMS to many recipients at once
Look up the delivery cost of a previous message
Look up the delivery status of a previous message
Customize the delivery type to trade time with cost
Customize the sender ID e.g. to your mobile number or a company name
Send “long SMS” exceeding the single-message length, using SMS concatenation
Send messages with plain text (160 characters/message) or Unicode, e.g. emojis (67 characters/message)
📌 Requirements
Python version between 3.9 and 3.12
An account at BulkSMS.com with some delivery credits
If you want to use custom sender IDs (e.g. your company name or your own mobile number), you need to have them configured in your BulkSMS account.
You need internet connectivity and HTTPS open towards api.bulksms.com to reach the delivery API
🚀 Quick start
Install the bulksms library into it:
pip install bulksms
Write some code to deliver messages:
import bulksms
# authenticate to BulkSMS with token data (log into BulkSMS > Settings > Advanced > API Tokens)
bsms = bulksms.BulkSMS(token_id='17A7C58921F54B5899D5C1237FCCD5FA-02-F', token_secret='9Sj8Ae9WQhBMEI2eMGXIKpZHC8shq')
bsms.send('+123456789', 'Hello world! 👋🏻')
Done!
Here’s some more advanced use-cases to deliver SMS:
import bulksms
bsms = bulksms.BulkSMS(token_id='17A7C58921F54B5899D5C1237FCCD5FA-02-F', token_secret='9Sj8Ae9WQhBMEI2eMGXIKpZHC8shq')
# send a message with a custom mobile number as Sender
bsms.send('+123456789', 'Hello world! 👋🏻', sender='+1666777888')
# send a message with a custom brand as SenderID
bsms.send('+123456789', 'Hello world! 👋🏻', sender='Google inc')
# send a text to a bunch of receivers in bulk
bsms.send(['+123456789', '+4985296345', '+44785612458'], 'Hello world! 👋🏻')
# send a text message with top priority.
# Unless priority is requested, the default 'routingGroup' set in the BulkSMS account is used.
bsms.send('+123456789', 'Hello world! 👋🏻', priority=True)
And here’s some inspection use-cases:
import bulksms
bsms = bulksms.BulkSMS(token_id='17A7C58921F54B5899D5C1237FCCD5FA-02-F', token_secret='9Sj8Ae9WQhBMEI2eMGXIKpZHC8shq')
# look up what's the current delivery status of a message
msgid = bsms.send('+123456789', 'Hello world! 👋🏻')
dstatus = bsms.msg_delivery_status(msgid)
# dstatus is in {'ACCEPTED', 'SCHEDULED', 'SENT', 'DELIVERED', 'FAILED'}
dcost = bsms.msg_cost(msgid)
# dcost is a float showing the number of credits consumed to deliver the message
💙 Help us be better
Here’s how you can help:
⭐️ star our repository if you like bulksms.
Mention bulksms in any of your online posts so people find out about it.
And if you’re a developer:
Report any issue in our code or docs. We take those seriously.
Package bulksms for your distribution. Else Ubuntu, Debian, CentOS and FreeBSD will serve the most people.
🎖️ License
bulksms is open-source software (BSD 3-clause license).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file bulksms-1.1.0.tar.gz.
File metadata
- Download URL: bulksms-1.1.0.tar.gz
- Upload date:
- Size: 11.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
634bd34f4f51381ae287ceeb1e28eb0d46db7024aa0efdec12c1938763327688
|
|
| MD5 |
37b6b23c10a0b9ae28c14faad9c765d9
|
|
| BLAKE2b-256 |
fd6794c9b7eaa52a2db6249f7a172aeffcebb9cda2bd023d4c65d9d0259f8b50
|
File details
Details for the file bulksms-1.1.0-py3-none-any.whl.
File metadata
- Download URL: bulksms-1.1.0-py3-none-any.whl
- Upload date:
- Size: 10.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.0.1 CPython/3.12.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
74aa91b3532bb9719aa60a774808e5443fd90e4ff35e355c29cf3cfa7ab49c68
|
|
| MD5 |
67bde3fb0dabe89304c32904b69f19ed
|
|
| BLAKE2b-256 |
fba128837ca8c85d12b4ad4e0f5be6ee6c8f5b8e2df96fbd749657c6d866ab71
|