Skip to main content

Build USSD services
without the hassle

Stop wrestling with provider protocols. OLA Gateway normalizes SOAP, XML, and JSON from Movitel, Vodacom, and Tmcel into a single, clean REST API.

3
Providers
1
API
Possibilities
*365#
1. Check Balance
2. Transfer Money
3. Buy Airtime

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

1

User Dials

Customer dials *365# on any Mozambican network

*365#
2

Provider Sends

Telco sends SOAP/XML/JSON to OLA

SOAP/XML/JSON
3

OLA Normalizes

Gateway converts to clean JSON

{ "msisdn": "258..." }
4

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
View Examples →
// 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.