Emails
El sistema de correos procesa las órdenes desde SQS y envía via SES. Antes de
enviar, valida el formato de email y guarda una copia en S3 con estado pending
para evitar reenvíos duplicados. Al completar el envío, marca la copia como
sent.
Flujo:
sequenceDiagram
participant SNS as SNS Orders Topic
participant SQS as Orders Queue
participant Lambda as Order Email Lambda
participant SES as SES
participant S3 as EmailsBucket
SNS->>SQS: Mensaje de orden
SQS->>Lambda: Batch SQS
Lambda->>S3: Guardar copia (pending)
Lambda->>SES: SendTemplatedEmail
Lambda->>S3: Marcar copia (sent)
Notas:
- La plantilla SES se versiona en CDK.
- Los objetos se cifran con SSE-KMS.
- Las copias en S3 no almacenan el email; solo metadata y status.