- Create your AT developer account
- Login to AT developer account
- Go to Sandbox App
git clone git@github.com:DanNduati/AT-USSD.git
cd at-ussd/
pip install -r requirements.txt
I've implemented the application logic with 2 web frameworks Flask and FastAPI you can select either.
- Flask
cd flask_app/
python app .py
- FastAPI
cd fastapi_app/
uvicorn main:app --reload
ngrok http <port number>
- Create a new USSD channel
The following information is needed to create the channel:
Service code
this is shared by default :*384#
Channel
this is a unique number appended to the service code to differentiate your app from other apps eg:069
Callback URL
this is a public address that is invoked by the AT API when a subscriber dails the ussd code use the exposed ngrok public url In my case the service code is:*384*069#
- Improve menu logic and navigation
- Add mpesa STK-Push
- Improve exception handling