gabia-sms-python

Send SMS messages to mobile devices through GABIA SMS api.


Install
pip install gabia-sms-python==1.0.4

Documentation

Gabia SMS module for Python

Python 2 & 3 compatible

Installation

You can install the library directly from pypi using pip:

$ pip install gabia-sms-python

Dependencies

  • Python 2.7 or 3.4+

Quickstart

Before api usage, set your Gabia API-ID,API-KEY, SENDER value

import gabia_sms

# Set Gabia-sms configure
gabia_sms.configure(api_id='API_ID', api_key='API_KEY', sender='SENDER')

Send sms message to use shortcut function

import gabia_sms

try:
    # Send single SMS
    gabia_sms.send(message='message', receiver='will receive phone number')

except SMSModuleException:
    print('SMS send failure')
  • SMS Types: ['sms', 'lms', 'multi_sms', 'multi_lms']
  • Send function returning Tuple(Unique key, Result code)

More usage

import gabia_sms

try:
    # Reserve single SMS
    gabia_sms.send(
        message='message',
        receiver='will receive phone number',
        scheduled_time='2018-02-02 22:22:22'
    )

    # if not assign scheduled_time, send immediately
    gabia_sms.send(
        message='message',
        receiver='will receive phone number'
    )

    # Send multiple SMS
    gabia_sms.send(message='message', receiver=['phone number', '...'])
    gabia_sms.send(message='message', receiver=('phone number', '...'))

    # Reserve multiple SMS
    gabia_sms.send(
        message='message',
        receiver=['phone number', '...'],
        scheduled_time='2018-02-02 22:22:22'
    )

    # Cancel reservation
    gabia_sms.cancel_reservation('Unique key', 'SMS type')

    # Request result code
    gabia_sms.get_send_result('Unique key')

except SMSModuleException:
    print('SMS send failure')

Advanced usage

Inherit SMS class, override post_sent_sms / before_send_sms

import gabia_sms

class AdvancedSMSModule(gabia_sms.GabiaSMS):

  def post_sms_sent(self, param, *args, **kwargs):
     # ... Do what you need

  def before_send_sms(self, param, *args, **kwargs):
     # ... Do what you need

AdvancedSMSModule.send(message='message', receiver='will receive phone number')

or Use SingletonClass

import gabia_sms

class AdvancedSMSModule(gabia_sms.SingletonGabiaSMS):
    # ...
    pass

Acknowledgements

Thanks https://github.com/athenaslab/gabia-sms-Django for gabia-sms-Django version