Skip to content

Listar chamadas

GET
/calls

Para listar as chamadas de voz, utilize o método GET na rota /calls. Este método requer os seguintes parâmetros:

  • page: Página atual
  • filter: Filtro de busca

Este método retorna um objeto com os dados das chamadas, incluindo:

  • id: Identificador único da chamada
  • domain: Domínio da chamada
  • call_type: Tipo de chamada
  • started_at: Data e hora de início da chamada
  • ended_at: Data e hora de término da chamada
  • from: Ramal do usuário que realizou a chamada
  • to: Número de telefone do destinatário
  • duration: Duração da chamada em segundos
  • hangup_cause: Motivo do término da chamada
  • record_url: URL da gravação da chamada
  • email: E-mail do usuário que realizou a chamada
  • first_name: Nome do usuário que realizou a chamada
  • last_name: Sobrenome do usuário que realizou a chamada
  • BINA: Bina do usuário que realizou a chamada
  • minute_price: Preço por minuto da chamada
  • call_price: Preço total da chamada
  • metadata: Metadados da chamada

Para o campo hangup_cause, os valores possíveis podem ser consultados 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_price e call_price sã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ório
Exemplo1

Respostas

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
}
}

Exemplos

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())

Released under the MIT License.