latestOpenAPI 3.1.1Proprietary – Contact us for usage terms2026-08-20173183551.4 KB

9da73dd2f99e

webhook

Smart routing event

The Smart routing webhook event is a little more tricky because the webhook requires a response from you within two seconds. When the webhook lands on your <em>endpoint</em>, your endpoint must communicate the response object below. We advise you to consult the description of each attribute, which are all mandatory. This event can apply to an IVR.

To certify that the request was sent by Ringover, the x-ringover-webhook-signature header must be a JWT signed with the webhook key you can find in the IVR redirection step scenario configuration, using algorithm HS512.

postWebhooksmart_routing

Payload

eventstring
resourcestring
timestampnumber

Example payload

{
  "event": "routing",
  "resource": "call",
  "timestamp": 1554823493.762305,
  "data": {
    "call_id": 1234567890987654400,
    "direction": "inbound",
    "from_number": "33601020304",
    "to_number": "33101020304"
  }
}

Response

Successful operation

namestring required
dispatch'random' | 'topdown' | 'ringall' required

The method of dispatch used.

strategy'history_lastcalled' | 'history_mostcalled' | 'history_longestcalled' | 'min_duration_called' | 'min_nb_calls' | 'global_most_available' | 'ivr_most_available' | 'most_available' | 'global_most_available_with_snooze' | 'ivr_most_available_with_snooze' | 'most_available_with_snooze' | 'crm' nullable

Machine learning dispatch strategy based on historical patterns

strategy_interval'DAY' | 'WEEK' | 'MONTH' nullable

Should be defined if strategy is not null

strategy_select'ORDER' | 'ORDER_ONLY' | 'UNIQUE' nullable

Should be defined if strategy is not null

max_attemptsinteger required

The number of times the agent loop will be executed.

start_delayinteger required

The delay before the first ring.

priorityinteger

The priority in the scenario queue. A higher value means a higher priority.

is_stay_not_connectedboolean required

If the agent is disconnected:<br /> '0': Skip that agent and move on to the next one.<br /> '1': Wait for the agent to log on and send them the call.

is_stay_in_callboolean required

If the agent already has a call in progress:<br /> '0': Skip that agent and move on to the next one.<br /> '1': Wait for the agent to finish and send them the call.

is_stay_planned_snoozedboolean required

If outside of the agent’s scheduled hours:<br /> '0': Skip that agent and move on to the next one.<br /> '1': Puts the caller on hold until the agent enters their scheduled hours then calls them.

is_stay_snoozedboolean required

If the agent is in snooze:<br /> '0': Skip that agent and move on to the next one.<br /> '1': Puts the caller on hold until the agent's snooze period ends, then calls them.

ring_overlapinteger required

Delay (in seconds) before starting to ring the next agent in the list, while keeping the previous agents ringing. This creates an overlap where several agents can ring simultaneously. Value must be between 1 and 120 (recommended: minimum 5).

Example response

{
  "name": "redirections",
  "dispatch": "ringall",
  "max_attempts": 1,
  "is_stay_not_connected": true,
  "is_stay_planned_snoozed": true,
  "ring_overlap": 15,
  "groups": [
    {
      "ring_duration": 30,
      "is_caller_id": true,
      "is_head_line": true,
      "order": 1,
      "id": 1234567
    }
  ],
  "agents": [
    {
      "agent_type": "agent_external",
      "ring_duration": 25,
      "order": 1,
      "number": 33123456789,
      "is_caller_id": true
    }
  ]
}