Appearance
Listar chamadas
GET
/callsPara listar as chamadas de voz, utilize o método GET na rota /calls. Este método requer os seguintes parâmetros:
page: Página atualfilter: Filtro de busca
Este método retorna um objeto com os dados das chamadas, incluindo:
id: Identificador único da chamadadomain: Domínio da chamadacall_type: Tipo de chamadastarted_at: Data e hora de início da chamadaended_at: Data e hora de término da chamadafrom: Ramal do usuário que realizou a chamadato: Número de telefone do destinatárioduration: Duração da chamada em segundoshangup_cause: Motivo do término da chamadarecord_url: URL da gravação da chamadaemail: E-mail do usuário que realizou a chamadafirst_name: Nome do usuário que realizou a chamadalast_name: Sobrenome do usuário que realizou a chamadaBINA: Bina do usuário que realizou a chamadaminute_price: Preço por minuto da chamadacall_price: Preço total da chamadametadata: Metadados da chamada
Para o campo hangup_cause, os valores possíveis podem ser consultados na seção Códigos de Status de Chamada ou na documentação do FreeSWITCH.
Importante:
- Para listar as chamadas de voz, é necessário informar o token de autenticação no cabeçalho da requisição.
- O filtro de busca pode ser utilizado para buscar chamadas por data, ramal, número de telefone, nome do usuário, sobrenome do usuário, e-mail do usuário, Bina, e metadados da chamada.
- O campo
metadataé um objeto que pode ser utilizado para armazenar informações adicionais sobre a chamada. - O campo
record_urlé uma URL que pode ser utilizada para acessar a gravação da chamada. - Os campos
minute_priceecall_pricesão populados alguns minutos após o término da chamada.
Parâmetros
Parâmetros de Consulta
filter
Campos de definição de filtro, where, include, order, offset, e limit - devem ser uma
string JSON-encoded ({"where":{"something":"value"}}).
Veja https://loopback.io/doc/en/lb3/Querying-data.html#using-stringified-json-in-rest-queries
para maiores detalhes.
Tipostring
page*
Número da página.
No "meta" você encontra total de registros, total de páginas,
número de registros por página, página atual e próxima e/ou anterior se existirem
Tiponumber
ObrigatórioExemplo
1Respostas
Request was successful
JSON
{
"data": [
{
"id": "string",
"domain": "string",
"call_type": "string",
"started_at": "string",
"ended_at": "string",
"from": "string",
"to": "string",
"duration": 0,
"hangup_cause": "string",
"record_url": "string",
"email": "string",
"first_name": "string",
"last_name": "string",
"BINA": "string",
"minute_price": 0,
"call_price": 0,
"metadata": {
}
}
],
"meta": {
"totalItemCount": 0,
"totalPageCount": 0,
"itemsPerPage": 0,
"currentPage": 0,
"nextPage": 0,
"previousPage": 0
}
}
GET
/callsExemplos
cURL
curl -X GET \
'https://api.api4com.com/api/v1/calls?page=1' \
-H "Content-Type: application/json"JavaScript
fetch('https://api.api4com.com/api/v1/calls?page=1', {headers:{'Content-Type':'application/json'}})
.then(response => response.json())
.then(data => console.log(data));PHP
<?php
$url = 'https://api.api4com.com/api/v1/calls';
$method = 'GET';
$headers = [
'Content-Type' => 'application/json',
];
$query = http_build_query([
'page' => '1',
]);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url . '?' . $query);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
$response = curl_exec($ch);
curl_close($ch);
echo $response;
?>Python
import requests
url = 'https://api.api4com.com/api/v1/calls'
params = {
'page': 1
}
headers = {
'Content-Type': 'application/json'
}
response = requests.get(url, params=params, headers=headers)
print(response.json())
