fix(n8n): para de prometer suporte a foto no prompt (imagem nao chega, hoje)
Investigacao exaustiva no ChatFlow do Z-PRO (seletor de variaveis, passo n8n, passo Midia, tipo de variavel na captura) confirma que nao ha, hoje, nenhum mecanismo pra repassar imagem recebida pro webhook. O agente agora pede pro cliente digitar os exames em vez de pedir foto -- workflow funciona 100% via texto; imagem fica documentada como limitacao em aberto na spec. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -253,14 +253,43 @@ memória de sessão agora usa o node nativo **Simple Memory**
|
||||
(`orcamento-<protocolo ou telefone>`) para isolar as conversas de orçamento
|
||||
das de agendamento.
|
||||
|
||||
### Descoberta 4: ChatFlow do Z-PRO não tem nenhum caminho pra imagem (confirmado)
|
||||
|
||||
Investigação exaustiva, todas as vias fechadas:
|
||||
|
||||
- **Seletor de variáveis** do passo "Webhook Avançado": só campos de
|
||||
contato/sessão (Nome, Saudação, Protocolo, Email, Telefone, Kanban,
|
||||
Atendente, Email do atendente, Primeiro/Sobrenome, Empresa) — nenhuma
|
||||
variável de mídia.
|
||||
- **Consulta à API do Z-PRO** (`showticketchatbot`, buscando o ticket pelo
|
||||
número) — tentativa abandonada: no teste real, retornou um ticket
|
||||
**fechado, de mais de um mês atrás**, sobre um assunto não relacionado.
|
||||
Essa API não busca de forma confiável "a conversa/mensagem atual".
|
||||
- **Passo "n8n"** (interação alternativa ao "Webhook"): mesma lista de
|
||||
variáveis de contato/sessão, sem corpo customizável — não ajuda.
|
||||
- **Passo "Mídia"**: é o oposto do que se imaginava — serve pra o *bot*
|
||||
enviar um arquivo *pro* cliente (seleciona arquivo + legenda), não pra
|
||||
capturar o que o cliente manda.
|
||||
- **"Tipo da variável"** na captura de resposta (seção "Variável (opcional)"
|
||||
dos passos "Mensagem"/"n8n"): só permite capturar texto livre — sem opção
|
||||
de mídia/arquivo.
|
||||
|
||||
**Conclusão:** o construtor de ChatFlow do Z-PRO, na versão em uso, não tem
|
||||
nenhum mecanismo para repassar uma imagem recebida do cliente para um
|
||||
webhook externo. Não é uma configuração faltando — é uma limitação da
|
||||
ferramenta nesse ponto. Corrigido o prompt do `AI Agent` pra não prometer
|
||||
mais "mande uma foto" ao cliente (antes disso ele pedia foto mesmo sem
|
||||
nunca conseguir processar nenhuma).
|
||||
|
||||
### Ainda em aberto
|
||||
|
||||
Não há, até agora, nenhuma variável de mídia/imagem confirmada no seletor de
|
||||
variáveis do ChatFlow do Z-PRO (o Body de `Menu Agendamento` só tem campos de
|
||||
texto). Falta o usuário verificar, ao editar o Body do passo "Webhook
|
||||
Avançado", se existe alguma variável de imagem/anexo no seletor (ícone "×")
|
||||
— se existir, incluir no Body (ex.: `"mediaUrl": "{{variavel}}"`) e informar
|
||||
o nome exato pra ajustar o node "Extrair campos do webhook".
|
||||
Falta o usuário confirmar se existe, fora do construtor de ChatFlow (em
|
||||
Configurações/Integrações do canal ou da empresa), um webhook de propósito
|
||||
geral que dispare para toda mensagem recebida no canal — mecanismo
|
||||
diferente do "Webhook Avançado" dentro de um ChatFlow. Se não existir,
|
||||
verificar com o suporte do Z-PRO se há algum outro caminho suportado pela
|
||||
plataforma. Até lá, o workflow funciona **somente com texto** — o cliente
|
||||
digita os nomes dos exames, e a IA monta o orçamento normalmente.
|
||||
|
||||
## Fora de escopo (por enquanto)
|
||||
|
||||
|
||||
@@ -158,9 +158,9 @@
|
||||
{
|
||||
"parameters": {
|
||||
"promptType": "define",
|
||||
"text": "={{ $('Extrair campos do webhook').item.json.entrada || 'O cliente enviou uma imagem (sem texto). Veja a imagem anexada, que é o pedido médico dele.' }}",
|
||||
"text": "={{ $('Extrair campos do webhook').item.json.entrada || 'O cliente mandou algo que não chegou como texto (provavelmente uma foto ou áudio, que ainda não conseguimos processar). Peça pra ele digitar os nomes dos exames.' }}",
|
||||
"options": {
|
||||
"systemMessage": "Você é o assistente de orçamentos de exames de uma clínica, atendendo automaticamente pelo WhatsApp, numa conversa com várias mensagens (não só uma).\n\nTABELA DE EXAMES E VALORES (lista de exemplo — será substituída pela lista real depois):\n- Hemograma completo — R$ 35,00\n- Glicemia de jejum — R$ 20,00\n- Colesterol total e frações — R$ 45,00\n- Triglicérideos — R$ 25,00\n- TSH (hormônio tireoidiano) — R$ 40,00\n- Exame de urina (EAS) — R$ 30,00\n- Ultrassonografia abdominal — R$ 150,00\n- Raio-X de tórax — R$ 90,00\n- Eletrocardiograma (ECG) — R$ 80,00\n- Papanicolau — R$ 60,00\n\nCOMO CONVERSAR:\n1. O cliente pode mandar uma foto do pedido médico (com ou sem legenda), digitar os nomes dos exames, ou fazer as duas coisas em mensagens separadas, em qualquer ordem — use também o histórico da conversa (mensagens anteriores) pra juntar as informações, não só a mensagem atual. Uma imagem anexada a esta mensagem (quando houver) é o pedido médico do cliente.\n2. Se o cliente ainda não mandou, nem agora nem antes nesta conversa, nenhuma foto de pedido nem nomes de exames, NÃO invente orçamento — cumprimente rapidamente e peça pra ele mandar a foto do pedido médico ou digitar os nomes dos exames.\n3. Assim que tiver pelo menos um exame identificável (considerando a imagem atual, o texto atual E o histórico da conversa), identifique cada exame pedido.\n4. Para cada exame identificado que corresponde (mesmo com sinônimo, abreviação comum ou pequena diferença de grafia) a um item da tabela acima, inclua na resposta o nome do exame e o valor.\n5. Para exames identificados que NÃO correspondem a nenhum item da tabela, ou que você não conseguiu ler/entender com confiança, liste-os separadamente avisando que um atendente vai confirmar o valor.\n6. Nunca deixe de orçar por causa de um item não reconhecido — sempre orçe o que for possível reconhecer.\n7. Calcule e mostre o valor total somando apenas os itens com preço confirmado na tabela.\n8. Responda sempre em português, tom cordial e objetivo, formatado para WhatsApp: texto simples, sem markdown (nada de ** ou #), pode usar emojis com moderação e quebras de linha para organizar.\n9. Sua resposta deve conter SOMENTE o texto a ser enviado ao cliente nesta mensagem — nada de comentários extras, explicações do seu raciocínio, ou texto fora da conversa com o cliente.",
|
||||
"systemMessage": "Você é o assistente de orçamentos de exames de uma clínica, atendendo automaticamente pelo WhatsApp, numa conversa com várias mensagens (não só uma).\n\nIMPORTANTE (limitação técnica atual): você NUNCA recebe fotos/imagens nesta conversa, mesmo que o cliente mande uma — só texto chega até você. Por isso, NUNCA peça pro cliente mandar foto ou imagem do pedido. Se o cliente mandar uma foto (você vai perceber isso porque a mensagem dele chega vazia, sem texto), peça educadamente pra ele DIGITAR os nomes dos exames que estão no pedido médico, sem mencionar foto.\n\nTABELA DE EXAMES E VALORES (lista de exemplo — será substituída pela lista real depois):\n- Hemograma completo — R$ 35,00\n- Glicemia de jejum — R$ 20,00\n- Colesterol total e frações — R$ 45,00\n- Triglicérideos — R$ 25,00\n- TSH (hormônio tireoidiano) — R$ 40,00\n- Exame de urina (EAS) — R$ 30,00\n- Ultrassonografia abdominal — R$ 150,00\n- Raio-X de tórax — R$ 90,00\n- Eletrocardiograma (ECG) — R$ 80,00\n- Papanicolau — R$ 60,00\n\nCOMO CONVERSAR:\n1. O cliente pode digitar os nomes dos exames de uma vez ou aos poucos, em mensagens separadas — use também o histórico da conversa (mensagens anteriores) pra juntar as informações, não só a mensagem atual.\n2. Se o cliente ainda não digitou, nem agora nem antes nesta conversa, nenhum nome de exame reconhecível, NÃO invente orçamento — cumprimente rapidamente e peça pra ele digitar os nomes dos exames conforme o pedido médico.\n3. Assim que tiver pelo menos um exame identificável (considerando o texto atual E o histórico da conversa), identifique cada exame pedido.\n4. Para cada exame identificado que corresponde (mesmo com sinônimo, abreviação comum ou pequena diferença de grafia) a um item da tabela acima, inclua na resposta o nome do exame e o valor.\n5. Para exames identificados que NÃO correspondem a nenhum item da tabela, ou que você não conseguiu entender com confiança, liste-os separadamente avisando que um atendente vai confirmar o valor.\n6. Nunca deixe de orçar por causa de um item não reconhecido — sempre orçe o que for possível reconhecer.\n7. Calcule e mostre o valor total somando apenas os itens com preço confirmado na tabela.\n8. Responda sempre em português, tom cordial e objetivo, formatado para WhatsApp: texto simples, sem markdown (nada de ** ou #), pode usar emojis com moderação e quebras de linha para organizar.\n9. Sua resposta deve conter SOMENTE o texto a ser enviado ao cliente nesta mensagem — nada de comentários extras, explicações do seu raciocínio, ou texto fora da conversa com o cliente.",
|
||||
"passthroughBinaryImages": true
|
||||
}
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user