Skip to main content

Refunds & Notifications · Article 6.1

Todos los correos que envía Clozo, en una sola tabla

Clozo envía 13 tipos distintos de correos transaccionales a lo largo del ciclo de vida de la propuesta y la enmienda. Esta página enumera cada uno, quién lo activa, quién lo recibe y qué lleva adjunto.

La capa de correo de Clozo está diseñada para dos destinatarios: su cliente (que necesita claridad y un siguiente paso claro) y usted (que necesita el registro de auditoría y una copia en su archivo). Cada correo corresponde a una sola transición de estado — una propuesta pasando a Enviada, un anticipo llegando, una enmienda siendo contrafirmada. El inventario a continuación es el índice maestro; cada fila enlaza a un artículo dedicado con el activador, el cuerpo, los adjuntos y el flujo de recuperación.

Why this works this way

Tres propiedades se mantienen en todos los correos que envía Clozo:

1. Idempotencia por diseño. Cada envío está envuelto en el patrón _claim_email_field() ([D-070]). Antes de que la tarea ensamble un mensaje, cambia atómicamente una marca de tiempo por fila de NULL a now(). Si llega un reintento de Celery, una reproducción de webhook o un reenvío manual después de que el campo ya está reclamado, el segundo intento sale silenciosamente — su cliente nunca recibe un duplicado.

2. Los adjuntos vienen de R2, no de memoria. Los PDFs se generan una vez (cuando se activa el evento subyacente) y se cargan en el almacenamiento inmutable de Cloudflare R2. La tarea de correo descarga los bytes de R2 en el momento del envío; si R2 no está disponible brevemente, la tarea reintenta con retroceso exponencial hasta tres veces. Esta separación significa que una generación lenta de Gotenberg nunca bloquea la cola de correo.

3. La localización se resuelve una vez, en la propuesta. Cuando un cliente firma por primera vez (o cuando usted establece el idioma de la propuesta), la localización se fija en el registro de la propuesta. Cada correo posterior — recordatorio, reembolso, enmienda — busca el mismo valor, de modo que un cliente nunca recibe una factura de anticipo en inglés seguida de un recordatorio de factura final en alemán.

Troubleshooting

Keep reading