Nota esboço para estudo de conceito

input.body.cpf

Variável 🔴 CRÍTICA | 🔒 SENSÍVEL

Descrição

CPF do lead retornado na resposta HTTP do webhook `lead-input/hyperflow-unified-lead` no fluxo `disparo-rcs`. Esta variável **não é uma entrada inicial**, mas sim parte da resposta da API externa (N8N). É usada para validação e verificação se o lead foi encontrado na base de dados, e posteriormente mapeada para `flow.cpf` para uso no restante do fluxo.

Especificações Técnicas

PropriedadeValor
Escopoinput
Tipo de DadoString
Formato11 dígitos numéricos, sem formatação (sem pontos ou hífen), ou undefined/null se o lead não for encontrado
Exemplo12345678901 ou undefined ou null
Crítica✅ Sim
Sensível✅ Sim (pii)

Origem

Tipo: API Externa
Detalhes: Esta variável vem da resposta HTTP do webhook N8N lead-input/hyperflow-unified-lead (nó 18-request---lead-input hyperflow-unified-lead-3). O webhook processa o CPF enviado (flow.cpf, que originalmente veio de input.cpf) e retorna os dados do lead encontrado na base, incluindo o CPF no campo body.cpf da resposta.


Uso nos Fluxos

disparo-rcs

  • Nós: 19b-conditional-validacao-hubspot, 20b-flow-variable---lead-input
  • Propósito:
    • No nó 19b-conditional-validacao-hubspot: Usada na Condição 1 para determinar se o lead foi encontrado na base. A condição verifica se input.body.cpf == undefined || input.body.cpf == null. Se verdadeiro, significa que o lead não foi encontrado e o fluxo segue para tratamento de erro (24b-finish-attendance---erro). Se falso (CPF presente), o fluxo continua para processar os dados do lead.
    • No nó 20b-flow-variable---lead-input: Mapeia input.body.cpf para flow.cpf para uso no restante do fluxo. Este mapeamento só ocorre se o lead foi encontrado (após validação no nó anterior).

Persistência de Dados

HubSpot

  • Campo: cpf_unico_sync
  • Operação: SELECT (o CPF é usado para buscar dados do lead no HubSpot através do webhook N8N)

Dependências

Variáveis Relacionadas:

  • input-cpf - input.cpf é enviado para o webhook N8N como flow.cpf, e o webhook retorna input.body.cpf na resposta
  • flow-cpf - flow.cpf (que vem de input.cpf) é enviado para o webhook, e a resposta contém input.body.cpf que é mapeada de volta para flow.cpf

Variáveis que dependem desta:

  • flow.cpf - No nó 20b-flow-variable---lead-input, input.body.cpf é mapeado para flow.cpf para uso no restante do fluxo

Validações e Regras

  • Validação de existência: No nó 19b-conditional-validacao-hubspot, o sistema verifica se input.body.cpf é undefined ou null para determinar se o lead foi encontrado na base
  • Condição de erro: Se input.body.cpf == undefined || input.body.cpf == null, o fluxo segue para tratamento de erro (24b-finish-attendance---erro)
  • Condição de sucesso: Se input.body.cpf estiver presente (não é undefined nem null), o fluxo continua para processar os dados do lead
  • Formato: Quando presente, deve conter exatamente 11 dígitos numéricos (sem formatação)
  • Ordem de validação: A validação de input.body.cpf deve ser feita antes de tentar acessar campos aninhados como input.body.hubspot.deal_created para evitar erros de referência se input.body não estiver totalmente preenchido

Impacto de Falha

Se esta variável falhar/for null ou undefined:

  1. Lead não encontrado: Indica que o CPF enviado não foi encontrado na base de dados do N8N/HubSpot
  2. Fluxo para tratamento de erro: O fluxo segue automaticamente para o nó 24b-finish-attendance---erro, encerrando o atendimento com erro
  3. Sem dados do lead: Impossibilidade de acessar outros dados do lead retornados na resposta (nome, telefone, margens, etc.)
  4. Sem mapeamento para flow.cpf: O nó 20b-flow-variable---lead-input não será executado, e flow.cpf não será atualizado com os dados do lead encontrado
  5. Impacto em analytics: Eventos de analytics não poderão ser rastreados corretamente sem identificação válida do lead
  6. Erro no log: O erro será registrado como “Error lead input - BUER” com a mensagem “input.body.cpf nulo/indefinido ou falha na requisição 18-request”

Observações Técnicas

  • Não é entrada inicial: Esta variável não é uma entrada inicial do fluxo, mas sim parte da resposta HTTP do webhook N8N
  • Diferente de input.cpf: input.cpf é uma entrada inicial, enquanto input.body.cpf vem da resposta da API
  • Validação crítica: A validação desta variável é crítica para determinar se o lead foi encontrado na base. Se ausente, o fluxo deve tratar como erro
  • Ordem de avaliação: No nó 19b-conditional-validacao-hubspot, a condição para input.body.cpf == undefined || input.body.cpf == null deve ser avaliada antes de tentar acessar campos aninhados como input.body.hubspot.deal_created para evitar erros de referência
  • Mapeamento condicional: O mapeamento de input.body.cpf para flow.cpf no nó 20b-flow-variable---lead-input só ocorre se o lead foi encontrado (após validação bem-sucedida)
  • Estrutura da resposta: A variável faz parte do objeto body da resposta HTTP do webhook, que contém múltiplos campos do lead (nome, telefone, margens, dados do HubSpot, etc.)
  • Dados sensíveis: Esta variável contém dados pessoais sensíveis (PII) e deve ser tratada de acordo com LGPD/GDPR
  • Troubleshooting: Se esta variável estiver nula/indefinida, verificar:
    • Logs do nó 18-request (requisição para o webhook)
    • Logs do webhook lead-input no N8N
    • Garantir que os dados de entrada do fluxo original são válidos
    • Verificar se o N8N está respondendo corretamente

Esta seção será preenchida automaticamente pelo Obsidian com links de notas que referenciam esta variável