Séries

Une série envoie des e-mails datés à toute une audience à la fois — un lancement, une campagne saisonnière, un calendrier d'accueil que tout le monde suit ensemble. Voir le fonctionnement d'une série pour le concept.

Pourquoi une famille à part

Une série n'est pas un objet distinct : c'est une séquence dont la version porte triggerType: "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 ceciUtilisez
Ouvrir une version brouillonPOST /api/v1/sequences/{id}/versions
Ajouter une étape d'e-mail, une attente, un tag, un webhookPOST /api/v1/sequences/{id}/versions/{versionId}/nodes
Définir l'heure d'envoi d'une étapePATCH …/nodes/{nodeId} avec sendTimeMinutes
Relier deux étapesPOST …/edges
PublierPOST …/versions/{versionId}/publish
Dupliquer ces dix-huit routes sous un second préfixe aurait créé deux surfaces qui divergent à la première correction. Un identifiant de série est un identifiant de séquence : passez-le directement à ces routes.

Les deux champs qui font une série

Tous deux vivent sur la version, et tous deux se relisent sur GET /api/v1/sequences/{id}/versions :
ChampCe que c'est
startsAtLe 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
sendTimeMinutesSur 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
La durée entre deux étapes est un bloc d'attente, exactement comme dans une séquence — pas un champ de l'envoi.
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.