Files
compass_backoffice/docs/CORRECAO_EXTRACAO_CPF_TEXTO_LIVRE.md
2026-06-13 08:23:21 -03:00

1.1 KiB

Correção: extração de CPF/CNPJ/protocolo em texto livre

Problema

Mensagem como:

consultar dados do cliente cpf 169.323.728-86

não preenchia BusinessContext.customer_key, porque o IdentityResolver do framework resolve campos estruturados do payload/contexto, mas não extraía identificadores digitados livremente no texto.

Ajuste

Adicionado:

app/identity_extraction.py

com extração defensiva de:

  • CPF
  • CNPJ
  • MSISDN com rótulo explícito
  • protocolo/chamado/reclamação/ticket

Integração

app/main.py agora enriquece o payload antes de chamar o IdentityResolver:

payload = enrich_payload_with_text_identity(req.payload or {})

app/agents/backoffice_agent.py também usa a extração como fallback antes de chamar tools MCP, garantindo que customer_key e protocol_id sejam preenchidos quando vierem no texto.

Exemplo

Entrada:

{
  "message": "consultar dados do cliente cpf 169.323.728-86"
}

Contexto extraído:

{
  "customer_key": "16932372886",
  "cpf": "16932372886",
  "document": "16932372886",
  "document_type": "cpf"
}