Por qué una familia propia
Una serie no es un objeto aparte: es una secuencia cuya versión llevatriggerType: "fixed_date". Estas rutas existen porque esa única diferencia cambia lo que una llamada debe llevar —una fecha de inicio y una audiencia— y porque POST /api/v1/sequences rechaza fixed_date exactamente por ese motivo: media serie es una serie que no se puede publicar.
Así que esta familia cubre la serie en su conjunto: crearla, leer su calendario, moverla, eliminarla.
Qué NO está aquí, y dónde vive
Los pasos. Nodos, conexiones, versiones y publicación son idénticos en una serie, y siguen en la API de secuencias:| Para hacer esto | Usa |
|---|---|
| Abrir una versión en borrador | POST /api/v1/sequences/{id}/versions |
| Añadir un paso de correo, una espera, una etiqueta, un webhook | POST /api/v1/sequences/{id}/versions/{versionId}/nodes |
| Fijar la hora de envío de un paso | PATCH …/nodes/{nodeId} con sendTimeMinutes |
| Conectar dos pasos | POST …/edges |
| Publicar | POST …/versions/{versionId}/publish |
Los dos campos que hacen una serie
Ambos viven en la versión, y ambos se leen enGET /api/v1/sequences/{id}/versions:
| Campo | Qué es |
|---|---|
startsAt | El momento desde el que se mide el día 1. Ningún paso lleva una fecha: todos cuentan desde aquí, por eso mover este único valor mueve toda la serie |
sendTimeMinutes | En un paso: la hora local del día, en minutos desde medianoche (540 = 09:00). null significa que el paso sale en cuanto termina la espera anterior |
Una serie no inscribe a nadie.
GET /api/v1/sequences/{id}/enrollments responde con una lista vacía en una serie, y eso es correcto, no un error: no hay recorrido que seguir.