Africa's Talking SMS Aggregator

Integration for sending and receiving SMS

As of v3.6.0, SMS messages can be sent and received using the Africa’s Talking service.

SMS Aggregator Workflow

Africa’s Talking configuration

First generate a long unique key to use as the medic-api-key.

Log on to the Africa’s Talking Dashboard and configure your callback URLs as follows.

  • Delivery Reports: https://<hostname>/api/v1/sms/africastalking/delivery-reports?key=<medic-api-key>
  • Incoming Messages: https://<hostname>/api/v1/sms/africastalking/incoming-messages?key=<medic-api-key>

Then generate an “API Key” (we’ll refer to this as the at-api-key) and save this in your Medic configuration covered below.

Medic configuration

API keys

The API keys should be treated as securely as a password as anyone with access to them will be able to send messages using your account. Therefore we store them in the CouchDB configuration.

To add the credentials to the admin config you need to either PUT the value using curl or similar:

curl -X PUT https://<user>:<pass>@<domain>/_node/couchdb@127.0.0.1/_config/medic-credentials/africastalking.com:incoming -d '"<medic-api-key>"'
curl -X PUT https://<user>:<pass>@<domain>/_node/couchdb@127.0.0.1/_config/medic-credentials/africastalking.com:outgoing -d '"<at-api-key>"'

You can also add it via Fauxton:

  • Navigate to the Config screen
  • Click Add Option
  • The Section should be medic-credentials, the Name should be africastalking.com:incoming or africastalking.com:outgoing, and the value should be the relevant API key.
  • Click Create
  • You should then be able to see your credential in the list of configuration shown

App settings

Update your app settings as follows.

{
  "sms": {
    "outgoing_service": "africas-talking",
    "reply_to": "<africa's talking shortcode>",
    "africas_talking": {
      "username": "<africa's talking username>"
    }
  }
}

Testing

To test your integration, set your “username” to “sandbox”, log in to Africa’s Talking, and go to the Sandbox app.


CHT Applications > Reference > app_settings.json > .sms

SMS Settings: Instructions and schema for defining SMS settings

CHT Applications > Quick Guides > Forms > App Form SMS

Trigger calls and SMS from within the form, or send an SMS once submitted.

CHT Applications > Quick Guides > Messaging > SMS States

Overview of the possible states of SMS messages

CHT Applications > Quick Guides > Messaging > Message Loops

How to avoid messaging loops

CHT Applications > Quick Guides > Messaging > Shortcodes

Configuring shortcodes for SMS messaging