Why developers choose OLA
Protocol Abstraction
Movitel SOAP/XML, Vodacom XML, Tmcel JSON — all normalized into clean REST endpoints. Build once, work everywhere.
Production Ready
Built-in session management, automatic retries with exponential backoff, and health monitoring out of the box.
Language Agnostic
Build backends in Node.js, Python, Go, Java, PHP, or any language that speaks HTTP. Your stack, your choice.
Simple Integration
Register your backend with a single API call. Start receiving normalized USSD requests in seconds.
How it works
User Dials
Customer dials *365# on any Mozambican network
*365#Provider Sends
Telco sends SOAP/XML/JSON to OLA
SOAP/XML/JSONOLA Normalizes
Gateway converts to clean JSON
{ "msisdn": "258..." }Your Backend
Process & return menu response
{ "output": [...] }Write USSD backends in any language
All you need is an HTTP endpoint that accepts JSON. Build in the language you know best.
- ✓ Node.js / Express
- ✓ Python / Flask / Django
- ✓ Go / Gin / Echo
- ✓ Java / Spring Boot
- ✓ PHP / Laravel
- ✓ Any HTTP-capable language
// Node.js Example
app.post('/ussd', (req, res) => {
const { msisdn, input } = req.body;
let menu;
if (!input) {
menu = [
"Welcome to MyBank",
"",
"1. Check Balance",
"2. Transfer Money"
];
} else if (input === "1") {
const balance = getBalance(msisdn);
menu = [`Balance: ${balance} MZN`];
}
res.json({
output: menu,
end_session: false
});
});Ready to build your USSD service?
Deploy OLA Gateway in minutes and start serving millions of mobile users across Mozambique.