Skip to content

Nalo Solutions

Point your Nalo shortcode at Asterisks, test it, and see the request and response format.

Before you start

  • A Nalo Solutions account with a USSD shortcode (or a shared-code extension) assigned to you.
  • An Asterisks app, tested in the phone preview. New to Asterisks? Start with the Quickstart.
  • Nalo Solutions selected in the builder's top bar, so the callback address is in Nalo Solutions's format.

Connect Nalo Solutions

  1. Deploy your app

    In the builder, press Save, then Deploy. Enter the shortcode Nalo Solutions gave you and press Deploy.
  2. Copy the callback address

    Under Callback URL for Nalo Solutions, press the copy button. It looks like this, with your app's id at the end:
    Callback address for Nalo Solutions
    https://apis.useasterisks.com/api/ussd/nalo/your-app-id
  3. Paste it into Nalo Solutions

    Sign in to Nalo Solutions, open the settings for your USSD shortcode, and paste the address into the callback field. Nalo Solutions may call it the callback URL or USSD URL. Save.
Tip: Can't find the field, or don't have access to it? Send the address to your Nalo Solutions account manager and ask them to point your shortcode at it.

Test the connection

  1. Open Live sessions

    In the Asterisks dashboard, keep Live sessions open.
  2. Dial your shortcode

    From a phone on a network Nalo Solutions covers. Your first screen should appear, and the session shows up in Live sessions.
  3. Go through every path

    Try each option and a few wrong answers, as you did in the preview.

Nothing happens, or you see an error? Check Troubleshooting.

Technical details

You don't need this to get started. It is here for developers and for Nalo Solutions's support team.

What Nalo Solutions sends

Request
POST /api/ussd/nalo/{appId}
Content-Type: application/json

{
  "USERID": "NALOTest",
  "MSISDN": "233244123456",
  "USERDATA": "*920*55#",
  "MSGTYPE": true,
  "SESSIONID": "16590115252429751"
}

MSGTYPE is true on the first request of a session and false after that. Both a true/false value and the text "true"/"false" are accepted.

What Asterisks answers

Response
{
  "MSG": "Coffee Shop\n1. Order coffee\n2. Opening hours\n3. Exit",
  "MSGTYPE": true,
  "USERID": "NALOTest",
  "SESSIONID": "16590115252429751"
}

MSGTYPE is true to wait for a reply, or false to end the session. USERID and SESSIONID are echoed back.

The Network variable

Nalo doesn't send the caller's network, so {{Network}} doesn't tell you whether the caller is on MTN, Telecel or AirtelTigo. Don't route on it.