rapidpro-for-rapidsms

A RapidPro backend for RapidSMS.


Keywords
rapidsms, rapidpro, sms, django, textit
License
BSD-3-Clause
Install
pip install rapidpro-for-rapidsms==1.0.1

Documentation

rapidpro-for-rapidsms

This is the RapidPro backend for RapidSMS. It has been created for UNICEF to facilitate transition of legacy applications designed for RapidSMS and the Django web framework to the new RapidPro platform. This component uses the official rapidpro-python client library to communicate with RapidPro.

Features

  • Incoming (MO) SMS support
  • Outgoing (MT) SMS support
  • New configuration options
    • RapidPro API gateway URL
    • RapidPro API token

Requirements

  • Python 2.7+ or Python 3.3+
  • Django >=1.7,<=1.9
  • RapidSMS 0.18.0+
  • rapidpro-python >=2.1.6

Installation

The rapidpro-for-rapidsms backend supports Python >= 2.7 and Django >= 1.7. All required Python packages should be intalled automatically as long as you follow the official installation procedure described below.

To install from PyPi:

$ pip install rapidpro-for-rapidsms

Configuration

Edit your Django project settings (e.g. settings.py) to include the following:

  • add rapidpro4rapidsms to your INSTALLED_APPS, e.g.:

    INSTALLED_APPS = (
        # your apps
        'rapidpro4rapidsms',
    )
    
  • configure the backend to use your RapidPro service and API token, e.g.:

    INSTALLED_BACKENDS = {
        # some other backends (optional)
        "rapidpro-backend": {
            "ENGINE": "rapidpro4rapidsms.RapidProBackend",
            # The following URL and token should be set to match your RapidPro
            "rapidpro_api_gateway_url": "your rapidpro API gateway URL, e.g. "
                                                "http://127.0.0.1:8080/api/v1"
                                                "or"
                                                "rapidpro.io",
            "rapidpro_api_token": "YOUR-RAPIDPRO-API-TOKEN"
        }
    }
    
  • configure your Django project to include rapidpro4rapidsms.urls, e.g.:

    urlpatterns = patterns(
        # your Django project URLs
        # ...
        # rapidpro4rapidsms URLs
        url(r'backends/', include('rapidpro4rapidsms.urls')),
    )
    

LICENSE

The rapidpro-for-rapidsms backend is released under the BSD License. See the LICENSE.TXT file for more details.

Development

To install:

$ pip install -e .[development]

To run tests:

$ python setup.py test

Contributing

If you think you've found a bug or are interested in contributing to this project check out rapidpro-for-rapidsms on Github.

Development by Tomasz J. Kotarba of SYSTEM7.