Skip to content

Começando ​

Este guia leva você da criação da chave até a leitura da primeira resposta. Em cinco minutos você terá o painel de um dia inteiro em JSON.

Visão geral ​

A OuvixPRO API expõe, por HTTP, os dados que o painel da recepção exibe: atendimentos, protocolo de venda, renovações, fluxo de entrada e saída, qualidade, horários de pico e insights. Cada atendimento aponta para o trecho de áudio que o originou, e esse trecho pode ser baixado pela própria API.

CaracterísticaValor
Base URLhttps://api.ouvixpro.ai
ProtocoloHTTPS, somente GET
FormatoJSON (UTF-8); áudio em audio/wav
AutenticaçãoAuthorization: Bearer <chave>
Versãov1, no caminho de todos os endpoints

Endpoints ​

EndpointPara quê
GET /v1/painelO painel completo de uma unidade em um período: números brutos e as telas prontas em painel.tela.
GET /v1/telaSó as telas prontas, as listas de evidência e os atendimentos que elas usam. Para desenhar sem calcular nada.
GET /v1/catalogoRótulos, cores, metas e catálogo de planos. Não depende de período.
GET /v1/atendimentos/{id}Um atendimento específico, com todos os campos.
GET /v1/atendimentos/{id}/audioO áudio desse atendimento, já recortado, em WAV.
GET /v1/healthVerificação de disponibilidade; não exige chave.

Os endpoints de painel, tela e atendimento recebem os mesmos três parâmetros obrigatórios: Id_unidade, de e ate. O catálogo só precisa da chave.

Passo 1 — Crie a chave ​

No painel, abra o menu da conta e acesse Chaves de API. Dê um nome à chave (por exemplo, o sistema que vai consumi-la) e confirme. O valor completo aparece uma única vez; copie-o para um cofre de segredos ou variável de ambiente.

bash
export OUVIX_API_KEY="sk_sky_..."

A chave enxerga todas as unidades vinculadas à sua conta. Detalhes em Autenticação.

Passo 2 — Faça a primeira chamada ​

Consulte o painel da unidade 375 em um dia:

bash
curl "https://api.ouvixpro.ai/v1/painel?Id_unidade=375&de=2026-10-08&ate=2026-10-08" \
  -H "Authorization: Bearer $OUVIX_API_KEY"
python
import os
import json
import urllib.request

url = "https://api.ouvixpro.ai/v1/painel?Id_unidade=375&de=2026-10-08&ate=2026-10-08"
req = urllib.request.Request(url, headers={"Authorization": f"Bearer {os.environ['OUVIX_API_KEY']}"})
with urllib.request.urlopen(req) as res:
    painel = json.load(res)["painel"]

print(painel["total"], "atendimentos;", painel["protocolo"]["fechouN"], "planos fechados")
js
const url = 'https://api.ouvixpro.ai/v1/painel?Id_unidade=375&de=2026-10-08&ate=2026-10-08'
const res = await fetch(url, { headers: { Authorization: `Bearer ${process.env.OUVIX_API_KEY}` } })
if (!res.ok) throw new Error(`HTTP ${res.status}: ${(await res.json()).error.message}`)

const { painel } = await res.json()
console.log(`${painel.total} atendimentos; ${painel.protocolo.fechouN} planos fechados`)

Passo 3 — Leia a resposta ​

O envelope repete os parâmetros da chamada e entrega o painel em painel:

json
{
  "Id_unidade": "375",
  "visao": "recepcao",
  "de": "2026-10-08",
  "ate": "2026-10-08",
  "turno": "todos",
  "painel": {
    "total": 24,
    "mediaNota": 7.4,
    "atendimentos": [ { "id": "2026-10-08:atend_01", "horario": "07:02:15", "tipo": "checkin", "audio": { "url": "/v1/atendimentos/2026-10-08:atend_01/audio", "duracao_s": 85, "partes": 1 } } ],
    "protocolo": { "vendasN": 10, "fechouN": 6, "fechadas": [], "abertas": [], "semDesfecho": [] },
    "insights": [],
    "novosAlunos": []
  }
}

Cada bloco de painel tem a sua própria página de referência, com todos os campos e um exemplo real:

BlocoPágina
Números gerais, alertas, lista de atendimentosResumo
Conversas de plano, funil e desfechoProtocolo
Migração de planoRenovação
Visitantes e alunos novosNovos alunos
Pendências, decisões e riscosInsights
Catraca, entrada × saída, qualidade, horáriosRecepção
O objeto de um atendimentoAtendimento

Passo 4 — Vá do atendimento ao áudio ​

Todo atendimento tem um id no formato data:atendimento_id e um bloco audio com a URL do trecho. Com os mesmos parâmetros da chamada anterior, você busca o objeto completo e baixa o áudio — já recortado, em WAV, com dados pessoais em silêncio:

bash
# o atendimento
curl "https://api.ouvixpro.ai/v1/atendimentos/2026-10-08:atend_01?Id_unidade=375&de=2026-10-08&ate=2026-10-08" \
  -H "Authorization: Bearer $OUVIX_API_KEY"

# o áudio dele
curl -o atendimento.wav \
  "https://api.ouvixpro.ai/v1/atendimentos/2026-10-08:atend_01/audio?Id_unidade=375&de=2026-10-08&ate=2026-10-08" \
  -H "Authorization: Bearer $OUVIX_API_KEY"

Passo 5 — Desenhe a tela sem calcular nada ​

Se o objetivo é mostrar o painel no seu sistema, não some nem compare: painel.tela (ou GET /v1/tela) já traz cada card com o texto exibido, o tom de cor e a lista de conversas que abre ao clicar.

bash
curl "https://api.ouvixpro.ai/v1/tela?Id_unidade=375&de=2026-10-08&ate=2026-10-08&tela=resumo" \
  -H "Authorization: Bearer $OUVIX_API_KEY"
json
{
  "tela": {
    "resumo": {
      "kpis": [
        { "chave": "nota", "label": "Nota da recepção", "valor": "7.4/10", "numero": 7.4, "tone": "warn", "hint": "Média da qualidade percebida", "lista": null },
        { "chave": "graves", "label": "Graves", "valor": "0", "numero": 0, "tone": "ok", "hint": "Trechos para feedback 1:1", "lista": "graves" }
      ]
    }
  },
  "listas": { "graves": { "titulo": "Graves · 0", "hint": "…", "ids": [], "badges": {}, "notas": {} } },
  "atendimentos": []
}

O guia Montando a tela percorre as nove telas bloco a bloco, com receitas de painel de evidências e botão de ouvir.

Convenções ​

Três regras valem em todo o painel:

  1. Ordem cronológica. Toda lista de atendimentos vem ordenada por data_ref e horario, do mais cedo para o mais tarde.
  2. Um id por conversa. O mesmo id identifica a conversa em qualquer lista em que ela apareça (atendimentos, novosAlunos, protocolo.vendas, insights[].itens…), e é o que /v1/atendimentos/{id} espera.
  3. Três desfechos de venda. fechou=true fechou um plano; fechou=false saiu sem fechar; fechou=null o áudio não mostra o fim. A regra completa está em Protocolo.

Privacidade

Resumos e evidências já vêm sem documento e sem nome completo. No áudio, os trechos com dados pessoais são entregues em silêncio. A API não expõe arquivos de gravação nem identificadores internos.

Próximos passos ​

Documentação da API OuvixPRO.