Skip to main content

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.

Build Status

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


Download files

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

Source Distribution

medianasms-1.1.0.tar.gz (6.9 kB view details)

Uploaded Source

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

Hashes for medianasms-1.1.0.tar.gz
Algorithm Hash digest
SHA256 100a1b692fd35e0dd82dbce8f82dadb7f0e9bc51651218471f0dcce4d0f3fffa
MD5 0d224ed61f55349c1557ff993f4dd01a
BLAKE2b-256 edeae50ac546bdcb67df4e4519d5f2f1b39e4166bc9c1ddd6c3a113f3990d868

See more details on using hashes here.

Supported by

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