API - Realtime - Dados de Campanha

Disponível a partir da versão 6.9.13

Nos cabeçalhos dos requests, é necessário incluir uma chave "token" cujo valor seja um token de API.

Recuperar dados de uma única campanha

Endpoint/api/realtime/v1/campaign/{campaign_id}
MethodGET

Exemplos de retorno

200
{
  "meta": {
    "status": 200,
    "message": "OK"
  },
  "data": {
    "campaigns": {},
    "agents": {},
    "calls": {}
  }
}
200
{
  "meta": {
    "status": 200,
    "message": "OK"
  },
  "data": {
    "campaigns": {
      "1": {
        "paused": false,
        "running": true,
        "name": "teste",
        "stalled": false,
        "in_working_time": true,
        "agent_ids": [
          1
        ],
        "type": "transfer",
        "id": 1,
        "subscribers": {
          "scheduled": 0,
          "talking": 1,
          "retry": 0,
          "error": 0,
          "completed": 0,
          "total": 1,
          "dialing": 0,
          "pending": 0
        }
      }
    },
    "agents": {
      "1": {
        "pause": {},
        "name": "Teste",
        "calls": [
          "1e6516f8-b6b3-11e8-9e3a-eb585623297f"
        ],
        "position": "700",
        "login_start": "2018-09-12T17:41:45+00:00",
        "login": "teste",
        "logged": true,
        "id": 1
      }
    },
    "calls": {
      "1e6516f8-b6b3-11e8-9e3a-eb585623297f": {
        "uuid": "1e6516f8-b6b3-11e8-9e3a-eb585623297f",
        "start_time": "2018-09-12T17:41:46+00:00",
        "campaign_id": 1,
        "subscriber": {
          "external_id": null,
          "name": "601",
          "number": "601"
        },
        "answered_time": "2018-09-12T17:41:48+00:00",
        "state": "talking",
        "agent_id": 1
      }
    }
  }
}
404
{
  "meta": {
    "status": 404,
    "message": "Campaign not found."
  }
}
429
{
  "meta": {
    "status": 429,
    "message": "Too Many Requests"
  }
}
422
{
  "meta": {
    "status": 422,
    "message": "Campaign archived."
  },
  "errors": [
    "Request well-formed but has a semantic impossibility."
  ]
}
400
{
  "meta": {
    "status": 400,
    "message": "Invalid campaign_ids value."
  }
}

Recuperar dados de múltiplas campanhas

Endpoint/api/realtime/v1/campaign
MethodGET
campaign_idsopcionallista com os ids das campanhas, exemplo: campaign_ids=1,2,3
200
{
  "meta": {
    "status": 200,
    "message": "OK"
  },
  "data": {
    "campaigns": {
      "2": {
        "paused": false,
        "running": false,
        "name": "Marketing",
        "stalled": false,
        "in_working_time": null,
        "agent_ids": [],
        "type": "transfer",
        "id": 2,
        "subscribers": {
          "scheduled": null,
          "talking": null,
          "retry": null,
          "error": null,
          "completed": null,
          "total": null,
          "dialing": null,
          "pending": null
        }
      },
      "3": {
        "paused": false,
        "running": false,
        "name": "Campanha de Audio",
        "stalled": false,
        "in_working_time": null,
        "agent_ids": [],
        "type": "broadcast",
        "id": 3,
        "subscribers": {
          "scheduled": null,
          "talking": null,
          "retry": null,
          "error": null,
          "completed": null,
          "total": null,
          "dialing": null,
          "pending": null
        }
      },
      "4": {
        "paused": false,
        "running": false,
        "name": "Coleta de Digitos",
        "stalled": false,
        "in_working_time": null,
        "agent_ids": [],
        "type": "ivr",
        "id": 4,
        "subscribers": {
          "scheduled": null,
          "talking": null,
          "retry": null,
          "error": null,
          "completed": null,
          "total": null,
          "dialing": null,
          "pending": null
        }
      }
    },
    "agents": {},
    "calls": {}
  }
}

Descricão da estrutura

{
  "meta": { ... },
  "data": {
    "campaigns": {
      "<ID_DA_CAMPANHA>": { ... }
    },
    "agents": {
	  "<ID_DO_AGENTE>": { ... }
	},
    "calls": {
	  "<UUID_DA_CHAMADA>": { ... }
	}
  }
}

Descrição dos campos

Campaign

CampoDescriçãoTipo
idID da campanhainteger
nameNome da campanhastring
typeTipo da campanha. Possíveis valores: ivr, transfer, broadcaststring
pausedFlag indicando se a campanha está pausadaboolean
runningFlag indicando se a campanha está em execuçãoboolean
stalledFlag indicando se a campanha está estagnadaboolean
in_working_timeFlag indicando se a campanha está no horário de trabalhoboolean
agent_idsLista com os ids dos agentes da campanhalist
subscribersObjeto com as informações dos assinantesobject

Subscribers

CampoDescriçãoTipo
scheduledNúmero de assinantes com status "agendado"integer
talkingNúmero de assinantes com status "em chamada"integer
retryNúmero de assinantes com status "rediscar"integer
errorNúmero de assinantes com status "erro"integer
completedNúmero de assinantes com status "completada"integer
pendingNúmero de assinantes com status "pendente"integer
totalTotal de assinantesinteger

Agent

CampoDescriçãoTipo
idID do agenteinteger
nameNome do agentestring
positionNúmero do ramal que o agente está logadostring
login_startData e hora que agente entrou na filaISO8601
loginLogin do agentestring
loggedFlag que indica se o agente está logadoboolean
pauseDados da pausaobject
callsLista com os uuids das chamadas atuais do agentelist

Pause

CampoDescriçãoTipo
productiveFlag que indica se a pause é produtivaboolean
automatic_unpauseFlag que indica se a pausa será despausada automaticamenteboolean
max_allowed_durationTempo máximo da pausainteger
reasonMotivo da pausastring
pause_startData e hora que a pausa começouISO8601
typeTipo da pausa.string

Call

CampoDescriçãoTipo
uuidUUID da chamadastring
campaign_idID da campanhainteger
start_timeData e hora que a chamada começouinteger
answered_timeData e hora que a chamada foi atendidainteger
stateStatus da chamada. Possíveis valores: talking, ringing.string
agent_idID do agente que atendeu a chamadainteger
subscriberObjeto com as informações do assinanteobject

Subscriber

CampoDescriçãoTipo
nameNome do assinantestring
numberNúmero do assinantestring
external_idID externo do assinantestring