Arkesel
Point your Arkesel shortcode at Asterisks, test it, and see the request and response format.
Before you start
- A Arkesel 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.
- Arkesel selected in the builder's top bar, so the callback address is in Arkesel's format.
Connect Arkesel
Deploy your app
In the builder, press Save, then Deploy. Enter the shortcode Arkesel gave you and press Deploy.Copy the callback address
Under Callback URL for Arkesel, press the copy button. It looks like this, with your app's id at the end:Callback address for Arkeselhttps://apis.useasterisks.com/api/ussd/arkesel/your-app-idPaste it into Arkesel
Sign in to Arkesel, open the settings for your USSD shortcode, and paste the address into the callback field. Arkesel may call it the callback URL or webhook URL. Save.
Tip: Can't find the field, or don't have access to it? Send the address to your Arkesel account manager and ask them to point your shortcode at it.
Test the connection
Open Live sessions
In the Asterisks dashboard, keep Live sessions open.Dial your shortcode
From a phone on a network Arkesel covers. Your first screen should appear, and the session shows up in Live sessions.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 Arkesel's support team.
What Arkesel sends
Request
POST /api/ussd/arkesel/{appId}
Content-Type: application/json
{
"sessionID": "a1b2c3...",
"userID": "ARKESEL_USER",
"newSession": true,
"msisdn": "233244123456",
"userData": "*928*55#",
"network": "MTN"
}newSession is true on dial and false for each reply. userData is the caller's latest reply.
What Asterisks answers
Response
{
"sessionID": "a1b2c3...",
"userID": "ARKESEL_USER",
"msisdn": "233244123456",
"message": "Coffee Shop\n1. Order coffee\n2. Opening hours\n3. Exit",
"continueSession": true
}continueSession is true to wait for a reply, or false to end the session.
The Network variable
{{Network}} holds the caller's network as Arkesel reports it in network.