Pular para conteúdo

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 call.voipper.com.br.

Exemplo de Endereços da API

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

[https://call.voipper.com.br/api/cdrError/API_TOKEN/API_KEY](https://call.voipper.com.br/api/cdrError/API_TOKEN/API_KEY)

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

[https://call.voipper.com.br/api/cdrError/API_TOKEN/API_KEY?date_ini=2023-10-01&date_end=2023-10-31&limit=100&offset=0](https://call.voipper.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://call.voipper.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"
    }
  ]
}