+254 722 117 850 Support Login
Products 2-Way SMS
Conversational · Live

Turn any Kenyan phone into a two-way channel.

Publish a shortcode or longcode, point a webhook at your app, and you can hold a real conversation with anyone with a SIM — no app to download, no data needed. Inbound messages arrive in under a second.

Inbound < 1s Works on feature phones Signed webhooks
22456 · JAMII SACCO SMS · Today
BAL10:42
Jamii SACCO: Hi Otieno, available balance KSh 24,820. Loan limit KSh 50,000. Reply LOAN to apply.10:42
LOAN 1000010:43
Jamii SACCO: Loan of KSh 10,000 approved. Disbursing to your M-Pesa now. Repay by 23 Jun. OTP 8392.10:43
Outbound POST /api/v1/messaging
Inbound Webhook · type interactive
Identity Shortcode (5–6 digits) or longcode
Approval 5–10 business days per carrier
How it works

One number. Two directions. Same API.

Sozuri owns the shortcode peering with each carrier so your app only ever talks to one HTTP endpoint — whether the message is going out or coming in.

1

Get a shortcode

Sozuri provisions a dedicated 5–6 digit shortcode (or 14-digit longcode) on Safaricom, Airtel and Telkom. KYC takes 5–10 business days per carrier.

2

Point your webhook

Drop your callback URL in the dashboard. Every inbound SMS arrives as JSON with number, shortcode, message and a unique messageId.

3

Reply on the same thread

POST back to /v1/messaging with from set to your shortcode and the customer's number as to. The carrier stitches it into the same SMS thread on their phone.

Inbound webhook

JSON you can act on in three lines.

Every customer reply lands on your callback URL as a clean JSON envelope. Idempotent on messageId — safe to retry, safe to replay.

  • Optional auth-key header for source verification
  • Per-carrier network tag (safaricom / airtel / telkom)
  • Unix timestamp so out-of-order arrivals reorder safely
  • Same shape for SMS, premium and 2-way callbacks
Webhook reference →
POST /your/webhook
// Customer texts BAL to your shortcode 22456
{
  "project":   "Jamii SACCO",
  "channel":   "interactive",
  "type":      "interactive",
  "status":    "success",
  "network":   "safaricom",
  "shortcode": "22456",
  "number":    "+254712345678",
  "message":   "BAL",
  "messageId": "INB-1A2B3C4D",
  "timestamp": 1718260920
}
What you get

More than just inbound — a real conversation engine

Dedicated shortcodes

5–6 digit numbers approved by Safaricom, Airtel and Telkom and assigned to your project alone. No shared inboxes, no keyword fights.

Real-time inbound

Customer hits "send" on their phone, your webhook fires under a second later. No polling, no batch jobs, no syncing.

Signed callbacks

Optional auth-key header so your endpoint can reject anything that didn't come from Sozuri. Configure per callback URL.

Threaded on the handset

Replies go out from your shortcode, so the customer sees one continuous SMS thread — not a new conversation every reply.

Keyword automation

Configure keyword rules in the dashboard — auto-reply, route to a different team, or hand off to an AI agent based on the message body.

Feature phone friendly

Works on the 30%+ of Kenyan handsets that still aren't smartphones. SMS is the most inclusive channel you can build on.

In the wild

Conversations that close loops, not tickets

Self-service support

Let customers serve themselves on the channel they already have.

Every "where's my order?", "what's my balance?" and "how do I pay?" is a webhook hit, not a phone-call. Combined with Sozuri AI Agents, the easy 70% never reaches your support team.

  • Branch on keywords (BAL, LOAN, STATUS, STOP)
  • Authenticate the sender by phone number
  • Hand off to a human inbox when confidence drops
  • Full audit log of every exchange
Pair it with AI Agents →
22456 · Bidii Logistics SMS · Today
STATUS DLV-482113:02
Bidii: DLV-4821 is at Mlolongo hub, ETA 14:00. Driver: Peter (0712 345 678).13:02
CALL13:03
Bidii: Calling you now from +254 700 555 010. Hang up if not convenient and reply LATER.13:03

Standard SMS rates, plus a one-time shortcode setup.

Per-message rates match Bulk SMS. Shortcode KYC + provisioning is quoted on demand — budget KSh 8,000 + VAT per network for sender ID where required.

Common questions

Straight answers

How long does a shortcode take to get assigned?

Sozuri submits the application with each carrier (Safaricom, Airtel, Telkom) on your behalf. KYC and approval typically take 5–10 business days per network. Once assigned, the same shortcode is yours across all three.

Can I use a regular Sozuri number instead of a shortcode?

Yes — 14-digit longcodes are available immediately and good for low-volume two-way use cases. The trade-off is brand recognition: customers remember 22456 better than +254 707 123 456.

What does the inbound webhook look like?

A JSON POST with project, shortcode, number, message, messageId, network, type: interactive, status: success and a Unix timestamp. Same envelope shape as every other Sozuri callback.

How do I handle STOP and opt-outs?

Opt-out keyword routing is automatic for Sozuri-managed senders. You can also subscribe to opt-out events on your webhook and reflect them in your own contact database immediately.

BAL KSh 24,820
Your move

Open the channel that never gets ignored.

SMS still has the highest open rate of any digital channel in Kenya. Pair it with a shortcode and you've got the inbox every customer already checks.

Chat on WhatsApp
Your first SMS in the time it takes to brew coffee. Start building in minutes