Skip to content

Protocolo ​

Cada conversa de venda no balcão: objetivo, estrutura, escada de planos e fechamento no recorrente.

Os números abaixo estão em painel na resposta de GET /v1/painel. A chamada sempre leva Id_unidade e o período. Toda lista de atendimentos vem em ordem de data e horário, do mais cedo para o mais tarde.

bash
curl "https://api.ouvixpro.ai/v1/painel?Id_unidade=375&de=2026-10-06&ate=2026-10-06" \
  -H "Authorization: Bearer $OUVIX_API_KEY"

Quer a tela pronta?

Esta mesma visão já vem montada em painel.tela.venda (cards com texto, cor e lista de evidências) e, mais leve, em GET /v1/tela?tela=venda. O guia Montando a tela mostra bloco a bloco.

CampoTipoO que é
motivosNaoFechouarrayPor que o aluno novo saiu sem fechar, com quantidade. Valores em "Motivos de não fechar".
protocoloobjectVenda e renovação: funil (conversas → apresentou o recorrente → fechou), listas fechadas / abertas / semDesfecho, passos do protocolo, planos e objeções. Campos na tabela "Dentro de protocolo".

Como ler o desfecho ​

Cada conversa de plano com visitante cai em uma, e só uma, destas três listas de painel.protocolo:

ListaRegraNa tela
fechadasfechou === true ou protocolo.plano_fechado preenchido"Fechou · Recorrente R$ 129,90"
abertasfechou === false (saiu sem fechar e isso aparece no áudio)"Não fechou", com motivo_nao_fechou
semDesfechofechou === null (o áudio corta antes do fim)"Sem desfecho no áudio"

vendasN = fechadas.length + abertas.length + semDesfecho.length e fechouN = fechadas.length.

Regras que o leitor de desfecho aplica, na ordem:

  • Fechou só com sinal forte na fala: link do contrato, cadastro do cartão, "fechou", liberação do acesso. A frase vem em desfecho_venda.evidencia.
  • Diária avulsa (R$ 49,90) não é plano: fechou=false, motivo_nao_fechou="diaria".
  • Cadastro digital ou ativação de quem já pagou antes não é venda: fica fora de vendas (desfecho_venda.eh_venda=false).
  • Quem entra por Gympass/Wellhub ou TotalPass fica fora de vendas (agregador preenchido).
  • Áudio cortado sem despedida nem combinado: fechou=null.

Dentro de protocolo ​

CampoTipoO que é
vendasNnumberConversas de plano com visitante no período (fechadas + abertas + sem desfecho).
recorrenteNnumberQuantas dessas conversas tiveram o recorrente (R$ 129,90) apresentado.
fechouNnumberQuantas fecharam um plano. Igual a fechadas.length.
fechadasarrayAtendimentos que fecharam plano (fechou=true ou protocolo.plano_fechado). Cada item tem id.
abertasarrayAtendimentos que saíram sem fechar e isso aparece no áudio (fechou=false). Veja motivo_nao_fechou e desfecho_venda.proximo_passo.
semDesfechoarrayAtendimentos em que o áudio corta antes do fim (fechou=null). Não contam nem como fechada nem como aberta.
vendasarrayTodas as conversas de plano, em ordem de horário. União de fechadas, abertas e semDesfecho.
objetivoPctnumber / nullPercentual das conversas em que a recepção perguntou o objetivo.
escadaPctnumber / nullPercentual com a escada de planos na ordem (Prime → Recorrente → Anual → Quadrimestral).
recorrentePctnumber / nullPercentual em que o recorrente foi apresentado.
registroPctnumber / nullPercentual com nome, contato e origem registrados.
fechamentoPctnumber / nullPercentual em que a recepção pediu o fechamento ou fechou.
avaliacaoPctnumber / nullPercentual em que a avaliação física foi oferecida.
experimentacaoNnumberQuem não fechou e saiu com visitas de experimentação marcadas.
passosVendaarrayOs 7 passos do protocolo de venda: id, label, meta, feitos, total, pct e as listas fez / faltou (atendimentos com id).
planosarrayPlanos fechados no período: plano, label e qtd.
objecoesarrayObjeções ditas por quem não fechou: tipo, label e qtd.
renovacoesNnumberConversas de renovação (aluno no Prime Mensal que podia ir pro Recorrente).
oferecidasnumberRenovações em que o recorrente foi oferecido.
migradasnumberRenovações que migraram para o recorrente.
renovacoesarrayConversas de renovação, em ordem de horário, com id.
migradasListaarrayRenovações que migraram, com id.
ficaramListaarrayRenovações que ficaram no plano antigo, com id.
passosRenovacaoarrayPassos do protocolo de renovação, no mesmo formato de passosVenda.
motivosRenovacaoarrayPor que não migrou: motivo (cartao, pensar, totalpass, outro), label e qtd.

Dentro de desfecho_venda ​

Vem em cada atendimento de vendas, fechadas, abertas e semDesfecho.

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 ​

Valores possíveis de motivo_nao_fechou e de motivosNaoFechou[].motivo.

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",
  "turno": "todos",
  "painel": {
    "motivosNaoFechou": [
      {
        "motivo": "volta_depois",
        "label": "Volta outro dia pra fechar",
        "qtd": 2
      },
      {
        "motivo": "diaria",
        "label": "Pagou só a diária",
        "qtd": 1
      }
    ],
    "protocolo": {
      "vendasN": 10,
      "recorrenteN": 8,
      "fechouN": 6,
      "fechadas": [
        {
          "id": "2026-10-06:atend_35",
          "horario": "17:40:28",
          "fechou": true,
          "protocolo": {
            "cena": "venda_nova",
            "plano_fechado": "recorrente"
          }
        }
      ],
      "abertas": [
        {
          "id": "2026-10-06:atend_27",
          "horario": "13:16:41",
          "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."
          }
        }
      ],
      "semDesfecho": [
        {
          "id": "2026-10-06:atend_4",
          "horario": "06:36:20",
          "fechou": null,
          "truncado": true
        }
      ],
      "objetivoPct": 0,
      "escadaPct": 40,
      "recorrentePct": 80,
      "registroPct": 10,
      "fechamentoPct": 60,
      "planos": [
        {
          "plano": "recorrente",
          "label": "Recorrente R$ 129,90",
          "qtd": 2
        },
        {
          "plano": "quadrimestral",
          "label": "Quadrimestral R$ 99,90",
          "qtd": 2
        }
      ],
      "objecoes": [],
      "renovacoesN": 0,
      "oferecidas": 0,
      "migradas": 0,
      "motivosRenovacao": []
    }
  }
}

Documentação da API OuvixPRO.