How do I start building USSD applications
USSD stands for Unstructured Supplementary Service Data. It is a protocol used by GSM cellphones to communicate with mobile network provider (MNOs) and also other third party services. It means that USSD applications can enable a feature phone to communicate with a bank via an MNO.
To use a USSD application, you need to dial a number such as *384# (called USSD code) on your phone and call. You will then be presented with a text menu with options, which you’ve to reply to.
Who issues the USSD code?
A USSD code is issued by an MNO or a third-party USSD gateway provider (authorized by an) such as Africa’s Talking. This means that you cannot create the USSD code just yourself. This code will enable a cellular phone to connect to an MNO or to an external server. USSD mobile banking apps are designed using USSD codes.
When you connect users to a server via MNO or a third-party USSD gateway, then you need to register a callback URL with the USSD gateway. A callback URL is an HTTP URL, which tells the USSD gateway where to route requests to for requests coming from a particular USSD code. Essentially, it is the location of your server together with the script in your server, which will process HTTP requests.
Summary of steps to creating a USSD application
Assuming that you have your web app setup, you can follow the following steps for a gist of what the process would look like:
- Acquisition of USSD code – Ask an MNO or a third-party USSD gateway to allocate you a USSD code. You may be required to submit your business plan for the business, which you want to use the USSD code on
- Decide who pays for USSD code interaction – You pay when dial the USSD code. So you have to decide who pays for that between your you and your users.
- Build your USSD menu – This is what your users will see and interact with when they dial the code. Building the USSD menu is essentially consuming an API provided by the USSD code issuer.
- Link the USSD menu to your app logic – The USSD menu lives in the webserver just as you app source code (USSM menu logic is essentially a part of your source code). You also need to setup your callback URL to enable the USSD gateway to reach your web server.
- Test your USSD app before going live – Depending on the USSD code issuer, you will need to run your app in a test bed before going live.