Pular para conteúdo

🟠 HANDOFF — Tradução estado completo → sigla UF no fallback Pipedrive

Status: aguardando próxima sessão pegar. Criado: 2026-06-19 (sessão de documentação consolidada). Quem cria a tarefa: Rafael relatou no fim da sessão de hoje.


TL;DR

A integração Pipedrive → Omie (cenário Make 2912018) precisa de uma fórmula no Make que converta nome completo do estado em sigla de 2 letras (ex: "Santa Catarina""SC") quando o cenário cair no fallback do Pipedrive Organization no campo estado do [31] IncluirCliente. Hoje, quando isso acontece, o Omie recebe "Santa Catarina" em vez de "SC" e o cadastro fica errado/quebra.


Contexto — o que aconteceu

Execução de referência (a única que rodou ontem): - Data: 2026-06-18 18:00:30 BRT - Run ID: a8ed2bdb4f65491eba87269b3c7307e5 - Link: https://us1.make.com/115055/scenarios/2912018/logs/a8ed2bdb4f65491eba87269b3c7307e5 - Tenant Omie: ONIX (rota 50 match) - Ops: 53, Duração: 19s, Status no Make: success

O que o Rafael relatou:

  1. Nessa execução, os créditos da DateCode (api.datecode.com.br) acabaram — ou seja, o módulo [33] consulta date solutions deve ter retornado erro/vazio.
  2. Existe fallback projetado: quando DateCode não tem dado, o mapping do [31] IncluirCliente cai pros campos 78.address_* do Pipedrive Organization. Esse fallback funciona — a Org no Pipedrive está apropriadamente configurada (endereço completo via autocomplete Google).
  3. PORÉM: o campo estado no mapping do [31] está atualmente assim:
    "estado": "{{ifempty(33.data[].enderecos[].uf; 78.address_admin_area_level_1)}}"
    
  4. DateCode 33.data[].enderecos[].uf retorna a sigla (ex: "SC")
  5. Pipedrive 78.address_admin_area_level_1 retorna o NOME COMPLETO (ex: "Santa Catarina")
  6. Omie precisa de SIGLA de 2 letras (string2 no campo estado, conforme doc Omie em referencia-tecnica.md).
  7. Quando o fallback é acionado (DateCode falha), "Santa Catarina" vai pro Omie → cadastro quebrado/incompleto.

O que a próxima sessão precisa fazer

Implementar a conversão "nome completo do estado → sigla UF de 2 letras" no campo estado do mapping do módulo [31] IncluirCliente, de forma que funcione em ambos os caminhos: - DateCode preencheu → já vem sigla → mantém - Fallback Pipedrive → vem nome completo → traduz pra sigla

Direcionamento do Rafael (literal):

"A lógica para isso é uma tabela — são apenas 26 estados no Brasil. Uma tabelinha de nome listado se transforma em código da UF. Enfim, mas não é você que vai fazer isso, então não precisa se interessar em sugerir nada — só cria a passagem de bastão para a próxima sessão."

⚠️ NÃO sugerir solução nesta sessão. Rafael foi explícito que a implementação é da próxima sessão.


Arquivos de referência (leitura recomendada antes de mexer)

Tudo nesta mesma subpasta Integração Pedidos de Venda/:

Arquivo Por quê ler
README.md Visão executiva, como operar, casos cobertos
arquitetura.md Fluxo nó-por-nó dos 44 módulos. Ver especificamente o [31] IncluirCliente e a parte "Padrões de design — Roteamento PF vs PJ"
referencia-tecnica.md Body atual do [31] IncluirCliente está aqui — copiar dele pra modificar. Também tem paths no blueprint, comandos GET/PATCH via API, e dados de teste
historico.md Cronologia completa, incluindo o bug arquitetural do filter (lição: NÃO usar filter pra "pular" módulo no Make — condicionar mappings com if() em vez)

Onde mexer (mapa rápido)

  • Cenário: 2912018 (produção, ATIVO)
  • Módulo alvo: [31] IncluirCliente
  • Path no blueprint: bp.flow[4].routes[3].flow[0].routes[0].flow[3].routes[0].flow[1]
  • Campo específico: param[0].estado dentro do mapper.data (string JSON)
  • Valor atual: "{{ifempty(33.data[].enderecos[].uf; 78.address_admin_area_level_1)}}"
  • Valor desejado (conceitual): o mesmo, mas com tradução nome→sigla quando o fallback Pipedrive entra

Validação esperada (depois do fix)

  1. Aplicar mudança no clone 4706443 (Inactive — precisa ativar). Webhook do clone: https://hook.us1.make.com/${WEBHOOK_MAKE_PIPEDRIVE_OMIE_CLONE}.
  2. Disparar webhook simulado com payload Wellington PF ({ "deal id": 74183, "id do orcamento": 30666 }) OU com payload PJ que tenha cliente no Sul (Santa Catarina/Paraná/RS) pra forçar o fallback Pipedrive.
  3. Forçar fallback: ou bloquear a DateCode (token inválido), ou esperar nova execução pós-créditos zerados, ou usar Replay run da execução a8ed2bdb4f65491eba87269b3c7307e5 no clone.
  4. Abrir o módulo [31] da nova execução → ver o request content → confirmar que estado: "SC" (2 letras) e não "Santa Catarina".
  5. Confirmar no Omie ONIX que cliente foi criado com estado: "SC" corretamente.
  6. Aplicar mudança no produção 2912018 (PATCH idêntico).
  7. Parar clone de novo.
  8. Avisar Andrei (WhatsApp Bepex, conv 30) que o fix foi aplicado e pedir confirmação na próxima execução real.

Como rodar fórmulas no Make — referência

Make tem funções built-in pra mapping. As que costumam ser úteis pra esse tipo de tradução: - switch(value; "case1"; "result1"; "case2"; "result2"; ...; "default") - if(condition; valor_true; valor_false) - get(object; key) — pra usar uma map/dicionário - length(string) — pode dar pra distinguir sigla (2 chars) de nome completo (>2 chars)

Não estou propondo solução — só listando primitives que existem. A próxima sessão escolhe.


Carga de skills sugerida pra próxima sessão

  • make + make-bepex (obrigatório — API do Make pra PATCH blueprint)
  • omie-bepex-produto (referência de campos Omie)
  • Opcional: whatsapp-bepex (pra avisar Andrei depois)

Riscos e cuidados

  1. Não usar filter pra esse problema — vide bug do 30/04-04/05 documentado em historico.md. Filter aborta a rota inteira.
  2. O mesmo address_admin_area_level_1 pode variar entre PJ (Pipedrive Org real) e PF (Org-falsa-pra-PF). Verificar nos 2 casos antes de declarar pronto.
  3. Backup antes de mexer: o cenário tá em produção. Fazer GET blueprint e salvar antes do PATCH. Modelo de comando em referencia-tecnica.md.
  4. Validar primeiro no clone, depois aplicar no produção. NUNCA aplicar direto no 2912018.
  5. Replay run no produção dispara [9] /marcar-concluido no FlowTech (idempotente) e cria pedido NOVO no Omie (duplicado se o orçamento já tinha rodado). Avisar Andrei antes se for replay no produção real.

Memória relacionada

  • project_pipedrive_to_omie.md — resumo do projeto, link pra esta pasta, lição crítica do filter.

Fim do handoff. Próxima sessão: ler arquitetura.md + referencia-tecnica.md, analisar a execução a8ed2bdb4f65491eba87269b3c7307e5, propor + implementar + validar fix.