← story.propek
STORY 5.3
Montagem de Pedido Real
Epic: Bot WhatsApp Propek — Melhorias Fase 1
DONE
2026-03-17
O `OrderService` existe e esta completo com metodos `create()`, `getById()`, `getByCustomer()`, `updateStatus()` e interface `OrderItem` — mas NUNCA e chamado durante o fluxo de conversa. O bot nao monta pedido para confirmacao do cliente. Quando o bot detecta intencao de compra e gera `[HANDOFF:COMERCIAL]`, o follow-up usa o nome hardcoded `'Produto Propek'` (handler linha 467) em vez do produto real que o cliente pediu. Esta story implementa o fluxo: cliente indica produtos -> bot lista para confirmacao -> cliente confirma -> bot cria order draft -> segue para coleta de dados (Story 5.2) e handoff (Story 5.1).
ACCEPTANCE CRITERIA (11/11)
System prompt instrui a IA a listar produtos escolhidos pelo cliente antes de prosseguir para handoff
IA gera tag `[ORDER:produto1 xQTD, produto2 xQTD]` com lista de itens do pedido
Handler detecta tag `[ORDER:]` e chama `OrderService.create()` com status `'draft'`
Cada item no `[ORDER:]` e mapeado para `OrderItem` com product_name e quantity
`total_amount` pode ser 0 (precos nao sao informados pelo bot — sera preenchido pelo atendente)
Bot envia mensagem de confirmacao: "So confirmando seu pedido: [lista]. Esta tudo certo?" (via system prompt instruction)
Se cliente confirma, `OrderService.updateStatus(orderId, 'confirmed')` e chamado (IA gera nova tag [ORDER:] na confirmacao)
Se cliente corrige, IA ajusta a lista e gera novo `[ORDER:]` (via system prompt instruction)
Apos confirmacao, segue fluxo de coleta de dados (Story 5.2) se cliente novo (via existing pipeline)
Follow-up pos-handoff usa nome real do produto do pedido em vez de `'Produto Propek'` hardcoded (handler linha 465-469)
Order ID e associado a conversa para rastreabilidade
ARQUIVOS (8)
propek-whatsapp-bot/src/prompts/system-prompt.ts Modified
propek-whatsapp-bot/src/handlers/whatsapp.handler.ts Modified
propek-whatsapp-bot/src/services/lead-capture.service.ts Modified
propek-whatsapp-bot/src/services/order.service.ts Unchanged
propek-whatsapp-bot/tests/order-tag.test.ts Created
propek-whatsapp-bot/tests/system-prompt-order.test.ts Created
propek-whatsapp-bot/tests/handler-order-tag.test.ts Created
propek-whatsapp-bot/tests/order-tag-stripping.test.ts Created
RETROSPECTIVA
Qualidade: ★★★☆☆
Incluir @qa no proximo ciclo
Rodar @cyber-chief antes do push