https://api.reallyquickemails.com
Como enviar correos masivos
Hay dos formas de enviar correos masivos:
Ver más en
POST /v1/send-batch.
POST /v1/campaigns
Crea una campaña de envío masivo.Parámetros del body
Request example
Requiere Bearer token (Authorization: Bearer sk_proj_...). Ver más en Autenticacion.
- cURL
200 OK
initializing. Los registros de destinatarios se crean en segundo plano (2-30 segundos según el tamaño de la audiencia) y la campaña pasa a pending. El envío comienza automáticamente.
El objeto campaign incluye la fila completa (también created_at, next_batch_at, select_all_recipients, send_over_hours, variable_config, scheduled_for, etc.).
Ver más en Estados de una campana.
Detección de duplicados (409)
Para evitar envíos duplicados, la API responde409 en dos casos:
subject_match_60min— ya existe una campaña con el mismo asunto creada en los últimos 60 minutos.name_template_24h— ya existe una campaña con el mismo nombre y template en las últimas 24 horas en estado no completado (pending,paused,processing,initializing).
"confirmDuplicate": true.
Códigos de error
GET /v1/campaigns
Lista las campañas del proyecto.Query params
- cURL
200 OK
status toma los valores de Estados de una campana: initializing, pending, processing, rate_limited, paused, completed, failed, cancelled.
GET /v1/campaigns/:id
Devuelve el detalle de una campaña con sus métricas. Respuesta200 OK
campaign trae los mismos campos que la lista de GET /v1/campaigns.
POST /v1/campaigns/:id/cancel
Cancela una campaña programada o en curso.- cURL
200 OK
La cancelación es de corte suave: una campaña en pleno envío se detiene en el siguiente ciclo del motor, y un puñado de emails ya materializados en la cola puede alcanzar a salir en esa ventana. Una campaña programada que aún no arrancó no envía nada.
Campanas desde el Dashboard
El Dashboard ofrece un asistente de 5 pasos para crear y enviar campañas sin código.Flujo completo
Paso 1: Crear un template
Desde Templates → Nuevo Template, diseña tu email en el editor visual. Los templates soportan variables dinámicas con sintaxis Handlebars:
Helpers disponibles:
Variables integradas: cada destinatario recibe automáticamente
{{name}}, {{email}} y {{unsubscribe_url}}, además de los campos del contacto. Las claves de primer nivel también funcionan en minúsculas: si tus datos traen NOMBRE, el template puede usar {{nombre}}. Si el template no incluye {{unsubscribe_url}}, se agrega un footer de cancelación automáticamente y los emails incluyen headers List-Unsubscribe.
Paso 2: Crear la campana
Desde Campañas → Nueva Campaña, el asistente te guía en 5 pasos:- Destinatarios — Selecciona manualmente, usa “Seleccionar todos” o filtra por segmento.
- Template y Remitente — Elige el template creado y el perfil de remitente (dominio verificado).
- Variables (opcional) — Configura valores por defecto, mapea campos del destinatario a variables del template, o sube un CSV con valores personalizados por email.
- Configuración de envío — Activa modo por lotes, define tamaño de lote e intervalo, o distribuye el envío en N horas.
- Revisar y Enviar — Confirma todo y lanza la campaña.
Paso 3: Procesamiento automatico
Una vez creada la campaña:- Se crean los registros de destinatarios (estado:
pending) - La campaña pasa de
initializingapending - Los destinatarios se procesan de forma asíncrona en segundo plano: se preparan las variables de cada uno, se encolan para envío y pasan a estado
queued - Cada email se renderiza con Handlebars, se envía a través de nuestra infraestructura de envío y pasa a estado
sent - Los eventos de delivery/bounce/complaint actualizan el estado final y disparan tus webhooks
Configuracion avanzada
Modo por lotes
Divide el envío en lotes con intervalos usandobatchMode, batchSize y batchIntervalHours. Útil para warming de dominio o para no saturar a tus destinatarios.
Ejemplo: 50,000 destinatarios con lotes de 10,000 cada 24 horas = 5 días de envío gradual.
Ver más en POST /v1/campaigns.
Distribucion horaria
Distribuye el envío uniformemente en un período consendOverHours.
Ejemplo: 3,000 emails distribuidos en 6 horas = ~500 emails por hora.
Variables por destinatario (CSV)
Personaliza cada email subiendo un CSV con columnas:Warming de dominio
Desde un dominio nuevo o con poco historial, sube el volumen de a poco. Escala de referencia:
De ahí en adelante, alrededor de 1,4x por día hasta tu volumen objetivo. Para decenas de miles diarios, calcula cuatro a seis semanas de ramp.
Usa el modo por lotes para automatizar esto. Enviar todo de golpe desde un dominio frío puede marcarte como spam en Gmail, Outlook y otros proveedores.
Ver más en Deliverability y autenticación.