Skip to main content

Stato Live Code

Questi endpoint si collegano direttamente al server Asterisk via AMI per restituire lo stato in tempo reale delle code: chi è disponibile, chi è al telefono, chi è in pausa e chi è in attesa.
A differenza di /v1/queue/{name} che restituisce statistiche giornaliere dal database, gli endpoint live interrogano il server telefonico in tempo reale.

GET /v1/queue/live

Restituisce lo stato live di tutte le code del tuo account in un’unica chiamata.

Richiesta

curl -X GET https://api.mycentralino.com/v1/queue/live \
  -H "X-API-KEY: sk_mycentralino_your_api_key"

Risposta

{
  "success": true,
  "data": [
    {
      "queue_name": "commerciale",
      "max": 10,
      "strategy": "ringall",
      "calls_waiting": 1,
      "holdtime": 15,
      "talktime": 180,
      "completed": 45,
      "abandoned": 5,
      "service_level": 0,
      "service_level_perf": 0,
      "weight": 0,
      "members": [
        {
          "extension": "12345",
          "name": "Mario Rossi",
          "status": "IN_CALL",
          "status_code": 2,
          "paused": false,
          "in_call": true,
          "calls_taken": 12,
          "last_call": "2024-03-15 10:30:00",
          "penalty": 0,
          "callerid": "201",
          "description": "Mario Rossi"
        },
        {
          "extension": "12346",
          "name": "Anna Bianchi",
          "status": "AVAILABLE",
          "status_code": 1,
          "paused": false,
          "in_call": false,
          "calls_taken": 8,
          "last_call": "2024-03-15 10:25:12",
          "penalty": 0,
          "callerid": "202",
          "description": "Anna Bianchi"
        }
      ],
      "callers": [
        {
          "position": 1,
          "channel": "PJSIP/trunk-00000012",
          "caller_number": "0612345678",
          "caller_name": "",
          "wait_seconds": 23,
          "wait_formatted": "00:23"
        }
      ],
      "summary": {
        "total_members": 2,
        "members_available": 1,
        "members_in_call": 1,
        "members_paused": 0,
        "members_unavailable": 0,
        "callers_waiting": 1
      }
    }
  ],
  "count": 1
}

GET /v1/queue//live

Restituisce lo stato live di una singola coda specifica.

Parametri URL

ParametroTipoDescrizione
namestringNome della coda (URL-encoded se contiene caratteri speciali)

Richiesta

curl -X GET https://api.mycentralino.com/v1/queue/commerciale/live \
  -H "X-API-KEY: sk_mycentralino_your_api_key"

Risposta

{
  "success": true,
  "data": {
    "queue_name": "commerciale",
    "max": 10,
    "strategy": "ringall",
    "calls_waiting": 2,
    "holdtime": 15,
    "talktime": 180,
    "completed": 45,
    "abandoned": 5,
    "service_level": 0,
    "service_level_perf": 0,
    "weight": 0,
    "members": [
      {
        "extension": "12345",
        "name": "Mario Rossi",
        "status": "IN_CALL",
        "status_code": 2,
        "paused": false,
        "in_call": true,
        "calls_taken": 12,
        "last_call": "2024-03-15 10:30:00",
        "penalty": 0,
        "callerid": "201",
        "description": "Mario Rossi"
      },
      {
        "extension": "12346",
        "name": "Anna Bianchi",
        "status": "AVAILABLE",
        "status_code": 1,
        "paused": false,
        "in_call": false,
        "calls_taken": 8,
        "last_call": "2024-03-15 10:25:12",
        "penalty": 0,
        "callerid": "202",
        "description": "Anna Bianchi"
      },
      {
        "extension": "12347",
        "name": "Luca Verdi",
        "status": "UNAVAILABLE",
        "status_code": 5,
        "paused": false,
        "in_call": false,
        "calls_taken": 0,
        "last_call": null,
        "penalty": 0,
        "callerid": "203",
        "description": "Luca Verdi"
      }
    ],
    "callers": [
      {
        "position": 1,
        "channel": "PJSIP/trunk-00000012",
        "caller_number": "0612345678",
        "caller_name": "",
        "wait_seconds": 45,
        "wait_formatted": "00:45"
      },
      {
        "position": 2,
        "channel": "PJSIP/trunk-00000013",
        "caller_number": "3331234567",
        "caller_name": "Marco Neri",
        "wait_seconds": 12,
        "wait_formatted": "00:12"
      }
    ],
    "summary": {
      "total_members": 3,
      "members_available": 1,
      "members_in_call": 1,
      "members_paused": 0,
      "members_unavailable": 1,
      "callers_waiting": 2
    }
  }
}

Errori

{
  "success": false,
  "error": "Coda non trovata"
}

Campi Members

CampoTipoDescrizione
extensionstringNumero interno dell’operatore
namestringNome dell’operatore dal server
statusstringStato attuale (vedi tabella sotto)
status_codeintCodice numerico dello stato
pausedboolSe l’operatore e’ in pausa
in_callboolSe l’operatore e’ attualmente in chiamata
calls_takenintChiamate gestite (dal riavvio della coda)
last_callstring|nullData/ora dell’ultima chiamata gestita
penaltyintPriorita’ dell’operatore nella coda
calleridstringNumero interno breve
descriptionstringDescrizione dell’operatore

Campi Callers

CampoTipoDescrizione
positionintPosizione in coda (1 = primo)
channelstringCanale SIP della chiamata
caller_numberstringNumero del chiamante
caller_namestringNome del chiamante (se disponibile)
wait_secondsintSecondi in attesa
wait_formattedstringTempo di attesa formattato (mm:ss)

Campi Summary

CampoTipoDescrizione
total_membersintTotale operatori nella coda
members_availableintOperatori disponibili
members_in_callintOperatori attualmente in chiamata
members_pausedintOperatori in pausa
members_unavailableintOperatori non raggiungibili
callers_waitingintChiamanti in attesa

Stato Operatore (status)

ValoreCodiceDescrizione
AVAILABLE1Disponibile, pronto a ricevere chiamate
IN_CALL2In chiamata
BUSY3Occupato
INVALID4Interno non valido
UNAVAILABLE5Non raggiungibile (telefono spento/offline)
RINGING6Sta squillando
RINGING_IN_USE7Squilla mentre e’ gia’ in chiamata
ON_HOLD8Chiamata in attesa
UNKNOWN0Stato sconosciuto