Sending
Connect Africa's Talking
Three fields, sixty seconds. Once your AT credentials are in, every SMS sent through Nudgel goes through your AT account at your AT rates.
Before you start
- An Africa's Talking account
- An API key from your AT dashboard (Settings → API Key)
- Your AT username (shown at the top of the AT dashboard)
- Optionally: an approved sender ID (a 3–11 character alphanumeric string customers see as the From)
Add the provider
- Go to Settings → Providers in your dashboard
- Click Add a provider
- Pick Africa's Talking
- Give it a label (e.g. "AT production")
- Fill in the fields:
| Field | Where to find it |
|---|---|
username | Top of your AT dashboard. Use sandbox for the sandbox account. |
sender_id | An approved alphanumeric sender ID. Optional — defaults to AT shared shortcodes. |
region | KE · UG · TZ · NG · ZA · GH · MW · RW · ZM · or sandbox |
api_key | AT dashboard → Settings → API Key. Encrypted before it leaves the form. |
ENCRYPTED ON SUBMIT
Send your first SMS
From the dashboard:
- Go to Compose
- SMS is auto-selected (it's the only channel you have a provider for)
- Type a recipient in E.164 format (
+254722000000) - Type a body
- Click Send now
Within a second you'll see a green confirmation with the message id. Click see in delivery log to watch the status update from queued → sent → delivered.
From the API:
curl -X POST https://api-raven-cloud.autotribes.app/v1/messages \
-H "X-Raven-Key: rk_live_a3f7b2c1_..." \
-H "Content-Type: application/json" \
-d '{
"channel": "sms",
"to": "+254722000000",
"body": "Hi Ada, welcome to Acme Co."
}'Sandbox vs live
Always test with the AT sandbox first. Set username tosandbox and region to sandbox. Sends go through the full pipeline but never bill you and never reach a real phone. Switch to your live username once you've verified the integration.
Sender IDs
AT requires sender IDs to be pre-approved per country. Apply through the AT dashboard (Settings → Sender IDs). Approval takes 1–3 business days in Kenya, longer elsewhere. Until approved, leave the sender_id field empty — AT will use a shared shortcode.
Troubleshooting
| Symptom | Most likely cause |
|---|---|
Message status stuck at queued | Worker isn't picking up jobs. Check Redis is reachable. |
Status failed with "Insufficient balance" | Top up your AT account. |
Status failed with "Invalid sender_id" | Sender ID not approved for that region. Leave blank to use AT shared shortcodes. |
Status failed with "Authentication" | Wrong API key — generate a new one in the AT dashboard and update the provider. |
Status failed with "invalid number" | Number isn't in E.164. Add the + and country code. |