PEPINO ZAPdocs
CRM e gestão

Funil configurável

O funil de vendas do PEPINO ZAP — etapas definidas por REGRAS sobre a conversa (origem, status, etiqueta e posição no fluxo de bot). Como a conversa é colocada na etapa mais avançada que casa, a visualização em canvas (estilo editor de fluxo) e como montar um funil pelo painel ou pela API.

Ver como Markdown

O funil do PEPINO ZAP não é um quadro de cards que você arrasta à mão: é configurável por regras. Você cria etapas e, em cada uma, define uma regra sobre a conversa. As conversas se distribuem sozinhas pelas etapas conforme atendem (ou não) a cada regra — então o funil reflete o estado real do atendimento, sem ninguém mover nada.

  • No painel: Funil → (criar/editar) — canvas com arrastar-e-soltar, no mesmo estilo do construtor de fluxo.
  • Na API: Funil — o editor visual usa exatamente estes endpoints.

Como uma conversa cai numa etapa

Cada etapa tem uma position (ordem). Uma conversa é colocada na etapa de maior position cuja regra ela satisfaz. É isso que dá o formato de funil: as etapas iniciais pegam muitas conversas, as finais (mais avançadas) pegam menos, e a queda entre elas é a sua taxa de conversão.

  • Uma conversa fica em uma etapa (a mais avançada que casa).
  • Conversas que não casam com nenhuma etapa ficam fora do funil (unplaced).
  • A avaliação é feita na leitura (GET /v1/funnels/{id}/data), sobre as conversas mais recentes do escopo (instância opcional do funil).

A regra de uma etapa

A regra combina condições com E (AND) — a conversa precisa satisfazer todas as condições presentes. Condição vazia/"any" = sem restrição.

CritérioValoresA conversa entra quando…
Origemany · inbound · outboundfoi receptiva (o cliente iniciou) ou ativa (a empresa iniciou).
Statusany · open · pending · resolvedestá aberta, pendente ou resolvida.
EtiquetalabelIdtem a etiqueta indicada (ex.: "Proposta enviada").
Posição no fluxo de botver abaixoestá/passou por um ponto do seu fluxo de chatbot.

Posição no fluxo de bot (flowMode)

flowModeSignificado
anyNão considera o fluxo.
in_flowA conversa está num fluxo ativo (opcional: flowId específico).
at_nodeEstá no nó nodeId do fluxo flowId (um ponto exato do bot).
completedConcluiu o fluxo (flowId específico ou qualquer um).
not_in_flowNão está em nenhum fluxo.

Combine os critérios para etapas precisas. Exemplos:
• "Novos leads" → origin: inbound, flowMode: in_flow.
• "Qualificados" → flowMode: at_node no nó "Quer orçamento?" do seu fluxo.
• "Proposta enviada" → labelId da etiqueta Proposta, status: open.
• "Ganhos" → status: resolved, labelId da etiqueta Fechado.

Visualização (canvas)

O funil é desenhado num canvas (igual ao editor de fluxo): cada etapa é um nó com o nome, a contagem de conversas e um resumo da regra. Você arrasta as etapas para organizar, liga uma na outra (aresta visual) e, ao clicar numa etapa, vê as conversas que chegaram ali. A ligação entre etapas é apenas cosmética — quem decide o conteúdo da etapa é a regra, não a aresta.

Montando um funil pela API

  1. Crie o funilPOST /v1/funnels com name e, opcionalmente, instanceId (limita a uma instância).
  2. Adicione as etapasPOST /v1/funnels/{id}/stages, uma por etapa, com name, color, a rule e position (a ordem; maior = mais avançada).
  3. (Opcional) Ligue as etapas no canvas com PATCH .../stages/{stageId}/connection.
  4. Leia os dadosGET /v1/funnels/{id}/data: contagem e até 50 conversas por etapa, mais unplaced e totalEvaluated.
# Cria o funil
curl -X POST https://api.pepinozap.com.br/v1/funnels \
  -H "Authorization: Bearer pzk_live_xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Funil de vendas" }'

# Adiciona uma etapa "Proposta" (conversas abertas com a etiqueta X)
curl -X POST https://api.pepinozap.com.br/v1/funnels/fnl_.../stages \
  -H "Authorization: Bearer pzk_live_xxxxxxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{ "name": "Proposta", "color": "amber", "position": 2,
        "rule": { "status": "open", "labelId": "lbl_..." } }'

# Lê o funil (contagem + conversas por etapa)
curl https://api.pepinozap.com.br/v1/funnels/fnl_.../data \
  -H "Authorization: Bearer pzk_live_xxxxxxxxxxxxxxxx"

A avaliação é on-read sobre as 5.000 conversas mais recentes do escopo. Como cada conversa fica na etapa mais avançada que casa, etapas com regras mais "amplas" (ex.: só status: open) devem ter position menor que etapas mais específicas — senão elas "capturam" conversas que deveriam aparecer mais à frente.

On this page