Skip to content

Atendimento ​

Um item de painel.atendimentos. O id vale só junto com o mesmo Id_unidade e o mesmo período. O mesmo objeto aparece nas listas de cada visão (novosAlunos, protocolo.vendas, evidencias…), sempre com o mesmo id.

bash
curl "https://api.ouvixpro.ai/v1/atendimentos/2026-10-06:atend_27?Id_unidade=375&de=2026-10-06&ate=2026-10-06" \
  -H "Authorization: Bearer $OUVIX_API_KEY"
CampoTipoO que é
idstringIdentificador estável no período: data:atendimento_id. Use em /v1/atendimentos/{id}. O mesmo id aparece nas listas de protocolo e nos itens de insights.
atendimento_idstringId interno do dia, por exemplo atend_12. Não é único entre dias; o campo id é.
data_refstringDia do atendimento, YYYY-MM-DD.
horariostringHorário do início da conversa, HH:MM:SS.
momentostringentrada, atendimento (balcão), saida ou indefinido.
perfilstringaluno (já treina), novo (visitante ou aluno novo) ou indefinido.
tipostringTipo da conversa: checkin, matricula, cadastro, renovacao, plano, visita, cancelamento, congelamento e outros.
notanumber / nullNota de 0 a 10.
resumostringO que aconteceu, já sem documento e nome completo.
gravebooleanVerdadeiro quando o atendimento pede atenção.
agregadorstring / nullgympass ou totalpass quando a pessoa entra por agregador. Essas conversas ficam fora da conta de venda.
planosarrayPlanos do catálogo citados na conversa: prime, recorrente, anual, quadrimestral, familia, melhor_idade.
protocoloobjectPassos do protocolo nesta conversa. cena diz o que é a conversa (venda_nova, renovacao, nenhuma); plano_fechado diz qual plano fechou. Demais campos são booleanos por passo (objetivo, recorrente, ordem_ok, registrou_contato, agendou…).
fechouboolean / nullDesfecho da conversa de plano. true = fechou um plano; false = saiu sem fechar e isso aparece no áudio; null = o áudio não mostra o fim. Diária avulsa não é plano: fechou=false com motivo diaria.
motivo_nao_fechoustring / nullPor que não fechou, quando fechou=false. Valores em "Motivos de não fechar".
desfecho_vendaobject / nullLeitura dedicada do desfecho, com a fala literal que prova. Presente nas conversas de plano. Campos na tabela "Dentro de desfecho_venda".
sem_proximo_passobooleanAluno novo que saiu sem contato, agendamento ou matrícula.
truncadobooleanA conversa encosta na borda do bloco de áudio: está incompleta.
desfecho_nao_captadobooleanO fim da conversa não aparece no áudio (a pessoa foi levada para outro lugar).
paralelobooleanConversa separada de um trecho com mais de um atendimento ao mesmo tempo.
guiaobjectItens do guia da recepção nesta conversa, cada um true/false (saudacao, identificacao, resolveu_demanda, proximo_passo…).
pedidosarrayPedidos fora do cardápio de planos: tema, pedido, resposta, citacao, prometeu_encaminhar.
insights_abertosarrayO que ficou em aberto nesta conversa: tipo, quem, titulo, fato, aberto, acao.
audioobject / nullComo ouvir esta conversa: url (GET, mesma autenticação e mesmos Id_unidade/de/ate), duracao_s e partes. null quando não há trecho de áudio. Campos na tabela "Dentro de audio".
rotulosobjectTextos e cores prontos para mostrar esta conversa como o painel mostra: quando, momento, perfil, tipo, chips, desfecho de aluno novo, venda e renovação. Campos na tabela "Dentro de rotulos".

Dentro de audio ​

O áudio de um atendimento sai por GET /v1/atendimentos/{id}/audio, com os mesmos parâmetros da chamada que devolveu o atendimento. A resposta é sempre um WAV com apenas o trecho da conversa, igual ao play da interface, com documento e nome completo em silêncio. O guia Áudio detalha.

bash
curl -o atendimento.wav \
  "https://api.ouvixpro.ai/v1/atendimentos/2026-10-06:atend_27/audio?Id_unidade=375&de=2026-10-06&ate=2026-10-06" \
  -H "Authorization: Bearer $OUVIX_API_KEY"
CampoTipoO que é
urlstringCaminho relativo à base da API: /v1/atendimentos/{id}/audio. Envie o mesmo Authorization, Id_unidade, de, ate (e turno, se usou) da chamada que devolveu o atendimento.
duracao_snumberDuração do áudio entregue, em segundos.
partesnumberQuantos recortes foram colados em sequência (a conversa pode atravessar a troca de arquivo da gravação). A API entrega um único WAV.

Dentro de rotulos ​

Tudo o que o painel escreve ao lado de uma conversa, já pronto: você não precisa traduzir momento, perfil, tipo ou decidir o texto do desfecho. As cores vêm em hexadecimal e os tone seguem a tabela de /v1/catalogo.

