Metadata-Version: 2.1
Name: seed-message-sender
Version: 0.10.2
Summary: Seed Message Sender mircoservice
Home-page: http://github.com/praekelt/seed-message-sender
Author: Praekelt.org
Author-email: dev@praekelt.org
License: BSD
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Framework :: Django
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.7
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Dist: Django (==2.1.2)
Requires-Dist: djangorestframework (==3.8.2)
Requires-Dist: dj-database-url (==0.5.0)
Requires-Dist: psycopg2 (==2.7.5)
Requires-Dist: raven (==6.9.0)
Requires-Dist: django-filter (==2.0.0)
Requires-Dist: celery (==4.2.1)
Requires-Dist: pytz (==2018.5)
Requires-Dist: django-rest-hooks (==1.5.0)
Requires-Dist: go-http (==0.3.2)
Requires-Dist: django-redis-cache (==1.7.1)
Requires-Dist: seed-services-client (==0.37.0)
Requires-Dist: django-getenv (==1.3.2)
Requires-Dist: django-storages (==1.7.1)
Requires-Dist: boto3 (==1.9.4)
Requires-Dist: coreapi (==2.3.3)
Requires-Dist: phonenumberslite (==8.9.14)

===================
Seed Message Sender
===================

Sends and receives messages between seed services and Vumi HTTP API

Channel configuration
---------------------

Concurrency Limiter Fields:
^^^^^^^^^^^^^^^^^^^^^^^^^^^

* **concurrency_limit**: A value of 0 disables concurrency limiter
* **message_delay**: Seconds to wait before retrying a waiting message
* **message_timeout**: Seconds until we assume a message has finished

Configuration:
^^^^^^^^^^^^^^

JSON field containing the following data:

Generic API:
""""""""""""

* **HTTP_API_URL**: http://example.com/
* **HTTP_API_AUTH**: ('username', 'password')
* **HTTP_API_FROM**: +4321
* **OVERRIDE_PAYLOAD**: {'new_key': 'key_from_original_payload'}
* **STRIP_FILEPATH**: True/False - True when voice files are hosted where the API is.

Original Payload::

    {
        "to": "+27820000000",
        "from": "1444",
        "content": "Hey, this is a message!",
        "channel_data": {
            "voice": {
                "speech_url": "http://sbm.com/hello.mp3"
            }
        }
    }

Example of OVERRIDE_PAYLOAD::

    {
        "to_msisdn": "to",
        "from_number": "from",
        "text": "content",
        "filename": "channel_data.voice.speech_url"
    }

Will generate this payload::

    {
        "to_msisdn": "+27820000000",
        "from_number": "1444",
        "text": "Hey, this is a message!",
        "filename": "http://sbm.com/hello.mp3"
    }


Junebug:
""""""""

* **JUNEBUG_API_URL**: http://example.com/
* **JUNEBUG_API_AUTH**: ('username', 'password')
* **JUNEBUG_API_FROM**: +4321

Vumi:
"""""

* **VUMI_CONVERSATION_KEY**: conv-key
* **VUMI_ACCOUNT_KEY**: account-key
* **VUMI_ACCOUNT_TOKEN**: account-token
* **VUMI_API_URL**: http://example.com/

WhatsApp:
"""""""""

* **API_URL**: Root URL for WhatsApp API
* **API_TOKEN**: Token for accessing the API
* **HSM_NAMESPACE**: (optional) HSM namespace if outbounds are to be sent as HSMs
* **HSM_ELEMENT_NAME**: (optional) HSM element name if outbounds are to be sent as HSMs
* **HMAC_SECRET**: (optional) The HMAC secret key for receiving event and inbound webhooks


