Skip to main content

A package to send SMS using Onfon Media API

Project description

Onfon-SMS-Sender

A Python package to send SMS using the Onfon Media API.

Introduction

The Onfon-SMS-Sender package allows you to send SMS messages through the Onfon Media API. It supports configuration via environment variables, Django settings, or Flask settings, making it versatile and easy to integrate into various Python environments.

Installation

pip install onfon-sms-sender

Prerequisites

  • Python 3.6 or higher
  • Requests library
  • Optional: Flask or Django for web application integration

Configuration

The package requires the following configuration variables:

  • SMS_API_URL
  • SMS_CLIENT_ID
  • SMS_API_KEY
  • SMS_SENDER_ID

You can set these variables either as environment variables or in your application's settings.

Usage

from onfon_sms_sender import send_sms

recipients = []  # comma separated  List of string recipient phone numbers in format ["254...", "07.."]
message = "Hello, this is a test message from Onfon Media API"
response = send_sms(recipients=recipients, message=message)
print(response)

Usage Example in Flask

You can set up your Flask application to use the send_sms function as shown below:

app.py

from flask import Flask
from onfon_sms_sender import send_sms

app = Flask(__name__)
app.config['SMS_API_URL'] = 'https://api.onfonmedia.co.ke/v1/sms/SendBulkSMS'
app.config['SMS_CLIENT_ID'] = 'your_client_id_here'
app.config['SMS_API_KEY'] = 'your_api_key_here'
app.config['SMS_SENDER_ID'] = 'your_sender_id_here'

@app.route('/send_sms')
def send_sms_route():
    recipients = []# comma separated  List of string recipient phone numbers in format ["254...", "07.."]
    message = "Hello, this is a test message from Onfon Media API"
    response = send_sms(recipients=recipients, message=message)
    return str(response)

if __name__ == '__main__':
    app.run(debug=True)

Usage Example in Django

Ensure your Django project's settings.py includes the necessary configuration:

settings.py

# settings.py
SMS_API_URL = 'https://api.onfonmedia.co.ke/v1/sms/SendBulkSMS'
SMS_CLIENT_ID = 'your_client_id_here'
SMS_API_KEY = 'your_api_key_here'
SMS_SENDER_ID = 'your_sender_id_here'

Use the send_sms function in your Django views:

from django.http import JsonResponse
from onfon_sms_sender import send_sms

def send_sms_view(request):
    recipients = []  # comma separated  List of string recipient phone numbers in format ["254...", "07.."]
    message = "Hello, this is a test message from Onfon Media API"
    response = send_sms(recipients=recipients, message=message)
    return JsonResponse(response, safe=False)

Running Tests

To run tests, ensure you have set the necessary environment variables or updated your settings.py file.

python -m unittest discover

Feedback and Contribution

If you have any feedback or suggestions, please open an issue or submit a pull request on GitHub. Your contributions are welcome!

License

This project is licensed under the MIT License - see the LICENSE file for details.

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

onfon_sms_sender-0.1.4.tar.gz (5.6 kB view hashes)

Uploaded Source

Built Distribution

onfon_sms_sender-0.1.4-py3-none-any.whl (4.9 kB view hashes)

Uploaded Python 3

Supported by

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