Relatorio de Chamadas - CDR
Visão Geral
Esta API fornece acesso aos registros detalhados de chamadas (CDR) do sistema, permitindo consultar e analisar o histórico de ligações com diferentes níveis de detalhamento conforme o tipo de usuário.
Endereço de Chamada da API
/api/cdr/API_TOKEN/API_KEY(/id_assinante)
Este Ponto de Acesso irá fornecer uma listagem do CDR (Relatório de Ligações). Se estiver utilizando Tokens de Acesso do Nível Master ou Nível Revenda, poderá especificar o ID DO CLIENTE como último parâmetro da URL para obter o CDR de um Cliente de ID especifico.
Caso essa API seja chamada utilizando os Tokens de Acesso do Nível Assinante, não é necessário informar o ID e será retornado o CDR do Assinante em questão.
Para nosso exemplo, iremos deduzir que o endereço do servidor será sip.nextbilling.com.br. Nesse caso, o endereço da API seria:
Endereço da API exemplo
https://sip.nextbilling.com.br/api/cdr/API_TOKEN/API_KEY
ou
https://sip.nextbilling.com.br/api/cdr/API_TOKEN/API_KEY/id_assinante?date_ini=2015-03-01&date_end=2015-03-30&start=0&limit=100&time_ini=08:00:00&time_end=23:50:00
Parâmetros da Query
Parâmetro | Tipo | Obrigatório | Descrição | Valor Padrão |
|---|---|---|---|---|
| string (YYYY-MM-DD) | Não | Data inicial | Data atual |
| string (YYYY-MM-DD) | Não | Data final | Data atual |
| string (HH:MM:SS) | Não | Hora inicial | 00:00:00 |
| string (HH:MM:SS) | Não | Hora final | 23:59:59 |
| integer | Não | Registro inicial para paginação | 0 |
| integer | Não | Limite de registros por página | 100 |
| integer | Não* | ID do assinante (via URL) | - |
| integer | Não | Filtrar por ID específico de linha | - |
Obrigatório para níveis Master/Revenda quando desejar filtrar por cliente específico
Níveis de Acesso
Token Master (Nível 1)
Acesso completo a todos os registros
Pode filtrar por qualquer assinante usando
id_assinanteVisualiza custos, revenda e preço final
Token Revenda (Nível 2)
Acesso aos registros dos seus clientes
Pode filtrar por cliente específico usando
id_assinanteVisualiza informações de custo e revenda
Token Assinante (Nível 4)
Apenas visualiza suas próprias chamadas
Não precisa informar
id_assinanteDados limitados a consumo e custos
Exemplos de Uso
Consulta Básica (Todos os Registros)
bash
curl -X GET 'https://sip.nextbilling.com.br/api/cdr/7cb40d54-4ebf-55a6-875a-5f57234e97cc-9990/b12c87a7-6dd6-5f99-9b47-c7c3be66fe73-8629?date_ini=2018-01-01&date_end=2018-02-01'Consulta com Filtro por Assinante
bash
curl -X GET 'https://sip.nextbilling.com.br/api/cdr/7cb40d54-4ebf-55a6-875a-5f57234e97cc-9990/b12c87a7-6dd6-5f99-9b47-c7c3be66fe73-8629/4?date_ini=2018-01-01&date_end=2018-01-31'Consulta com Paginação e Horário
bash
curl -X GET 'https://sip.nextbilling.com.br/api/cdr/API_TOKEN/API_KEY/4?date_ini=2015-03-01&date_end=2015-03-30&start=0&limit=100&time_ini=08:00:00&time_end=23:50:00'Consulta com Filtro por Dispositivo
bash
curl -X GET 'https://sip.nextbilling.com.br/api/cdr/API_TOKEN/API_KEY?id_device=123&date_ini=2024-01-01&time_ini=08:00:00'Utilizando essa chamada, você obteria o retorno em JSON semelhante a saída a seguir:
Retorno JSON
{
"error":0,
"reason":"OK",
"total_records":1,
"total_time":540,
"total_time_text":"9 min 00 seg",
"total_value":"2,10000",
"total_reseller_time":540,
"total_reseller_time_text":"9 min 00 seg",
"total_reseller_value":"4,40000",
"total_cost_time":540,
"total_cost_time_text":"9 min 00 seg",
"total_cost_value":"0,00000",
"total_profit_on_rev":"4,40000",
"total_profit_on_ass":"2,10000",
"limit":100,
"offset":0,
"records":1,
"data":[
{
"customer_id":4,
"calldate":"2018-01-31 18:03:52",
"clid":"teste10next <teste10next>",
"source":"teste10next",
"destination":"5521985699899",
"region":"Brasil M\u00f3vel - RJ 02",
"type":"c",
"type2":"movel_ldn",
"real_duration":"10",
"duration":"30",
"duration2":"0 min 30 seg",
"total_price":"0,30000",
"price_per_minute":"0,60000",
"reseller_duration":"30",
"reseller_duration2":"0 min 30 seg",
"reseller_total_price":"0,25000",
"reseller_price_per_minute":"0,50000",
"cost_duration":"30",
"cost_duration2":"0 min 30 seg",
"cost_total_price":"0,00000",
"cost_price_per_minute":"0,00000",
"profit_on_customer":"0,30000",
"profit_on_reseller":"0,25000",
"codec":"g729->g729",
"prefix":"55219",
"source_ip":"179.236.34.165",
"useragent":"PolycomSoundPointIP-SPIP_550-UA\/4.0.13.1445"
}
]
}Campo | Descrição |
|---|---|
error | 1 em caso de erro |
reason | Descrição caso tenha ocorrido algum erro |
total_records | Total de Registros encontrados na pesquisa sem a paginação solicitada |
total_time | Tempo total das Ligações |
total_value | Valor total das Ligações |
total_reseller_time | Tempo tempo das Ligações para a Revenda |
total_reseller_value | Valor total das Ligações para a Revenda |
total_cost_time | Tempo total de custo para o Master |
total_cost_value | Valor total de Custo para o Master |
total_profit_on_rev | Valor total de Lucro sobre a Revenda |
total_profit_on_ass | Valor total de Lucro sobre o Assinante |
records | Total de registrados retornados nessa chamada |
data.customer_id | ID do Assinante |
data.type | Tipo da Ligação: f - fixo, c - móvel, i - ddi |
data.type2 | Tipo de Região da Ligação |
data.real_duration | Tempo real da Ligação sem a Tarifação aplicada |
data.duration | Tempo da Ligação com a Tarifação aplicada |
data.total_price | Valor total da Ligação para o Assinante |
data.price_per_minute | Valor por Minuto da Ligação |
data.reseller_duration | Tempo da Ligação para a Revenda |
data.reseller_total_price | Valor total da Ligação para a Revenda |
data.reseller_price_per_minute | Valor por Minuto para a Revenda |
data.cost_duration | Tempo Total de Custo para o Master |
data.cost_total_price | Valor Total de Custo para o Master |
data.cost_price_per_minute | Valor por Minuto para o Master |
data.profit_on_customer | Valor de Lucro sobre o Assinante |
data.profit_on_reseller | Valor de Lucro sobre a Revenda |
Campos por Chamada (data[])
Campo | Descrição |
|---|---|
| ID do Assinante |
| Data e hora da chamada |
| Número de origem (CLID) |
| Source da chamada |
| Número de destino |
| Região da chamada |
| Tipo: |
| Tipo de região da ligação |
| Tempo real sem tarifação aplicada |
| Tempo com tarifação aplicada |
| Tempo formatado |
| Valor total para o assinante |
| Valor por minuto |
| Tempo para a revenda |
| Valor total para a revenda |
| Valor por minuto para revenda |
| Tempo de custo para o Master |
| Valor de custo para o Master |
| Valor por minuto de custo |
| Lucro sobre o assinante |
| Lucro sobre a revenda |
| Codec de áudio utilizado |
| Prefixo discado |
| IP de origem |
| User Agent do dispositivo |
Campos Técnicos Adicionais
Codec: Formato de compressão de áudio (ex: g729, g711)
Prefix: Prefixo numérico para identificação da região
Source IP: Endereço IP de origem da chamada
User Agent: Identificação do dispositivo/softphone
Tipos de Chamada (type)
f: Chamadas para telefones fixosc: Chamadas para telefones móveisi: Chamadas internacionais (DDI)
Observações Importantes
Paginação: Use
startelimitpara controlar a paginação dos resultadosFuso Horário: As datas e horas seguem o fuso horário do servidor
Formato Monetário: Valores retornados no formato decimal (ex: "0,30000")
Filtro por Dispositivo: Use
id_devicepara filtrar por linha específicaPerformance: Para períodos muito longos, use filtros de data para melhor performance
Tratamento de Erros
Em caso de erro, a API retornará:
json
{
"error": 1,
"reason": "DESCRIÇÃO_DO_ERRO",
"message": "Mensagem detalhada do erro"
}