Proyecto Email Marketing — Frappe + Brevo

Orquestación de campañas por Frappe Framework con envíos transaccionales de Brevo, programados con scheduledAt y control de progreso en el ERP (DocType EM Progreso Envío).

Arquitectura general

  • Frappe es el orquestador: crea secuencias y calcula fechas por campaña.
  • Registros en EM Progreso Envío (destinatario, campaña, email, estado, fechas).
  • Scheduler cada 2h: llama a /v3/smtp/email con scheduledAt por envío.
  • Estados: Pendiente → Programado → Enviado → Error con trazas y reintentos.
  • Sincronización opcional con Webhooks (entregado/abierto/bounce/click).

Modos de secuencia

La campaña define dos ejes:

  1. Tipo de envío: Semanal, Laboral, Personalizado (días seleccionados).
  2. Modo de secuencia:
    • Secuencia Absoluta: siempre desde el primer email (p. ej., bienvenida).
    • Secuencia Sincronizada: entra “en el día actual” (pierde anteriores).
    • Secuencia Híbrida: sigue días configurados; empieza el próximo día válido.

Los envíos se programan en Brevo con ISO-8601 (UTC) en scheduledAt.

Integración Brevo

  • Transactional: POST /v3/smtp/email (sender, to, subject, htmlContent, scheduledAt).
  • Contactos/Listas: uso de listas ya existentes cuando corresponde (sin crearlas automáticamente).
  • Empresas/Grupos: mapeo opcional a entidades Brevo, manteniendo el control en Frappe.
  • Plantillas: Doctype EM Email Marketing como fuente HTML/Asunto.

Sobre mí

Profesional con experiencia internacional en diseño, comunicación y desarrollo de software, especializado en soluciones web y apps centradas en la experiencia de usuario. Combino base técnica en programación, UX/UI y marketing digital con alta capacidad de organización, análisis y gestión de proyectos en entornos colaborativos. Orientado a la mejora continua y metodologías ágiles. :contentReference[oaicite:2]{index=2}

Python Java JavaScript Dart Vue.js Flutter & FlutterFlow Frappe Framework MySQL Git / CI-CD UX/UI Google Ads / Meta Ads

Idiomas: Portugués (nativo), Español (C2), Inglés (B1), Gallego (B1). :contentReference[oaicite:3]{index=3}

Contacto