Pular para conteúdo

Integração Pipedrive → Omie (Pedidos de Venda)

Cenário Make.com 2912018 (Org 115055 Bepex) que recebe orçamentos do sistema FlowTech (bepex.flowtech.net.br) via webhook, atualiza o Pipedrive, identifica em qual Omie (DALE Metais / ONIX / ATARES) o pedido entra, cria/reusa o cliente (PJ ou PF), e cria o Pedido de Venda completo com itens, produtos secundários e estrutura (BOM). 46 módulos.

Status atual

EM PRODUÇÃO. Suporte a PJ desde sempre; PF habilitado em 2026-04-29 (com bug silencioso 30/04–04/05, corrigido em 2026-05-04). Fixes posteriores: estado nome-completo → sigla UF via switch() de 27 estados (2026-06-19); guard de UF desacoplado por sub-router 91 (2026-07-03); guard quebrando CNPJ multi-endereço resolvido com SetVariable + GetVariables + length() (2026-07-07); validação em produção 8/8 (2026-07-08). Cronologia completa em historico.md.

Como operar no dia a dia

Quero... O que fazer
Disparar um pedido (Daiane/Andrei) Marcar o orçamento como "concluído" no FlowTech — dispara o webhook automaticamente
Ver histórico de execuções https://us1.make.com/115055/scenarios/2912018/logs
Editar o cenário https://us1.make.com/115055/scenarios/2912018/edit
Investigar orçamento que "não subiu" Achar a execução (geralmente "Success" mesmo com erro silencioso). Abrir [57] AdicionarPedido e checar status 200. Se 500/Invalid JSON, ver onde código cliente omie se perdeu. Se [31] filtrado, checar [93] GetVariables (uf_guard deve resolver pra sigla escalar)
Rollback (emergência) PATCH com o backup do blueprint (ver referencia-tecnica.md § Backups)
Falar com vendas sobre a integração Daiane / Andrei via WhatsApp Bepex (account 3, inbox 26, convs 94 e 30)

Sistemas envolvidos

Sistema Papel
FlowTech (bepex.flowtech.net.br) Origem do orçamento; dispara o webhook e recebe callback /marcar-concluido
Make.com (cenário 2912018, Org 115055) Orquestrador, 46 módulos
Pipedrive (bepex.pipedrive.com) Fonte de dados do deal: organização, person, endereço, vendedor
DateCode (api.datecode.com.br) Enriquecimento por CNPJ/CPF (aceita tipoPessoa: "PF")
Omie (multi-tenant) ERP destino — DALE / ONIX / ATARES, cada um com app_key/app_secret/conta próprios

Casos cobertos

Cliente PJ novo/existente ✅ · Cliente PF novo/existente ✅ (desde 04/05, o Omie infere pessoa_fisica pelos 11 dígitos do CPF) · produto final novo/existente ✅ (5 rotas cobrindo variantes do "já cadastrado") · produto secundário + estrutura BOM ✅ · erro fiscal/NF-e ⚠️ (codigo_cenario_impostos e CFOP: 5.102 hardcoded — pode falhar em tenant com cenário fiscal diferente ou venda inter-estadual).

Lição CRÍTICA (aprendida na prática)

Filter em módulo do Make aborta TODA a rota sequencial seguinte, não só pula o módulo filtrado. Foi a causa do bug silencioso de PF (30/04–04/05) e do bloqueio do guard de UF (03/07). Preferir condicionar mappings (if(cond; A; B)) em vez de filtrar. Corolários: (1) nunca colocar ...array[].campo... cru num filtro de router (vira array — resolver pra escalar num SetVariable antes); (2) filtro de router não lê variável por referência crua — envelopar em função (length(N.var)) e ler via GetVariables. Padrão de guard: SetVariable → GetVariables → length().

Pendências / próximos passos sugeridos

  • [ ] Cancelar 1 pedido duplicado do cliente de Xangri-lá/RS (07/07, criado 2× na recuperação).
  • [ ] Validar codigo_cenario_impostos em DALE e ONIX (hoje validado só na ATARES).
  • [ ] Tornar CFOP condicional (suportar venda inter-estadual).
  • [ ] Migrar secrets hardcoded (app_secret Omie, token FlowTech, Basic auth DateCode) pra Make Connections.
  • [ ] Tornar idempotente: codigo_pedido_integracao = 9.data.orcamento.id em vez de {{timestamp}}.
  • [ ] Alerta Slack/WhatsApp pros erros (hoje vão por email — fácil perder) + checagem de status real no Omie como módulo final.

Vendedores envolvidos (WhatsApp Bepex — Chatwoot account 3, inbox 26)

Andrei (conv 30) · Daiane (conv 94) · Enríco Bertanha (conv 56).

Índice da subpasta

Documento Conteúdo
README.md (este) Visão executiva, status, como operar, casos, lição crítica, pendências
arquitetura.md Fluxo nó-por-nó dos 46 módulos, padrões de design (multi-tenant, guard UF, PF vs PJ, produto já existente)
historico.md Cronologia datada de bugs/fixes (abr–jul 2026) + 12 lições aprendidas
referencia-tecnica.md IDs, URLs, credenciais (placeholders), custom fields, paths no blueprint, snippets de payload, dados de teste
handoff-fallback-uf.md Playbook (resolvido 06/19) — tradução nome do estado → sigla UF no fallback Pipedrive
handoff-guard-uf.md Playbook (resolvido 07/07) — fix do Guard UF; referência de reuso do padrão SetVariable+GetVariables+length
ARQUIVOS.md Manifesto dos backups de blueprint e docs legados que vivem no Drive/origem

Consolidação (S7): os docs soltos da pasta-fonte — PIPEDRIVE_TO_OMIE_INTEGRACAO.md (doc inicial de 29/04, superada por arquitetura.md), PLANO_PIPEDRIVE_TO_OMIE_CPF.md (plano da Fase 1 PF, já executado) e PLANO_CONSOLIDACAO_CAMPOS_NAO_UTILIZAR.md (housekeeping de custom fields do Pipedrive — tema correlato, one-off) — foram incorporados/registrados (ver ARQUIVOS.md). Os originais permanecem na pasta-fonte.