What is Hipcall external management and how is it used?

In this article, we will discuss the Hipcall External Management system.

This feature is currently under development. Please share your feedback with our engineering team at https://community.hipcall.com/c/developers/7

Setup for external manager

  • The URL of the web service from which we will retrieve the JSON
  • Your web service's Basic Auth username and password, if applicable

How does it work?

When a call first lands on the external management module, Hipcall sends a JSON POST to the web service you provided.

{
"caller": "+908508852972",
"data": {},
"timestamp": 1729721495,
"uuid": "8bcfdf1d-d7b9-434d-9207-d33a8e73ac47",
"direction": "inbound",
"external_manager_id": 2,
"callee": "908508851980",
"callflow": [
{
"timestamp": 1729721495,
"action": "init",
"detail": {
"id": 2,
"type": "external_manager"
}
}
]
}

Then, as a response to this request (requestion), it expects a JSON in the standards specified below. It applies the commands in the JSON in sequence.

Example payload

{
"version": "1",
"seq": [
{
"action": "play",
"args": {
"url": "http://hcxm.demo.hipcall.com/demosesler/demo-welcome.mp3"
}
},
{
"action": "connect",
"args": {
"destination": "1000"
}
},
{
"action": "dial",
"args": {
"destination": "905326202911"
}
},
{
"action": "gather",
"args": {
"min_digits": 1,
"max_digits": 2,
"ask": "http://example.com/demo/covid/positive.mp3",
"variable_name": "variable_name"
}
},
{
"action": "hangup"
}
]
}

Features in external management

  • dial: Routes the call to an external number.
  • connect: Routes the call to an internal extension. All services with an internal number, such as the welcome announcement, Smart routing, Team (Queue), etc., are considered internal extensions.
  • play: Plays a given mp3 file.
  • gather: Receives key presses and shares them with you using a variable you specify.
  • hangup: Ends the call.