Relatório de Chamadas com Erro (CDR Error)

Relatório de Chamadas com Erro (CDR Error)

 

Endereço de Chamada da API:

/api/cdrError/API_TOKEN/API_KEY(/id_cliente)

Este Ponto de Acesso fornece a listagem e totalizadores do CDR Error (Relatório de Ligações que não foram completadas devido a erros, ocupado, cancelamentos, rotas não encontradas, etc).

  • Nível Assinante: Retorna apenas as falhas de chamadas do próprio assinante autenticado (não é necessário informar ID na URL).

  • Nível Revenda: Retorna as falhas de todos os clientes pertencentes à revenda. É possível especificar o ID do Cliente como último parâmetro da URL para filtrar um assinante específico.

  • Nível Master (Admin): Retorna os erros de todo o sistema. Permite filtrar por Cliente (passando o ID na URL) e por Provedor/Terminador (via parâmetro id_provider).

Para os exemplos abaixo, deduziremos que o endereço do servidor seja sip.nextbilling.com.br.

Exemplo de Endereços da API

Sem filtro específico (Traz dados de acordo com o nível da credencial):

[https://sip.nextbilling.com.br/api/cdrError/API_TOKEN/API_KEY](https://sip.nextbilling.com.br/api/cdrError/API_TOKEN/API_KEY)

Com filtros de data, hora e paginação:

[https://sip.nextbilling.com.br/api/cdrError/API_TOKEN/API_KEY?date_ini=2023-10-01&date_end=2023-10-31&limit=100&offset=0](https://sip.nextbilling.com.br/api/cdrError/API_TOKEN/API_KEY?date_ini=2023-10-01&date_end=2023-10-31&limit=100&offset=0)

Parâmetros Suportados

A chamada para obter os dados é realizada utilizando o método HTTP GET.

Parâmetros de Rota (Path)

Parâmetro

Tipo

Descrição

id_cliente

Inteiro

(Opcional) Passado no final da URL. Filtra o relatório para um Assinante específico. Válido apenas para credenciais Nível Revenda ou Admin.

Parâmetros de Consulta (Query String)

Parâmetro

Tipo

Padrão

Descrição

date_ini

String

Data atual

Data Inicial da busca no formato YYYY-MM-DD.

date_end

String

Data atual

Data Final da busca no formato YYYY-MM-DD.

time_ini

String

00:00:00

Hora Inicial da busca no formato HH:MM:SS.

time_end

String

23:59:59

Hora Final da busca no formato HH:MM:SS.

id_provider

Inteiro

0

Filtra as falhas por um ID de Terminador/Provedor específico. (Apenas Nível Admin)

limit

Inteiro

(Padrão da API)

Limite de registros a serem retornados na chamada.

offset

Inteiro

0

Exibir registros a partir desta contagem (Paginação).

Exemplo de Requisição (cURL)

curl -X GET "https://sip.nextbilling.com.br/api/cdrError/7cb40d54-4ebf-55a6-875a-5f57234e97cc-9990/b12c8?date_ini=2023-10-01&date_end=2023-10-15"

Estrutura de Retorno (JSON)

A API retornará um objeto JSON contendo o bloco de informações da requisição, um bloco totals com estatísticas agregadas do período, e um array data com os registros.

Dicionário de Dados do Retorno

Campo

Descrição

error

0 em caso de sucesso, 1 em caso de erro.

reason

OK ou Descrição/Motivo caso tenha ocorrido algum erro (Ex: UNKNOWN).

limit

Limite de paginação aplicado na consulta.

offset

Deslocamento (offset) atual da paginação.

records

Total de registros retornados especificamente nesta chamada/página.

totals

Objeto contendo os totalizadores globais do filtro aplicado.

totals.total_records

Quantidade total de chamadas com erro no período filtrado.

totals.total_404

Quantidade de erros do tipo "404 Not Found" (Destino não encontrado).

totals.total_noanswer

Quantidade de chamadas "Não Atendidas".

totals.total_busy

Quantidade de chamadas com destino "Ocupado".

totals.total_cancel

Quantidade de chamadas "Canceladas" pelo originador antes do atendimento.

totals.total_congestion

Quantidade de chamadas que falharam por "Congestionamento" ou outros motivos não listados acima.

Dicionário do array data (Detalhes da Chamada)

Campo

Descrição

data.id

ID único do registro do erro.

data.customer_id

ID do Cliente (Assinante).

data.provider_id

ID do Terminador/Provedor utilizado na tentativa.

data.calldate

Data e hora em que a tentativa de chamada ocorreu.

data.callerid

Identificador de chamadas (Bina) utilizado na origem.

data.source

Ramal ou conta SIP de origem da chamada.

data.destination

Número de destino discado (limpo, sem caracteres especiais).

data.city

Cidade/Região identificada pela tarifação (se aplicável).

data.type

Tipo de chamada tentada (Ex: Fixo, Móvel, DDI, Interna).

data.disposition

Status principal da falha (Ex: BUSY, NOANSWER, CANCEL, CONGESTION ou 404 NOT FOUND).

data.hangup_desc

Descrição técnica detalhada ou código SIP do motivo do desligamento/falha.

data.is_404

1 caso seja erro de rota inexistente (404), 0 caso não.

data.ip_address

Endereço IP externo do dispositivo/ramal que tentou originar a chamada.

data.useragent

User-Agent (Software/Telefone IP) do dispositivo de origem.

Exemplo de Resposta de Sucesso

{ "error": 0, "reason": "OK", "limit": 100, "offset": 0, "records": 2, "totals": { "total_records": 2, "total_404": 0, "total_noanswer": 1, "total_busy": 1, "total_cancel": 0, "total_congestion": 0 }, "data": [ { "id": 10452, "customer_id": 45, "provider_id": 2, "calldate": "2023-10-05 14:32:01", "callerid": "11999999999", "source": "1001", "destination": "1133334444", "city": "Sao Paulo", "type": "Fixo", "disposition": "BUSY", "hangup_desc": "Destino Ocupado", "is_404": 0, "ip_address": "177.10.20.30", "useragent": "Yealink SIP-T21P_E2" }, { "id": 10453, "customer_id": 45, "provider_id": 3, "calldate": "2023-10-05 15:10:45", "callerid": "11999999999", "source": "1002", "destination": "11988887777", "city": "Sao Paulo", "type": "Movel", "disposition": "NOANSWER", "hangup_desc": "Ninguem Atendeu", "is_404": 0, "ip_address": "177.10.20.30", "useragent": "Zoiper rv2.10.11" } ] }