API Pública de Extrato de Ligações
versão 0.5.7 · OpenAPI 3.1.0
API HTTP para consulta de extrato de ligações (CDR) e download de gravações de chamadas.
Autenticação:
- Enviar sempre os headers
X-API-KeyeX-Domain. X-API-Key: chave privada do usuário.X-Domain: domínio associado à conta. Exemplo:empresa.telenova.com.br.
Formato de data/hora (parâmetros start e end):
- Utilizar padrão ISO 8601:
YYYY-MM-DDTHH:MM:SS. - Exemplo:
2025-11-26T00:00:00. - O intervalo máximo permitido entre
starteendé de 30 dias.
URL base
https://api.telenova.com.brStatus
Status geral da API
GET
/Respostas
- 200Successful Response
curl -X GET "https://api.telenova.com.br/" \
-H "Accept: application/json"Status
Health check
GET
/healthRespostas
- 200Successful Response
curl -X GET "https://api.telenova.com.br/health" \
-H "Accept: application/json"Ligações (CDR)
Extrato de ligações (CDR)
GET
/cdrRetorna uma lista de registros de ligações (CDR) associados ao domínio autenticado.
Parâmetros:
start: data/hora inicial no formato ISO 8601. Ex:2025-11-26T00:00:00.end: data/hora final no formato ISO 8601.limit: máximo de 1000 registros (padrão: 500).X-API-Key: chave privada do usuário.X-Domain: domínio da conta. Exemplo:empresa.telenova.com.br.
O retorno contém:
- Identificador da chamada (
uuid). - Datas/hora da ligação.
- Direção (inbound/outbound/local).
- Número de origem e destino.
- Motivo do término (
hangup_cause). - URL de gravação (
recording) se existir. - Extensão que atendeu (
answered_extensioneanswered_extension_name) se aplicável. sip_call_idquando existir.- Callcenter:
cc_member_uuidecc_side(agent/member) quando existirem.
Headers
X-API-KeystringobrigatórioX-Domainstringobrigatório
Parâmetros de query
startstring (date-time)obrigatórioendstring (date-time)obrigatóriolimitintegeropcionalpadrão: 500mín: 1máx: 1000
Respostas
- 200Successful Responsearray<CDR>
- 422Validation ErrorHTTPValidationError
curl -X GET "https://api.telenova.com.br/cdr?start=2025-11-26T00%3A00%3A00&end=2025-11-26T23%3A59%3A59&limit=100" \
-H "X-API-Key: SUA_API_KEY" \
-H "X-Domain: empresa.telenova.com.br" \
-H "Accept: application/json"Resposta 200 · EXEMPLO gerado do schema
[
{
"uuid": "3f2b8c1e-7a4d-4e9b-9c21-5d6e7f8a9b0c",
"domain_name": "empresa.telenova.com.br",
"start_stamp": "2025-11-26T10:15:00",
"end_stamp": "2025-11-26T10:15:00",
"answer_stamp": "2025-11-26T10:15:00",
"billsec": 87,
"direction": "inbound",
"caller_id_name": "Cliente Exemplo",
"caller_id_number": "5511999990000",
"destination_number": "1001",
"hangup_cause": "NORMAL_CLEARING",
"recording": "https://api.telenova.com.br/recording?id=3f2b8c1e-7a4d-4e9b-9c21-5d6e7f8a9b0c",
"answered_extension": "1001",
"answered_extension_name": "Atendimento 01",
"sip_call_id": "a1b2c3d4e5f6@10.0.0.10",
"cc_member_uuid": null,
"cc_side": null
}
]Gravações
Download de gravação de chamada
GET
/recordingRealiza o download do arquivo de gravação correspondente ao UUID informado.
Parâmetros:
id: UUID da chamada.X-API-Key: chave privada.X-Domain: domínio associado à conta.
Retorno:
- Arquivo de áudio (WAV ou outro formato existente).
- 404 caso não exista gravação.
Headers
X-API-KeystringobrigatórioX-Domainstringobrigatório
Parâmetros de query
idstringobrigatório
Respostas
- 200Successful Response
- 422Validation ErrorHTTPValidationError
curl -X GET "https://api.telenova.com.br/recording?id=3f2b8c1e-7a4d-4e9b-9c21-5d6e7f8a9b0c" \
-H "X-API-Key: SUA_API_KEY" \
-H "X-Domain: empresa.telenova.com.br" \
-o gravacao.wavRamais
Lista de ramais
GET
/extensionsRetorna a lista de todos os ramais pertencentes ao domínio autenticado.
Parâmetros:
X-API-Key: chave privada do usuário.X-Domain: domínio da conta. Exemplo:empresa.telenova.com.br.
O retorno contém:
- Identificador único do ramal (
uuid). - Número do ramal (
ramal). - Nome configurado no ramal (
nome).
Headers
X-API-KeystringobrigatórioX-Domainstringobrigatório
Respostas
- 200Successful Responsearray<Extension>
- 422Validation ErrorHTTPValidationError
curl -X GET "https://api.telenova.com.br/extensions" \
-H "X-API-Key: SUA_API_KEY" \
-H "X-Domain: empresa.telenova.com.br" \
-H "Accept: application/json"Resposta 200 · EXEMPLO gerado do schema
[
{
"uuid": "3f2b8c1e-7a4d-4e9b-9c21-5d6e7f8a9b0c",
"ramal": "1001",
"nome": "Atendimento 01"
}
]Modelo
CDR
| Campo | Tipo | Descrição |
|---|---|---|
uuidobrigatório | string | Identificador único da chamada (UUID). |
domain_nameobrigatório | string | Domínio associado à conta. Exemplo: empresa.telenova.com.br. |
start_stampobrigatório | string (date-time) | Data/hora em que a chamada foi iniciada. |
end_stamp | string (date-time) | nullpode ser nulo | Data/hora em que a chamada foi finalizada. |
answer_stamp | string (date-time) | nullpode ser nulo | Data/hora em que a chamada foi atendida (se aplicável). |
billsecobrigatório | integer | Duração tarifada da chamada (em segundos). |
direction | string | nullpode ser nulo | Direção da chamada: inbound, outbound, local etc. |
caller_id_name | string | nullpode ser nulo | Nome associado ao chamador. |
caller_id_number | string | nullpode ser nulo | Número do chamador. |
destination_number | string | nullpode ser nulo | Número de destino discado. |
hangup_cause | string | nullpode ser nulo | Motivo de finalização da chamada. |
recording | string | nullpode ser nulo | URL pública para download da gravação da chamada. |
answered_extension | string | nullpode ser nulo | Número da extensão que atendeu a chamada (quando aplicável). |
answered_extension_name | string | nullpode ser nulo | Nome (effective caller id name) da extensão que atendeu a chamada (quando aplicável). |
sip_call_id | string | nullpode ser nulo | ID SIP da chamada (Call-ID). |
cc_member_uuid | string | nullpode ser nulo | UUID do membro do Callcenter associado ao registro (quando aplicável). |
cc_side | string | nullpode ser nulo | Lado do registro de callcenter: "agent" (lado do agente) ou "member" (lado do membro/fila). |
Modelo
Extension
| Campo | Tipo | Descrição |
|---|---|---|
uuidobrigatório | string | UUID único do ramal |
ramalobrigatório | string | Número do ramal |
nome | string | nullpode ser nulo | Nome do ramal |