Pular para conteúdo

Relatório de Desconexão / CDR de Erros

📌 Visão Geral

Este endpoint é responsável por extrair o relatório de chamadas não completadas (Desconexões / Erros de Rota). Ele retorna uma lista detalhada dos registros (CDR) e um bloco de totalizadores com estatísticas dos motivos de falha (Busy, No Answer, Cancel, Congestion e 404).

  • Método: GET
  • Endpoint: /api/cdrError/{id} (O parâmetro de rota {id} é opcional)
  • Autenticação: Obrigatória (Requer token/sessão válida).

🔐 Regras de Acesso e Visibilidade

A API restringe automaticamente os dados retornados com base no nível de acesso do usuário autenticado:

  • Nível 1 (Admin/Master): Possui acesso global. Pode visualizar todos os registros do sistema e utilizar os filtros de Assinante (id) e Rota/Provedor (id_provider).
  • Nível 2 (Revenda): Visualiza apenas os registros dos assinantes vinculados à sua carteira (filhos). Pode utilizar o filtro de Assinante (id) desde que o cliente pertença a ele.
  • Nível 4 (Assinante): Visualiza estritamente os seus próprios registros. Quaisquer filtros de id ou id_provider informados na URL serão ignorados por segurança.

📥 Parâmetros da Requisição

Parâmetros de Rota (Path)

Parâmetro Tipo Obrigatório Descrição
id integer Não ID do Cliente (Assinante) para filtrar chamadas específicas.

Parâmetros de Consulta (Query String)

Parâmetro Tipo Padrão Descrição
date_ini string Data Atual (YYYY-MM-DD) Data inicial do período de busca.
date_end string Data Atual (YYYY-MM-DD) Data final do período de busca.
time_ini string 00:00:00 Hora inicial do período de busca (HH:MM:SS).
time_end string 23:59:59 Hora final do período de busca (HH:MM:SS).
id_provider integer 0 ID do Provedor/Rota (Válido apenas para Nível 1 Admin).
limit integer Configuração global Quantidade de registros por página.
offset integer 0 Ponto de partida para a paginação (ex: página 2 = offset 100).

📤 Estrutura de Retorno (Response)

A API retorna um objeto JSON contendo o status da requisição, dados de paginação, um bloco de totalizadores (totals) e a lista de registros (data).

Exemplo de Resposta (Success 200 OK)

{
  "error": 0,
  "reason": "OK",
  "limit": 100,
  "offset": 0,
  "records": 2,
  "totals": {
    "total_records": 150,
    "total_404": 12,
    "total_noanswer": 35,
    "total_busy": 40,
    "total_cancel": 13,
    "total_congestion": 50
  },
  "data": [
    {
      "id": 1045,
      "customer_id": 320,
      "provider_id": 5,
      "calldate": "2026-07-08 14:30:00",
      "callerid": "5511999999999",
      "source": "1001",
      "destination": "5511888888888",
      "city": "São Paulo",
      "type": "c",
      "disposition": "BUSY",
      "hangup_desc": "User busy",
      "is_404": 0,
      "ip_address": "192.168.0.15",
      "useragent": "SIP-Phone/1.0"
    },
    {
      "id": 1046,
      "customer_id": 320,
      "provider_id": 5,
      "calldate": "2026-07-08 14:35:12",
      "callerid": "5511999999999",
      "source": "1001",
      "destination": "5521900000000",
      "city": "Rio de Janeiro",
      "type": "c",
      "disposition": "404 NOT FOUND",
      "hangup_desc": "Unallocated number",
      "is_404": 1,
      "ip_address": "192.168.0.15",
      "useragent": "SIP-Phone/1.0"
    }
  ]
}

Dicionário de Dados (data)

Campo Tipo Descrição
id integer ID único do registro no banco de dados.
customer_id integer ID do Cliente (Assinante) originador da chamada.
provider_id integer ID do Provedor/Rota utilizada na tentativa da chamada.
calldate string Data e hora exata da chamada (YYYY-MM-DD HH:MM:SS).
callerid string Identificação de chamadas (Bina/CLID) enviada.
source string Origem da chamada (ex: Ramal ou Número).
destination string Número de destino discado (limpo/formatado).
city string Cidade/Região identificada do destino.
type string Tipo de ligação (ex: Fixo, Celular, Voip).
disposition string Status final da chamada (ex: BUSY, NOANSWER, CANCEL, CONGESTION ou 404 NOT FOUND).
hangup_desc string Descrição técnica detalhada do motivo do desligamento.
is_404 integer Flag binária (1 ou 0) indicando se o erro específico foi um código SIP 404 (Not Found).
ip_address string Endereço IP externo de origem do equipamento que gerou a chamada.
useragent string Informação do dispositivo/softphone utilizado na origem.