Python client for working with SMS Aero API.
Project description
Python library for sending SMS messages via SMS Aero API
Installation (from PyPI):
pip install -U smsaero-api
Usage example:
Get credentials from account settings page: https://smsaero.ru/cabinet/settings/apikey/
from pprint import pprint
from smsaero import SmsAero, SmsAeroException
SMSAERO_EMAIL = "your email"
SMSAERO_API_KEY = "your api key"
def send_sms(phone: int, message: str) -> dict:
"""
Sends an SMS message
Parameters:
phone (int): The phone number to which the SMS message will be sent.
message (str): The content of the SMS message to be sent.
Returns:
dict: A dictionary containing the response from the SmsAero API.
"""
api = SmsAero(SMSAERO_EMAIL, SMSAERO_API_KEY)
return api.send_sms(phone, message)
def send_telegram_code(phone: int, code: int, sign: str = None, text: str = None) -> dict:
"""
Sends a Telegram code
Parameters:
phone (int): The phone number to which the Telegram code will be sent.
code (int): The Telegram code (4 to 8 digits).
sign (str, optional): The SMS sender name for fallback.
text (str, optional): The SMS message text for fallback.
Returns:
dict: A dictionary containing the response from the SmsAero API.
"""
api = SmsAero(SMSAERO_EMAIL, SMSAERO_API_KEY)
return api.send_telegram(phone, code, sign, text)
if __name__ == "__main__":
try:
# Send SMS
result = send_sms(70000000000, "Hello, World!")
pprint(result)
# Send Telegram code
telegram_result = send_telegram_code(70000000000, 1234, "SMS Aero", "Your code is 1234")
pprint(telegram_result)
except SmsAeroException as e:
print(f"An error occurred: {e}")
Exceptions:
SmsAeroException- base exception class for all exceptions raised by the library.SmsAeroConnectionException- exception raised when there is a connection error.SmsAeroNoMoneyException- exception raised when there is not enough money in the account.
Command line usage:
SMSAERO_EMAIL="your email"
SMSAERO_API_KEY="your api key"
smsaero_send --email "$SMSAERO_EMAIL" --api_key "$SMSAERO_API_KEY" --phone 70000000000 --message 'Hello, World!'
Run on Docker:
docker pull 'smsaero/smsaero_python:latest'
docker run -it --rm 'smsaero/smsaero_python:latest' smsaero_send --email "your email" --api_key "your api key" --phone 70000000000 --message 'Hello, World!'
Compatibility:
- Currently version of library is compatible with Python 3.6+.
- Previous versions of Python supported by versions 2.2.0 and below.
License:
MIT License
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
smsaero_api-3.2.0.tar.gz
(22.8 kB
view details)
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 smsaero_api-3.2.0.tar.gz.
File metadata
- Download URL: smsaero_api-3.2.0.tar.gz
- Upload date:
- Size: 22.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
481283f0af22d7762b3e85344a19afcc6761800a4ecce01fa30764d39ec34cfe
|
|
| MD5 |
7f1270798f08ab59c10106e783a3cfce
|
|
| BLAKE2b-256 |
ef585b0c1a4b26bb82ccd1596f3759a2c65e8ec8779c2947d456c89c081f4861
|
File details
Details for the file smsaero_api-3.2.0-py3-none-any.whl.
File metadata
- Download URL: smsaero_api-3.2.0-py3-none-any.whl
- Upload date:
- Size: 14.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.8.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fef30fc6ea7d08fbaa40187dc79759b548f05cddcf7cfb9b606cb46cc5407ea2
|
|
| MD5 |
8a30fbbf5e37f6b240b123f464206042
|
|
| BLAKE2b-256 |
0665af28e2f649f68b5ece55bc1786d97c4c34296e0c31061b2e9eb82b41392c
|