Em uma conversa de teste de 23 de abril, o cliente enviou um PDF com um pedido para CORR PLASTIK INDUSTRIAL LTDA. O assistente reconheceu o nome no documento e respondeu "Identifiquei a empresa CORR PLASTIK INDUSTRIAL LTDA", passando direto para a lista de itens.
Mas, no final — na hora de efetivamente criar o pedido — o sistema reclamou: "a empresa CORR PLASTIK INDUSTRIAL LTDA não está vinculada ao seu contato". O assistente então despejou uma lista com 15 códigos internos do SAP pedindo ao cliente para confirmar qual usar. A situação só foi resolvida quando o cliente digitou o CNPJ manualmente.
A empresa estava vinculada o tempo todo — o assistente apenas não cruzou o nome extraído do PDF com a lista que ele já tinha disponível.
• C08862530000746
• C08984318000166
• C67731091000106
(mais 12 códigos internos...)
1. O assistente não recebia a lista de empresas quando eram muitas no WhatsApp. Como regra, em conversas WhatsApp com 5 ou mais empresas vinculadas ao contato, o sistema omitia a listagem no contexto interno do assistente (para não carregar o prompt) e apenas orientava "peça ao cliente para digitar o nome da empresa". Isso funcionava bem quando o cliente digitava o nome diretamente no texto da mensagem — porque aí um matcher rápido cruzava a palavra com os nomes cadastrados antes mesmo de o modelo entrar em cena.
2. Quando o nome vinha em PDF/imagem, esse matcher rápido não encontrava. A mensagem do cliente era literalmente "Segue pedido" — o nome da empresa estava dentro do documento anexo. O matcher só lia o texto da mensagem, não o conteúdo do documento. O modelo, que enxerga o conteúdo do PDF, até reconhecia o nome — mas, sem a lista de empresas no contexto, não tinha como associar esse nome ao identificador interno do SAP exigido pelas próximas etapas.
3. O assistente seguiu mesmo sem validar. Nada impedia que ele avançasse para procurar itens no catálogo e tentar criar o pedido. O erro só aparecia no fim, quando o sistema encontrava um identificador que não batia com nenhuma empresa vinculada. Nesse ponto, a saída improvisada foi listar os 15 códigos internos ao cliente — poluindo a mensagem com informação técnica que ele não deveria ver (ver também o relatório #27 sobre a exposição desses códigos).
1. A lista de empresas passa a ser sempre fornecida ao assistente, independentemente do canal e da quantidade de vínculos. Essa lista fica em uma área marcada como "uso interno — não exibir ao cliente", com os nomes das empresas visíveis e os identificadores técnicos isolados logo abaixo. Assim, o assistente pode cruzar o nome extraído de qualquer fonte — mensagem, PDF, imagem ou assinatura de e-mail — contra a lista correta.
A orientação no WhatsApp continua sendo não listar todas as empresas ao cliente quando forem muitas (para não poluir a tela) — mas agora o assistente tem a lista para consultar internamente.
2. Uma nova ferramenta de "busca por nome" ajuda quando há ambiguidade. Se o nome extraído não bate de cara com a lista (acentuação diferente, nome parcial, variação regional), o assistente agora pode chamar uma consulta específica passando o nome como pista. A consulta aplica busca aproximada contra razão social e nome fantasia:
- Se houver só uma empresa compatível: o assistente pega o identificador correto e segue com o pedido sem perguntar nada.
- Se houver mais de uma (por exemplo, "CORR PLASTIK" casa com CORR PLASTIK INDUSTRIAL LTDA e CORR PLASTIK NORDESTE INDUSTRIAL LTDA): o assistente apresenta só as candidatas, em vez de jogar as 15 empresas na tela, e pergunta qual é a correta.
- Se nenhuma casar: o assistente pede o CNPJ e, se ainda não bater, escala para um atendente humano.
3. Regra dura contra o "seguir sem ter certeza". O assistente foi instruído explicitamente a nunca avançar para consulta de itens ou criação de pedido sem ter a empresa devidamente identificada na lista. Se o nome extraído não casar, a ferramenta de busca por nome é chamada primeiro — ou se pede o CNPJ diretamente. Isso elimina a classe inteira de erros "falha no final do fluxo por empresa não vinculada".
| Nome extraído (PDF, imagem ou texto) | Empresas vinculadas ao contato | Resposta |
|---|---|---|
| CORR PLASTIK INDUSTRIAL LTDA | 2 variantes CORR PLASTIK + outras 13 | Seleciona a INDUSTRIAL LTDA direto |
| CORR PLASTIK | CORR PLASTIK INDUSTRIAL LTDA + CORR PLASTIK NORDESTE | Pergunta ao cliente qual das 2 (sem listar as outras 13) |
| ULTRAOIL | LUIS GUSTAVO MISSAGLIA LTDA (fantasia: ULTRAOIL) | Seleciona pela correspondência no nome fantasia |
| Empresa XYZ inexistente | 15 empresas, nenhuma compatível | Pede CNPJ e, se ainda não bater, escala para humano |
Este conjunto de correções foi acompanhado por mais de 90 testes automatizados abrangendo:
- Busca por nome com variações (acentuação, caso, partes do nome, ambiguidade CORR PLASTIK);
- Não vazamento dos identificadores técnicos na parte apresentável das respostas;
- Comportamento esperado com 1, 2-4, 5+ empresas tanto em WhatsApp quanto em e-mail;
- Casos-borda: contato sem vínculos, nome totalmente desconhecido, nome parcial ambíguo.
Sempre que o código for alterado, esses testes rodam automaticamente e barram qualquer mudança que reintroduza os comportamentos antigos.
Situacao: Em contatos com muitas empresas
vinculadas (5 ou mais) no WhatsApp, o assistente não recebia
internamente a lista dessas empresas — ficava dependente do
cliente digitar o nome no texto da mensagem. Quando o nome
vinha em anexo (PDF ou imagem), o modelo reconhecia o nome mas
não conseguia associar ao identificador correto, seguia o fluxo
assim mesmo e só descobria o erro no final, jogando uma lista
de códigos técnicos ao cliente.
Correcao: A lista de empresas vinculadas
passou a ser sempre disponibilizada ao assistente, em uma área
marcada como uso interno (o cliente nunca vê os códigos). Uma
nova consulta por nome faz busca aproximada quando o match
direto falha — selecionando automaticamente quando houver só
uma candidata ou apresentando apenas as candidatas reais
quando houver ambiguidade. E o assistente foi instruído a
nunca avançar para consulta de itens ou criação de pedido sem
a empresa devidamente identificada.
Impacto: Clientes com muitas empresas
vinculadas — incluindo o caso concreto desta conversa —
passam a ter o pedido processado sem fricções e sem
exposição de informação técnica interna. Quando houver
ambiguidade real entre empresas parecidas, a resposta é
objetiva: apenas as candidatas que fazem sentido, não a lista
completa.