Campañas
Envíos únicos de difusión entregados a la audiencia que elijas
Una campaña es un único envío masivo a una audiencia que tú defines — piensa en newsletters, lanzamientos de producto, anuncios o promociones. Mientras que un flujo de trabajo sigue ejecutándose a lo largo del tiempo, una campaña se dispara exactamente una vez (de inmediato o en un momento programado) y es inmutable después de eso.
Anatomía de una campaña
Todo lo necesario para renderizar y entregar un lote de correos vive en la propia campaña:
Prop
Type
Tras el envío, la campaña guarda contadores desnormalizados — totalRecipients, sentCount, deliveredCount, openedCount, clickedCount, bouncedCount — recuperables mediante GET /campaigns/:id/stats.
Segmentar una audiencia
Hay tres formas de definir a quién llega una campaña:
ALL— todos los contactos suscritos del proyecto; la ruta más rápida hacia una difusión a toda la lista.SEGMENT— los miembros actuales de uno de tus segmentos, de modo que se reutiliza la lógica de segmentación existente.FILTERED— una condición en línea escrita directamente en la campaña (misma estructura JSON que los filtros de segmento). Ideal cuando quieres una audiencia a medida para un único envío y no necesitas guardar un segmento.
Las campañas de tipo MARKETING o HEADLESS excluyen automáticamente a quien se haya dado de baja. Una campaña TRANSACTIONAL, en cambio, llega a todo contacto que coincida, esté suscrito o no — resérvala para contenido genuinamente transaccional, y úsala poco.
Verificación del dominio remitente
Bitelio solo acepta una dirección from cuyo dominio haya sido verificado para el envío; de lo contrario, crear o actualizar la campaña falla con 403. Consulta Verificación de dominios.
Ciclo de vida
| Estado | Significado |
|---|---|
DRAFT | Existe pero aún no se ha programado ni enviado; todavía editable. |
SCHEDULED | En cola para un scheduledFor futuro; aún se puede cancelar. |
SENDING | Entrega en curso — se está recorriendo la cola de destinatarios. |
SENT | Entrega finalizada; las estadísticas ya no cambiarán. |
CANCELLED | Detenida antes de terminar. Un estado terminal alcanzable desde DRAFT, SCHEDULED o SENDING. |
Una campaña en SENT o CANCELLED no puede editarse ni volver a enviarse. Para iterar sobre ella, llama a POST /campaigns/:id/duplicate y trabaja sobre la copia resultante.
Envío y programación
POST /campaigns/:id/send inicia la entrega. El envío corre de forma asíncrona en segundo plano — las listas pequeñas terminan en segundos, mientras que las audiencias muy grandes tardan más. La página de detalle de la campaña en el panel muestra el progreso en vivo.
Una campaña SCHEDULED o SENDING puede detenerse con POST /campaigns/:id/cancel. Ten en cuenta que cancelar solo evita los envíos futuros; cualquier correo ya aceptado por el servidor de correo del destinatario está fuera de alcance.
Envíos de prueba
POST /campaigns/:id/test entrega un único correo de vista previa. El body toma una sola dirección — { email: "you@example.com" } — no una lista. Las variables se resuelven exactamente como en el envío real, pero la entrega va a la dirección que indicaste, lo que convierte los envíos de prueba en una forma cómoda de comprobar la personalización usando tu propio registro de contacto.
Duplicar
Llamar a POST /campaigns/:id/duplicate produce un DRAFT nuevo que copia el contenido, la audiencia y la configuración del original. Útil para variantes A/B o campañas que envías de forma recurrente.
Referencia de la API
La lista completa de endpoints de campañas — listar, obtener, crear, actualizar, eliminar, enviar, cancelar, duplicar, probar y estadísticas — está en el resumen de la API.