RapidSMS Tropo Threadless Backend
Project description
Basic Tropo backend for the RapidSMS Threadless router
Requirements
tropo-webapi-python (pip install tropo-webapi-python)
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. For example:
INSTALLED_BACKENDS = { "tropo": { "ENGINE": "rtropo.backend", 'config': { # Your Tropo application's outbound token for messaging 'messaging_token': 'YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY', # Your Tropo application's outbound token for voice (optional) 'voice_token': 'ZZZZZZZZZZZZZZZZZZZZZZZZZZ', # Your Tropo application's voice/messaging phone number (including country code, which must be +1 because only US numbers can be used for messaging) '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. For example:
from django.conf.urls.defaults import * from rtropo import views urlpatterns = patterns('', url(r"^tropo/$", views.message_received, kwargs={'backend_name': 'tropo'}, name='tropo'), )
You can use any URL.
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/tropo/
Voice and more complicated stuff
The tropo backend provides a way for your app to get access to tropo and do whatever it wants using Tropo’s Web API. See rtropo/outgoing.py, TropoBackend.call_tropo().
Background
Development by Caktus Consulting Group.
Changelog
v0.1.2 (Released 2013-05-17)
Add validation of some incoming requests from Tropo.
v0.1.1 (Released 2012-07-02)
Updated MANIFEST to inlcude distribute_setup.py
v0.1.0 (Released 2012-06-28)
Initial stable release
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.