Relatório de Desconexão / CDR de Erros

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.