Pourquoi une famille à part
Une série n'est pas un objet distinct : c'est une séquence dont la version portetriggerType: "fixed_date". Ces routes existent parce que cette seule différence change ce qu'un appel doit transporter — une date de départ et une audience — et parce que POST /api/v1/sequences refuse fixed_date précisément pour cette raison : une demi-série est une série impubliable.
Cette famille couvre donc la série dans son ensemble : en créer une, lire son calendrier, la déplacer, la supprimer.
Ce qui n'est PAS ici, et où cela se trouve
Les étapes. Nœuds, liaisons, versions et publication sont identiques sur une série, et restent sur l'API Séquences :| Pour faire ceci | Utilisez |
|---|---|
| Ouvrir une version brouillon | POST /api/v1/sequences/{id}/versions |
| Ajouter une étape d'e-mail, une attente, un tag, un webhook | POST /api/v1/sequences/{id}/versions/{versionId}/nodes |
| Définir l'heure d'envoi d'une étape | PATCH …/nodes/{nodeId} avec sendTimeMinutes |
| Relier deux étapes | POST …/edges |
| Publier | POST …/versions/{versionId}/publish |
Les deux champs qui font une série
Tous deux vivent sur la version, et tous deux se relisent surGET /api/v1/sequences/{id}/versions :
| Champ | Ce que c'est |
|---|---|
startsAt | Le moment à partir duquel se mesure le jour 1. Aucune étape ne porte de date — toutes comptent à partir d'ici, et c'est pourquoi déplacer cette seule valeur déplace toute la série |
sendTimeMinutes | Sur une étape : l'heure locale de la journée, en minutes depuis minuit (540 = 09:00). null signifie que l'étape part dès que l'attente qui la précède est écoulée |
Une série n'inscrit personne.
GET /api/v1/sequences/{id}/enrollments répond par une liste vide sur une série, et c'est correct, pas un bug : il n'y a aucun parcours à suivre.