medianasms sdk
Project description
Mediana SMS api SDK
This repository contains open source Python client for mediana_sms
api. Documentation can be found at: http://docs.medianasms.com.
Installation
you can install this package with either pip:
pip install medianasms
or running bellow command after downloading source:
python setup.py install
Examples
For using sdk, you have to create a client instance that gives you available methods on API
from medianasms import Client
# you api key that generated from panel
api_key = "api-key"
# create client instance
sms = Client(api_key)
...
Credit check
# return float64 type credit amount
credit = sms.get_credit()
Send one to many
For sending sms, obviously you need originator
number, recipients
and message
.
bulk_id = sms.send(
"+9810001", # originator
["98912xxxxxxx"], # recipients
"mediana is awesome" # message
)
If send is successful, a unique tracking code returned and you can track your message status with that.
Get message summery
bulk_id = "message-tracking-code"
message = sms.get_message(bulk_id)
print(message.status) # get message status
print(message.cost) # get message cost
print(message.payback) # get message payback
Get message delivery statuses
bulk_id = "message-tracking-code"
statuses, pagination_info = sms.fetch_statuses(bulk_id, 0, 10)
# you can loop in messages statuses list
for status in statuses {
print("Recipient: %s, Status: %s" % (status.recipient, status.status))
}
print("Total: ", pagination_info.total)
Inbox fetch
fetch inbox messages
messages, pagination_info = sms.fetch_inbox(0, 10)
for message in messages {
print("Received message %s from number %s in line %s" % (message.message, message.sender, message.number))
}
Pattern create
For sending messages with predefined pattern(e.g. verification codes, ...), you hav to create a pattern. a pattern at least have a parameter. parameters defined with %param_name%
.
pattern = sms.create_pattern(r"%name% is awesome", False)
print(pattern.code)
Send with pattern
pattern_values = {
"name": "Mediana",
}
bulk_id = sms.send_pattern(
"t2cfmnyo0c", # pattern code
"+9810001", # originator
"98912xxxxxxx", # recipient
pattern_values, # pattern values
)
Error checking
from medianasms import HTTPError, Error, ResponseCode
try:
bulk_id = sms.send("9810001", ["98912xxxxx"], "mediana is awesome")
except Error as e: # mediana sms error
print("Error handled => code: %s, message: %s" % (e.code, e.message))
if e.code == ResponseCode.ErrUnprocessableEntity.value:
for field in e.message:
print("Field: %s , Errors: %s" % (field, e.message[field]))
except HTTPError as e: # http error like network error, not found, ...
print("Error handled => code: %s" % (e))
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
File details
Details for the file medianasms-1.1.0.tar.gz
.
File metadata
- Download URL: medianasms-1.1.0.tar.gz
- Upload date:
- Size: 6.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.42.0 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
100a1b692fd35e0dd82dbce8f82dadb7f0e9bc51651218471f0dcce4d0f3fffa
|
|
MD5 |
0d224ed61f55349c1557ff993f4dd01a
|
|
BLAKE2b-256 |
edeae50ac546bdcb67df4e4519d5f2f1b39e4166bc9c1ddd6c3a113f3990d868
|