CampoTipoO que é
quandostringData e hora como aparece nos cards: "06/10 · 13:16:41".
momentoobjectid, label e cor do momento: Entrada, Balcão ou Saída.
perfilobject / nullid e label do perfil (Aluno, Novo). null quando indefinido.
tipoobjectid, label e cor do tipo da conversa (Check-in, Cadastro, Plano…).
sexostring / null"Mulher", "Homem" ou null.
agregadorobject / nullid e label (Gympass, TotalPass) quando a pessoa entra por agregador.
resumostringO resumo já no tom do painel (sem jargão interno).
chipsarrayChips de contexto na ordem da tela: chave, label, hint e tone. Inclui "verificado no áudio", "conversa incompleta", "atendimento paralelo", "desfecho não captado", "avaliação parcial".
planosarrayTags dos planos citados, na ordem do catálogo: id e label.
novoobject / nullSó para aluno novo: label (Matrícula · plano, Cadastro no balcão, Saiu sem próximo passo, Contato garantido…), tone e motivo.
vendaobject / nullSó em conversa de venda: label (Fechou · plano, Não fechou, Sem desfecho no áudio), tone, evidencia e proximoPasso.
renovacaoobject / nullSó em conversa de renovação: label (Migrou pro recorrente, Ficou no mensal · motivo) e tone.
playstringTexto do botão de ouvir: "06/10 · 13:16:41 · Balcão".

Dentro de desfecho_venda ​

CampoTipoO que é
eh_vendabooleanVerdadeiro quando é uma conversa de plano com visitante. Falso em cadastro digital, ativação de quem já pagou e check-in de agregador.
fechouboolean / nulltrue fechou um plano; false saiu sem fechar; null o áudio corta antes do fim. Só vem preenchido quando eh_venda=true.
plano_fechadostring / nullPlano fechado: prime, recorrente, anual, quadrimestral, familia ou melhor_idade. Sempre null quando fechou=false.
evidenciastringA fala literal que prova o desfecho ("vou mandar o link do contrato", "eu fecho amanhã").
proximo_passostringO que ficou combinado quando não fechou (volta amanhã, WhatsApp, avaliação).

Motivos de não fechar ​

ValorRótulo na telaQuando
volta_depoisVolta outro dia pra fecharDisse que volta amanhã ou outro dia para fechar (sem documento, sem cartão, vai trazer alguém).
diariaPagou só a diáriaPagou a diária avulsa (R$ 49,90) e não entrou em plano.
precoPreçoAchou caro ou comparou preço.
caroTá caroDisse explicitamente que está caro.
horarioHorárioO horário da academia ou da aula não serve.
vai_pensarVai pensarVai pensar, sem data para voltar.
vou_pensarDisse que ia ver"Vou ver", sem compromisso.
conjugeVou ver com marido/esposaDepende de outra pessoa.
totalpassTotalPassPrefere ou já tem TotalPass.
cartaoNão quer cartãoNão quis deixar o cartão no recorrente.
pixQuer pagar no PixQuer pagar à vista no Pix.
so_olhandoSó olhandoVeio só conhecer.
sem_ofertaSem oferta da recepçãoA recepção não ofereceu plano.
outroOutroQualquer outro motivo.

Exemplo ​

json
{
  "Id_unidade": "375",
  "visao": "recepcao",
  "de": "2026-10-06",
  "ate": "2026-10-06",
  "atendimento": {
    "id": "2026-10-06:atend_27",
    "atendimento_id": "atend_27",
    "data_ref": "2026-10-06",
    "horario": "13:16:41",
    "momento": "atendimento",
    "perfil": "novo",
    "tipo": "plano",
    "nota": 7,
    "resumo": "Visitante interessada no quadrimestral guardou o nome e contato, mas não fechou porque não estava com documento ou cartão. Volta amanhã.",
    "grave": false,
    "agregador": null,
    "planos": [
      "prime",
      "recorrente",
      "anual",
      "quadrimestral",
      "familia"
    ],
    "protocolo": {
      "cena": "venda_nova",
      "objetivo": false,
      "recorrente": true,
      "ordem_ok": true,
      "registrou_contato": true,
      "plano_fechado": null
    },
    "fechou": false,
    "motivo_nao_fechou": "volta_depois",
    "desfecho_venda": {
      "eh_venda": true,
      "fechou": false,
      "plano_fechado": null,
      "evidencia": "sem documento sem nada nem cartão mas eu fecho amanhã",
      "proximo_passo": "Volta amanhã para fechar o quadrimestral."
    },
    "sem_proximo_passo": true,
    "truncado": false,
    "audio": {
      "url": "/v1/atendimentos/2026-10-06:atend_27/audio",
      "duracao_s": 324,
      "partes": 1
    },
    "rotulos": {
      "quando": "06/10 · 13:16:41",
      "momento": {
        "id": "atendimento",
        "label": "Balcão",
        "cor": "#7c3aed"
      },
      "perfil": {
        "id": "novo",
        "label": "Novo"
      },
      "tipo": {
        "id": "plano",
        "label": "Plano",
        "cor": "#ea580c"
      },
      "sexo": "Mulher",
      "agregador": null,
      "resumo": "Visitante interessada no quadrimestral guardou o nome e contato, mas não fechou porque não estava com documento ou cartão. Volta amanhã.",
      "chips": [],
      "planos": [
        {
          "id": "prime",
          "label": "Prime"
        },
        {
          "id": "recorrente",
          "label": "Recorrente"
        },
        {
          "id": "anual",
          "label": "Anual"
        },
        {
          "id": "quadrimestral",
          "label": "Quadrimestral"
        },
        {
          "id": "familia",
          "label": "Família"
        }
      ],
      "novo": {
        "label": "Saiu sem próximo passo",
        "tone": "bad",
        "motivo": "Volta outro dia pra fechar"
      },
      "venda": {
        "label": "Não fechou",
        "tone": "warn",
        "evidencia": "sem documento sem nada nem cartão mas eu fecho amanhã",
        "proximoPasso": "Volta amanhã para fechar o quadrimestral."
      },
      "renovacao": null,
      "play": "06/10 · 13:16:41 · Balcão"
    }
  }
}

Documentação da API OuvixPRO.