Primeiramente precisamos das chaves API TOKEN e API KEY, basta pegar em seu painel PABX conforme abaixo:
Clique em Ferramentas e sem seguida em Gerenciar usuários, será exibida esta tela abaixo:
Em ACT clique em alterar, na tela abaixo serão exibidas as chaves:
Endereço de Chamada da API
/api/cdr/API_TOKEN/API_KEY(/sua 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 específico.
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á https://sua url.com.br. Nesse caso, o endereço da API seria:
Endereço da API exemplo
- https://sua url.com.br/api/cdr/API_TOKEN/API_KEY
ou
- https://suaurl.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:
- date_ini: Data Inicial
- time_ini: Hora Inicial
- date_end: Data Final
- time_end: Hora Final
- start: Exibir registros a partir dessa contagem
- limit: Limitar de registros a ser retornados pela chamada
- id_assinante: Opcional: Id do Assinante quando aplicável
- id_device: Opcional: Filtrar CDR pelo ID específico de uma linha
A chamada para obter os dados da consulta, é realizado utilizando um HTTP GET para o endereço de consumo da API. Um exemplo de chamada a essa API seria:
Exemplo de chamada a API utilizando cURL
$ curl -X GET ‘ https://suaurl.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&time_ini=&time_end=’
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 Mu00f3vel – 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
API Relatório de Chamadas DID – CDR (Chamadas Recebidas)
Endereço de Chamada da API
/api/cdrDid/API_TOKEN/API_KEY(/sua id_cliente)
Este Ponto de Acesso irá fornecer uma listagem do CDR DID (Relatório de Ligações DID – Entrantes).
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 DID de um Cliente de ID específico.
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á https://suaurl.com.br.
Nesse caso, o endereço da API seria:
Endereço da API exemplo
- https://suaurl.com.br/api/cdrDid/API_TOKEN/API_KEY
ou
- https://suaurl.com.br/api/cdrDid/API_TOKEN/API_KEY?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:
- date_ini: Data Inicial
- time_ini: Hora Inicial
- date_end: Data Final
- time_end: Hora Final
- start: Exibir registros a partir dessa contagem
- limit: Limite de registros a ser retornados pela chamada
- id_record: Opcional: Id do Assinante ou ID do registro, quando aplicável
A chamada para obter os dados da consulta, é realizado utilizando um HTTP GET para o endereço de consumo da API. Um exemplo de chamada a essa API seria:
Exemplo de chamada a API utilizando cURL
$ curl -X GET suaurl.com.br/api/cdrDid/7cb40d54-4ebf-55a6-875a-5f57234e97cc-9990/b12c87a7-6dd6-5f99-9b47-c7c3be66fe73-8629′
Utilizando essa chamada, você obteria o retorno em JSON semelhante a saída a seguir:
Retorno JSON
{
“error”:0,
“reason”:”OK”,
“total_records”:279,
“total_time”:40898,
“total_time_text”:”681 min 38 seg”,
“total_value”:”0,00000″,
“total_value_connection”:”0,00000″,
“limit”:1,
“offset”:0,
“records”:1,
“data”:[
{
“calldate”:”2018-03-14 11:41:12″,
“clid”:”DID: 2199000000 => 3090007 <2199000000>”,
“source”:”552199000000″,
“destination”:”55212199000000″,
“region”:”DID 552130900017: 2199000000 -> URA: Ura Principal”,
“type”:”c”,
“duration”:”479″,
“duration2″:”7 min 59 seg”,
“total_price”:”0,00000″,
“connection_price”:”0,00000″,
“price_per_minute”:”0,00000″,
“prefix”:”55219″,
“source_ip”:”177.126.XXX.0″,
“useragent”:”Plataforma IP NextBilling”,
“disposition”:”1″
}
]
}
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
records Total de registrados retornados nessa chamada
data.type Tipo da Ligação: f – fixo, c – móvel, i – ddi
data.duration Tempo da Ligação com a Tarifação aplicada
data.total_price Valor total da Ligação
data.connection_price Valor cobrado na Conexão
data.price_per_minute Valor cobrado por Minuto
data.disposition Status da Chamada:
• 0 – Cancelado
• 1 – Atendido
• 2 – Ocupado
• 3 – Não Atendido
• 4 – Indisponível
• 5 – Congestionado
• X – Desconhecido