Integrações de áudio
Uma integração de áudio conecta uma plataforma onde suas chamadas são geradas ou armazenadas com o AuditorIA, para que as gravações entrem sem precisar enviá-las manualmente. Cada integração é um ponto de entrada: deixa o áudio dentro do AuditorIA e, a partir daí, o app o processa com seu fluxo normal (transcrição, análise e auditoria).
As origens de áudio são escolhidas em cada campanha, na aba Origens de Áudio. Esta página explica como conectar cada origem externa. Para o mapa geral da campanha, veja Configuração de campanhas.
Nenhuma integração audita sozinha. Ela apenas faz o áudio entrar no AuditorIA. Uma vez dentro, o caso segue o mesmo percurso que qualquer outro: aparece nas tarefas, é transcrito e fica pronto para auditar.
As integrações por webhook (como a Anura) enviam os dados pela internet ao endereço público do seu próprio AuditorIA. O endpoint que você carrega na Anura é https://<seu-dominio-de-auditoria>/webhook/anura/, onde o domínio é o da sua instalação. Você não precisa adivinhar: o AuditorIA mostra o endpoint exato na tela da Anura (passo 1), pronto para copiar. Uma instalação em localhost não pode receber esses webhooks: a plataforma externa precisa de um endereço acessível pela internet.
Anura
Conecte seu PBX na nuvem Anura para que cada chamada finalizada com gravação entre automaticamente no AuditorIA e fique pronta para auditar.
Como funciona
Quando uma chamada termina na Anura, a Anura envia um aviso (webhook) ao AuditorIA com os dados da chamada e o link da gravação. O AuditorIA valida a chave de acesso, identifica o operador, baixa a gravação, cria a tarefa e a processa. Você não precisa enviar nada manualmente.
Antes de começar
- Uma campanha de chamadas criada no AuditorIA. Você vai precisar do identificador dela (
campaign_id). Veja Configuração de campanhas. - Uma planilha de qualidade associada a essa campanha, para poder auditar depois. Veja Planilhas de qualidade.
- Uma API Key do AuditorIA (a chave que autentica o aviso da Anura).
- Acesso à configuração de Eventos / Webhooks na sua conta da Anura.
- A URL pública do seu AuditorIA (veja o aviso sobre o endereço do webhook).
Passo 1 - No AuditorIA: marcar a Anura como origem
- No menu lateral, abra Campanhas > Configuração de campanhas > Chamadas. Você verá a lista de campanhas: escolha a que quer integrar com a Anura.

- Abra a campanha (se for nova, salve-a primeiro: a origem se configura sobre uma campanha já salva) e entre na aba Origens de Áudio.

- Escolha Anura e salve.

Ao escolher a Anura, o AuditorIA mostra um guia com o endpoint, os cabeçalhos e as regras. Use-o como referência enquanto configura o evento na Anura.

Passo 2 - No AuditorIA: criar a API Key
- Abra Configurações > API Keys (
/dashboard/settings/api-keys). - Gere uma API Key e copie. Você vai usá-la como cabeçalho
X-API-Keyao configurar a Anura.
Guarde a API Key em um lugar seguro ao criá-la. É a credencial que autentica os avisos da Anura no seu AuditorIA.
Passo 3 - Na Anura: criar o evento
Na sua conta da Anura, crie um evento que avise o AuditorIA quando a chamada termina.
- Entre no painel da Anura.

- Abra Configuração > Eventos.

- Use Adicionar para criar um evento novo.

O evento tem três abas: Requisição, Cabeçalhos e Corpo. Preencha as três.
Requisição
Define para onde e como o aviso é enviado.
| Campo | Valor |
|---|---|
| Protocolo | HTTPS |
| Host | o domínio público do seu AuditorIA |
| Porta | 443 |
| Rota | /webhook/anura/ |
| Método | POST |
| Tipo de conteúdo | application/json |
| Autorização | Sem autorização (a chave vai nos Cabeçalhos) |

O host é o domínio público da sua instalação do AuditorIA. Não adivinhe: na tela de Origens de Áudio > Anura (passo 1) está o endpoint exato, pronto para copiar. Uma instalação em localhost não funciona, porque a Anura precisa alcançá-la pela internet.
Cabeçalhos
Adicione, como pares Chave / Valor, os cabeçalhos do aviso:
X-API-Key: a API Key que você criou no passo 2.Content-Type:application/json.

