- Multi-country routing. Send to NG, GH, KE, CI through one API with per-country pricing and automatic country detection from E.164. Guide
- Provider failover. Added Termii as a Nigerian fallback to Beem. Every send records
provider_attemptsshowing exactly who we tried. - Python + Go SDK parity.
pm.sms.*,pm.sender_ids.*,pm.sms_templates.*now exposed with typed request/response structs in both languages.
- SMS templates. Server-rendered
{{.variable}}interpolation. Guide - Sender-ID compliance. Registered entity, doc URL, use case, sample message — reviewed by our team and submitted to regulators. Guide
- Test-mode keys.
rb_test_*keys route to a simulator with magic numbers. Unlimited and free. Guide - Batch partial success. Per-row idempotency; per-row errors. Guide
- Mandatory HMAC on DLR webhooks in production with a 5-minute replay window.
- Reconciliation cron re-enqueues SMS stuck in
queuedfor >10 minutes. - Per-carrier analytics.
GET /v1/sms/analytics/carriers.
- Programmable SMS launched.
POST /v1/smswith Beem upstream, GSM-7/UCS-2 segmenting, NCC-compliant sender IDs, DLR webhooks.
- Initial transactional email launch with domain verification (DKIM/SPF/DMARC/BIMI), suppression lists, open/click tracking, templates, dedicated IPs with warmup, and batch sends.