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:
GETEndpoint:
/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
idouid_providerinformados 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 |
|
| Não | ID do Cliente (Assinante) para filtrar chamadas específicas. |
Parâmetros de Consulta (Query String)
Parâmetro | Tipo | Padrão | Descrição |
|
| Data Atual (YYYY-MM-DD) | Data inicial do período de busca. |
|
| Data Atual (YYYY-MM-DD) | Data final do período de busca. |
|
|
| Hora inicial do período de busca (HH:MM:SS). |
|
|
| Hora final do período de busca (HH:MM:SS). |
|
|
| ID do Provedor/Rota (Válido apenas para Nível 1 Admin). |
|
| Configuração global | Quantidade de registros por página. |
|
|
| 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 único do registro no banco de dados. |
|
| ID do Cliente (Assinante) originador da chamada. |
|
| ID do Provedor/Rota utilizada na tentativa da chamada. |
|
| Data e hora exata da chamada ( |
|
| Identificação de chamadas (Bina/CLID) enviada. |
|
| Origem da chamada (ex: Ramal ou Número). |
|
| Número de destino discado (limpo/formatado). |
|
| Cidade/Região identificada do destino. |
|
| Tipo de ligação (ex: Fixo, Celular, Voip). |
|
| Status final da chamada (ex: |
|
| Descrição técnica detalhada do motivo do desligamento. |
|
| Flag binária ( |
|
| Endereço IP externo de origem do equipamento que gerou a chamada. |
|
| Informação do dispositivo/softphone utilizado na origem. |