Files
mercadodevida/spec/product.md
2026-08-22 07:09:03 +02:00

1.5 KiB

F-152 — Product Spec

Problema

Los clientes no reciben confirmación por email ni al crear la cuenta ni cuando su pedido se confirma tras el pago:

  • POST /auth/register crea el usuario pero no envía email de bienvenida.
  • El webhook de Stripe (PaymentSucceeded) pasa el pedido a PAID pero no notifica al cliente (el OrderEventPublisher inyectado en payments es no-op y sendOrderStatusEmail solo se llamaba desde transiciones admin).

Objetivo

Que los clientes reciban los dos emails transaccionales esenciales:

  1. Welcome al crear la cuenta (account_created).
  2. Order confirmation cuando el pago se confirma (PaymentSucceeded → PAID), reenviando el flujo ya existente de sendOrderStatusEmail (SMTP desde Ajustes → SMTP / Email).

Usuarios

  • Usuario principal: cliente que se registra / compra en la tienda.
  • Usuario secundario: operador (Ajustes SMTP) y admin (vee historial).

Alcance v1

  • In scope:
    • Welcome email on POST /auth/register (best-effort, nunca bloquea el registro).
    • Order confirmation email on PaymentSucceeded webhook (best-effort, nunca rompe la reconciliación de pagos).
    • Reusar el SMTP configurado en store_settings ya usado por admin transitions.
    • Tests unitarios de cuerpo/email y de best-effort.
  • Out of scope:
    • Verificación por enlace (gating de cuenta por email) — queda como hardening.
    • Reenvío de emails ya enviados (idempotencia garantizada por el webhook).
    • Cambiar el email de transición admin existente.