Skip to main content

Basic Tropo backend for RapidSMS, version 0.14.0 or later.

Requirements

  • RapidSMS, version 0.14.0 or later

    (pip install ‘rapidsms>=0.14.0’)

  • Django, version 1.4 or later.

Usage

Create an application at tropo.com. Its type should be “Web API”.

Add rtropo to your Python path and set up the Tropo backend in your Django settings file.

The required settings for your Tropo backend in INSTALLED_BACKENDS are:

ENGINE

“rtropo.outgoing.TropoBackend”

config

A dictionary with the rest of your settings for this backend. Required settings inside config are:

messaging_token

Your messaging token from Tropo (a long hex string)

number

The phone number your Tropo app is using. Must start with “+” and the country code.

For example:

INSTALLED_BACKENDS = {
    "my-tropo-backend": {
        "ENGINE": "rtropo.outgoing.TropoBackend",
        'config': {
            # Your Tropo application's outbound token for messaging (required)
            'messaging_token': 'YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY',
            # Your Tropo application's voice/messaging phone number, starting
            # with "+" and the country code (required)
            'number': '+1-###-###-####',
        },
    },
}

At this point you should be able to send outgoing messages, but more setup is needed to receiving incoming messages.

Set up your URLconf to send incoming http requests from tropo to rtropo.views.message_received, passing the backend_name parameter, whose value must be the same as the backend name you used in INSTALLED_BACKENDS.

For example:

from django.conf.urls.defaults import *
from rtropo import views

urlpatterns = patterns('',
    url(r"^tropo/$",
        views.message_received,
        kwargs={'backend_name': 'my-tropo-backend'},
        name='tropo'),
)

You can use any URL. If you want to add some (slight) protection against someone other than Tropo passing you messages pretending to be Tropo, you might make your URL long and random, e.g.:

from django.conf.urls.defaults import *
from rtropo import views

urlpatterns = patterns('',
    url(r"^534bd769-3e2e-42bd-8337-2099d9f38858/$",
        views.message_received,
        kwargs={'backend_name': 'my-tropo-backend'},
        name='tropo'),
)

Configure your Tropo application at tropo.com so its SMS/Messaging URL will invoke the Django URL that you just configured. E.g.:

https://yourserver.example.com/534bd769-3e2e-42bd-8337-2099d9f38858/

Background

Development by Caktus Consulting Group.

Changelog

v0.2.0 (Released 2013-05-20)

  • Updates for RapidSMS 0.14 and later.

  • Support for bulk messaging - with RapidSMS 0.14.0 or later, many messages can be sent without requiring separate round trip requests to Tropo for each.

  • Add tests

  • Add tox test runner

  • Drop Tropo python library, which was hardly being used anyway.

  • Security improvements.

v0.1.2 (Released 2013-05-17)

  • Add validation of some incoming requests from Tropo.

  • Probably last version to support threadless-router, rapidsms<0.10.0

v0.1.1 (Released 2012-07-02)

  • Updated MANIFEST to include distribute_setup.py

v0.1.0 (Released 2012-06-28)

  • Initial stable release

Download files

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

Source Distribution

rapidsms-tropo-0.2.0.tar.gz (13.9 kB view details)

Uploaded Source

File details

Details for the file rapidsms-tropo-0.2.0.tar.gz.

File metadata

File hashes

Hashes for rapidsms-tropo-0.2.0.tar.gz
Algorithm Hash digest
SHA256 e93c6c3eb1904c4ca8660b837e0032d7efc6b67add286734f90af61bfdcdeda7
MD5 de9173cba684621dd7a18471ffce581e
BLAKE2b-256 944c5690c46f36833f0aa1bc80b04e2b3c6bf051e7a1c105a06fa7a690af0406

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2.0 This release

1 file

0.1.2

1 file

0.1.1

1 file

0.1.0

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page