An Arduino, a pump controller, a tank-level sensor, a weather station — if it has a SIM slot, it can talk to your application through Sozuri. We translate device-shaped SMS into clean JSON webhooks and route your replies back to the right device.
If your hardware can send an AT-command SMS, it can talk to your application. Sozuri does the translation.
The Arduino (or GSM module) sends an SMS to your Sozuri shortcode using its on-board SIM. Works on Safaricom, Airtel, Telkom — whoever has signal at the borehole.
Sub-second JSON POST with number (device MSISDN), shortcode, raw message body and a unique messageId. Parse the payload, react.
Reply via POST /v1/messaging with the device MSISDN as to. The Arduino reads the SMS and acts — turn a pump on, throttle the load, push a fresh config.
SIM800, SIM7600, Quectel BG95, Telit ML865 — if the module sends SMS via AT commands, it works. No middleware, no Sozuri SDK required.
From the moment the carrier accepts the SMS to your webhook firing is under one second on a healthy network. Suitable for alerts, not just telemetry.
Devices speak, your app replies, the device acts. Push fresh configs, command actuators, throttle data rates — all over SMS.
Your fleet can roam across Safaricom, Airtel and Telkom. Sozuri ingests from all three and reports the originating network on every webhook.
Optional auth-key header so your endpoint can reject anything that didn't come from Sozuri — important when devices control physical things.
Every command sent to a device is logged with timestamp, operator, payload and delivery state. Critical for traceability in regulated installations.
Sozuri doesn't try to parse your device payloads — we hand you the raw text exactly as the device sent it, plus the device MSISDN, the timestamp and the routing metadata.
// Borehole-12 reported low tank + low battery
{
"project": "Bidii Water",
"channel": "interactive",
"type": "interactive",
"status": "success",
"network": "safaricom",
"shortcode": "22456",
"number": "+254712340012",
"message": "ALERT tank=12% pressure=4.2bar gps=-1.286,36.817 batt=86%",
"messageId": "INB-IOT-1A2B",
"timestamp": 1718260920
}
Borehole pumps, tank-level monitors, irrigation valves, weather stations. The places where Wi-Fi never reaches.
Smart meters, transformer monitors, solar-mini-grid telemetry. Cell coverage is universal — data plans on every meter aren't.
Lockable safes, generator gensets, motorbike fleets, vending machines. Anywhere you need to know location + state, on demand.
No. Any standard Kenyan SIM (Safaricom, Airtel, Telkom) works. Most field deployments use prepaid SIMs with auto-recharge. We talk to the carrier, not the SIM.
The device MSISDN is the identity. Each unit ships with a known SIM number, which you pair to a device in your own registry. Sozuri reports the MSISDN on every webhook so you can authorise the message before acting on it.
Sozuri forwards exactly what arrived — we don't try to interpret your payload format. Validate on your side and return 200 to acknowledge. If you return non-2xx, the event is logged but not retried; design your handler idempotent on messageId.
No per-device fee. You pay standard per-message SMS rates for outbound to the device, and inbound on your shortcode counts as 2-Way SMS billing. Devices that only "phone home" a few times a day are very inexpensive.
Cell coverage in Kenya is everywhere. SIMs are cheap. AT-command SMS is universal. If you've been waiting on connectivity to launch the IoT play, you've already got it.