Skip to main content

Envío de emails

Reglas rápidas:
  • send-email cuando generas HTML desde tu sistema (confirmaciones, alertas).
  • send-template-email cuando tienes templates en el editor visual y solo envías variables.
  • send-batch para enviar el mismo email (con variables personalizadas) a muchos destinatarios.
Sí. Tienes dos opciones:
  1. Múltiples llamadas a /v1/send-batch — Divide destinatarios en lotes de hasta 10,000 y haz una llamada por lote.
  2. Campañas desde el Dashboard — Crea una campaña sin límite. El sistema procesa automáticamente por lotes con rate limiting integrado. Ideal para 50k+ emails.
También aplican límites diarios y mensuales según tu cuenta. Al alcanzarlos, los envíos se encolan y se reanudan solos. Contacta soporte si necesitas más capacidad.
Sí. Usa el campo scheduled_at con ISO 8601:
Funciona en /send-email (acepta ISO 8601, lenguaje natural como "tomorrow at 3pm" y campo timezone) y en /v1/send-batch (solo ISO 8601). Ver Programar Envíos.
El email se omite automáticamente. El comportamiento depende del endpoint:
  • /v1/send-template-email: la supresión se detecta al momento — responde 200 con "skipped": true y suppression_reason (ver API v1).
  • /v1/send-email y /send-email: la supresión se detecta al momento — responde 200 con "suppressed": true y reason: "recipient_suppressed", sin encolar nada (ver Destinatario suprimido).
  • /v1/send-batch: la API responde 200 y aplica la supresión en segundo plano. El correo nunca se envía; la actividad queda con current_status: "suppressed", consultable vía la Activity API.
En todos los casos de envío vía API también se emite el webhook email.suppressed para que sincronices tu lado.La lista de supresión incluye destinatarios por:
  • Baja — clic en enlace de unsubscribe
  • Hard bounce — rebote permanente
  • Queja — marcado como spam
Cada envío retorna un activity_id (o email_id). Los eventos de entrega actualizan el estado:
Estado visible en Dashboard → Actividad, o consultable vía la Activity API. Para send-batch, hay un activity_id por destinatario.

Dominios y deliverability

Causas más comunes:
  1. Dominio no verificado — DKIM, SPF, DMARC. Verifica con POST /domains/:domain/verify.
  2. Dominio frío — necesita warming gradual: 150 correos el día 1, 250 el día 2, 400 el día 3, y así hasta unos 2.000 al día 7. Subir de golpe quema el dominio.
  3. Alta tasa de rebotes o quejas — limpia tu lista. Sobre 4% de rebotes conviene frenar; sobre 0,1% de quejas la reputación cae rápido.
  4. Enlaces que no coinciden con tu dominio — si el From es tuyo pero los links apuntan a otro dominio, los filtros lo leen como phishing. Se resuelve con el dominio de tracking.
  5. Contenido sospechoso — muchos enlaces, mayúsculas, palabras como “GRATIS”/“OFERTA”/“URGENTE”, imágenes sin alt.
  6. Sin enlace de baja — ReallyQuickEmails agrega List-Unsubscribe automáticamente, pero incluye un enlace visible.
Si todo te aparece verificado y aun así caes en spam, el problema es de reputación, no de configuración. Ver Deliverability y autenticación.Y no uses como prueba un correo que te envías a ti mismo dentro de tu propio dominio: Google lo castiga por parecerse a una suplantación, aunque todo esté bien.
  1. Registra el dominio con POST /domains/register
  2. Configura los 8 records DNS en tu proveedor:
    • 1 TXT verificación de dominio
    • 3 CNAME DKIM
    • 1 TXT SPF
    • 1 TXT DMARC
    • 1 MX send (Return-Path)
    • 1 TXT send (Return-Path)
  3. Espera 5–10 min para propagación
  4. Verifica con POST /domains/:domain/verify
  5. Cuando can_send: true, listo
Guía completa en Dominios.

Templates

También:
  • Fallback{nombre || "Cliente"}
  • HTML crudo{!htmlContent}
  • Loops{{#each productos}}...{{/each}}
  • Condicionales{{#if premium}}...{{/if}}
Ver Templates y Variables.
Sí. Los templates creados en el editor visual funcionan en:
  • POST /v1/send-template-email (individual, template_id + variables)
  • POST /v1/send-batch (masivo, templateId + data por destinatario)
  • Campañas desde Dashboard

Campañas

Regla: send-batch para integraciones programáticas. Campañas para envíos grandes desde UI.
Sí. Desde el Dashboard pausas una campaña en processing. Los emails ya encolados se siguen enviando, pero no se despachan nuevos lotes. Reanuda desde el Dashboard.
Se alcanzó el límite de envío de tu cuenta. Se reanuda automáticamente cuando el límite se restablece. También puedes reanudarla manualmente desde el Dashboard.

API y autenticación

  1. Dashboard → tu proyecto → Configuración → Integraciones → API Keys
  2. Copia la key correspondiente:
    • Live (sk_live_* o sk_proj_*) → tráfico productivo
    • Test (sk_test_*) → desarrollo, no consume cuota
Ver API Keys para detalles.
Los endpoints no tienen rate limiting propio; el límite lo impone la capacidad de envío de tu cuenta. Al alcanzarlo, los emails se encolan y se envían solos cuando hay capacidad.
Pasa un header Idempotency-Key: <string-único> (1–256 caracteres) en /send-email o /v1/send-batch. Un reintento con la misma key dentro de 24h devuelve la respuesta cacheada con Idempotency-Replayed: true. Ver API Keys.

Soporte

Contáctanos en harold@dropout.cl incluyendo: Project ID, endpoint usado, request body, error/respuesta y timestamp aproximado.