Corpo
O Corpo é o JSON que a Anura vai enviar em cada chamada. Monta-se assim:
- as chaves são os campos que o AuditorIA precisa;
- os valores são as variáveis da Anura
{{ ... }}, que a Anura substitui pelos dados reais ao enviar; campaign_idnão é uma variável: é o número da sua campanha no AuditorIA. Você o vê no cabeçalho da campanha como ID da campanha #N, e vai sem aspas.
Não inclua os campos automáticos: cdrid é gerado pelo AuditorIA se não vier, e hooktrigger assume END por padrão (além disso, seu evento já dispara somente em END).
Cole este JSON no Corpo e substitua <ID_DA_SUA_CAMPANHA> pelo número da sua campanha:
{
"dialtime": "{{ dialtime }}",
"direction": "{{ direction }}",
"calling": "{{ calling }}",
"called": "{{ called }}",
"status": "{{ status }}",
"duration": "{{ duration }}",
"billseconds": "{{ billseconds }}",
"wasrecorded": "{{ wasrecorded }}",
"audio_file_mp3": "{{ audio_file_mp3 }}",
"accountname": "{{ accountname }}",
"accountextension": "{{ accountextension }}",
"queueagentname": "{{ queueagentname }}",
"answerterminal": "{{ answerterminal }}",
"campaign_id": <ID_DA_SUA_CAMPANHA>
}

O que cada campo significa:
| Campo | Para que serve |
|---|---|
dialtime | Data e hora da chamada. |
direction | Entrante (inbound) ou sainte (outbound). |
calling / called | Números de origem e destino. |
status | Estado final da chamada. |
duration | Duração em segundos. |
billseconds | Segundos faturados. |
wasrecorded | Deve ser true. |
audio_file_mp3 | URL pública e acessível da gravação. |
accountname | Nome da conta/agente. Em chamadas saintes o AuditorIA o usa como operador. |
accountextension | Ramal da conta. |
queueagentname / answerterminal | Nome do agente em chamadas entrantes. O AuditorIA o usa como operador. |
campaign_id | Número da campanha no AuditorIA (não é uma variável). |
O AuditorIA identifica o operador pelo nome: em chamadas saintes usa accountname; em entrantes usa queueagentname (ou answerterminal). Por isso convém incluir os três. Tem que ser o nome do agente, não um ramal. Confirme na Anura o nome exato de cada variável.
Se faltar algum dos campos da tabela, a Anura ainda envia o aviso, mas o AuditorIA o rejeita.
A Anura também oferece muitas outras variáveis (por exemplo callingname, calledname, dados de fila ou accounttags). Você pode adicioná-las ao Corpo se as quiser para seus próprios registros, mas são opcionais: hoje o AuditorIA não as usa, então, para que a chamada seja processada, bastam os campos da tabela.
As variáveis {{ ... }} que você vê no JSON são oferecidas pela Anura. O AuditorIA as lista no guia de Origens de Áudio > Anura, em duas colunas: à esquerda o campo (a chave do JSON) e à direita a variável (o valor). Não é uma aba nem um formulário separado: é uma referência das variáveis que existem, para você usá-las dentro do Corpo. Por exemplo, accountname -> {{ accountname }} significa que no Corpo vai "accountname": "{{ accountname }}".


Só são processados eventos END com gravação. Se wasrecorded não for true ou audio_file_mp3 não estiver acessível, nenhuma tarefa é criada.
Salve o evento. Não há passos adicionais: a partir da próxima chamada finalizada com gravação, a Anura avisa o AuditorIA e a chamada entra sozinha no fluxo. A Anura não tem botão de teste, então, para confirmar, faça uma chamada real (curta, com gravação) e verifique se aparece nas tarefas da campanha.
O que acontece depois
Quando tudo está configurado, cada chamada finalizada com gravação:
- Chega ao AuditorIA, que valida a API Key.
- Identifica o operador pelo nome. Se esse operador ainda não existir, ele o cria.
- Baixa a gravação e cria a tarefa.
- Entra no fluxo normal: aparece em Buscar e trabalhar com tarefas, é transcrita e fica pronta para revisar e auditar.
Notas importantes
- Operador pelo nome: se o nome do agente na Anura não coincidir com um operador existente, o AuditorIA cria um novo. Para evitar operadores duplicados, use os mesmos nomes que você já tem cadastrados. Veja Gerenciar operadores locais.
- Campanha correta: se
campaign_idnão coincidir com uma campanha real, a chamada pode não ser associada à campanha esperada. - Apenas END com gravação: os demais eventos são recebidos mas não geram tarefas.
Problemas frequentes
- Nenhuma chamada entra: verifique que o evento seja
END, que a gravação esteja ativada, queaudio_file_mp3seja acessível e que a URL e os cabeçalhos estejam corretos. - O aviso é rejeitado (não autorizado): a
X-API-Keyestá faltando ou incorreta. - A chamada entra em outra campanha ou sem o operador correto: verifique
campaign_ide o nome do agente.
Outras origens
O guia detalhado das demais origens está em preparação. Enquanto isso, você pode selecioná-las na aba Origens de Áudio da campanha:
- Interno: áudios enviados manualmente ou pela API interna. Veja Enviar áudio.
- Net2Phone: sincronização de gravações por webhook.
- Servidor SFTP: sincronização a partir de um servidor remoto.
- API Externa: integração genérica com terceiros pela API do AuditorIA.
- Neotel: ingestão nativa (SQL Server + FTP).