Usando a API para ler dados de uma campanha
Para exportar dados de ligações usando a API é preciso utilizar a interface do sistema para gerar um token de acesso da API e fazer ligações.
Cumprindo esses requisitos, siga os passos descritos abaixo:
1. Obter ligações completadas incluindo dados do contato
Um caso de uso comum é obter as ligações completadas de um dia, trazendo junto com elas os dados preenchidos dos seus contatos. Para isso é necessário usar o parâmetro include e a entidade campaign_contact como o dado a ser incluído. Isso fará com que o fim do JSON de ligações tenha um JSON aninhado com todos os dados de contato.
Exemplo de chamada
Exemplo de resposta
Formato de data
Os valores de data e hora são formatados de acordo com o padrão ISO-8601, ou seja, YYYY-MM-DDThh:mm:ss.sssZ. As datas retornadas nas respostas estão convertidas no fuso horário UTC+0, indicado pela letra Z. As datas enviadas também devem seguir esse padrão.
No exemplo acima, estão sendo solicitadas todas as ligações completadas de campanha que foram feitas no mês de outubro/2025. Ou seja, ligações feitas no seguinte intervalo:
- 01/10/2025 - 00:00:00 UTC (
2025-10-01T00:00:00.000Z) - 31/10/2025 - 23:59:59 UTC (
2025-10-31T23:59:59.999Z)
Dados do contato
Usando a chamada acima, com o parâmetro include=campaign_contact, os dados do cliente vem no atributo included da resposta:
2. Paginação de resultados
Exemplo de chamada
Exemplo de resposta
Parâmetros
Para paginar a requisição deve-se adicionar dois parâmetros, são eles:
page[limit]que é um valor inteiro maior que 0 e representa a quantidade de registros a ser recuperada em cada requisição. Na ausência desse parâmetro, seu valor padrão é 100.page[offset]que é um valor inteiro maior ou igual a 0 e representa o deslocamento de registros. Na ausência desse parâmetro seu valor padrão é 0.
A resposta de requisição trás a contagem do total de registros de acordo com os filtros
aplicados (meta.count). Com esse valor, é possível calcular a paginação.
Exemplos
-
Primeira página com paginação de tamanho 10.
page[limit]=10page[offset]=0
-
Terceira página com paginação de tamanho 100.
page[limit]=100page[offset]=200
3. Ler Áudio da Chamada
Retorna o áudio da chamada em formato base64.
Exemplo de chamada
Parâmetros
Para obter o áudio de uma chamada, deve-se adicionar apenas o ID da chamada. O link obtido através do atributo audio_link na resposta das chamadas completadas já contém o ID da chamada, então basta utilizá-lo.
A resposta dessa requisição trás o audio da chamada em formato base64. Com esse formato, é possível criar um arquivo de áudio de extensão .mp3.
4. Programa de Exemplo
O script Python abaixo contém uma implementação de exemplo usando Python para consumir as APIs de obter ligações completadas e não completadas de campanha, bem como a API de download dos audios. Ele foi construído ao redor de dois casos de uso comuns:
a) Baixar as ligações do dia anterior: agenda-se a execução do script para a madrugada (por exemplo 03:00 AM) do dia corrente, baixando as ligações do dia anterior para fazer algum relatório
b) Baixar as ligações de uma faixa de dias: deseja-se baixar um histórico de todas as ligações, por exemplo mensalmente, para fins de armazenamento local. Então por exemplo no dia primeiro de cada mês agenda-se a execução do script para baixar as ligações do mês anterior.
Para facilitar a operação, o script aceita alguns parâmetros, explicados abaixo:
uso:
Busca e escreve dados de chamadas de campanha usando a API Callix.
O script cria um subdiretório abaixo do diretório corrente chamado \call_audios, onde cria dois arquivos CSV, um para chamadas completadas (completed_calls.csv) e outro para chamadas não completadas (missed_calls.csv), e caso o parâmetro -d seja especificado, baixa o audio em formato mp3 de cada chamada completada.
parâmetros posicionais:
- start_date : Data de início no formato dd/mm/aaaa (requerido se o parâmetro -y não for usado)
- end_date : Data de fim no formato dd/mm/aaaa (requerido se o parâmetro -y não for usado)
outros parâmetros:
-h, —help : mostra ajuda para os comandos
-y, —yesterday : Use a data de ontem como data de início e fim, para facilitar o uso de baixar ligações do dia anterior
-d, —download : Parâmetro que indica se é desejado fazer o download dos audios das ligações completadas (default: False)
-m, —missed : Parâmetro que indica se é desejado fazer o download das ligações não completadas (default: False)
-t TENANT, —tenant TENANT : Qual o prefixo do tenant (Cliente) para a URL de base da API (exemplo: ‘globo’ para https://sua-conta.callix.com.br)
-b BEARER, —bearer BEARER : Bearer token da Autorização (crie o Token em Configurações>APIs>Acesso à API e conecte-o a um Perfil de Acesso adequado) (por exemplo, ‘14ae293d-f1f0-4f0c-a220-c4bc9438a855’)
O programa é fornecido “as-is”, como um exemplo de implementação de consumo de API da Callix.
Campos de campanha precisam ser adaptados no script
Como os campos de formulário de campanha são variáveis, para exportar dados de contato com os campos que você deseja você precisa editar a função “process_included_entities()” e incluir os campos que você deseja. O exemplo mostra um caso com 5 campos de formulário e como mapeá-los para os campos no CSV. Além de alterar esta função, você também precisa alterar o array “relationship_fieldnames” que fica dentro da função fetch_and_write_calls(), este array define quais campos serão colocados no CSV.
A Callix não se propõe a dar suporte neste script e fornece-o simplesmente para dar um “ponta pé inicial” em esforços de integração com a Callix.
Instruções para executar o script
Para executar o script você precisa: Ter a última versão do Python instalado. Você pode baixar a última versão navegando para https://www.python.org/downloads/
Uma vez instalado o Python, instale os módulos requests e pytz usando o pip. Na linha de comando:
Para rodar o script copie-o para algum diretório e chame-o da linha de comando, por exemplo:
(faz o download das ligações completadas, além dos seus audios. Ligações não completadas não são baixadas (falta -m))

