USSD integration

USSD (Unstructured Supplementary Service Data) lets users interact with your service through a live menu on their phones. Bonga sends each dial or menu response to your configured callback URL using an HTTP GET request. Your application returns plain text beginning with CON to continue or END to close the session.

USSD request flow

Choose your USSD setup

  • Dedicated USSD: your service has its own USSD code. The initial message is empty.
  • Extension USSD: your service shares a base code and uses an assigned extension. The initial message starts with that extension.

Both setups use the same callback API and CON / END response format. Choose the guide that matches the code assigned to your service.

Callback parameters

ParameterDescriptionExample
mobile_numberUser's phone number254712345678
session_idIdentifier for the active session1234567
messageUser input collected in this session2*500
service_codeUSSD base code*123#
networkUser's mobile networkSafaricom

The message value accumulates user choices separated by asterisks. The Extension USSD guide explains the extension prefix.

Your callback response

  • CON keeps the session open and displays another menu or prompt.
  • END closes the session and displays a final message.
CON Welcome to our service
1. Check balance
2. Transfer money
0. Exit