Journeys marketing
Les journeys comportementaux (aussi appelés flows) sont des automatisations
multi-étapes qui enrôlent des contacts sur un déclencheur et les font avancer à
travers des étapes au fil du temps. Ils vivent dans le router tRPC journeys sur
l'API company-manager, appelé à
/api/trpc/journeys.<procedure> avec les conventions tRPC
standard.
Limitation v1 — seules les étapes EMAIL font réellement quelque chose en
sortie. L'étape SMS est un stub non fonctionnel, et plusieurs étapes d'action
sont aujourd'hui des no-ops qui ne font qu'avancer. Lisez
Types d'étapes avant de concevoir un journey — une étape
WEBHOOK n'émet pas encore de webhook.
Procédures
| Procédure | Rôle | Permission |
|---|---|---|
list |
Lister les journeys. | automation:read |
get |
Récupérer un journey. | automation:read |
create |
Créer un journey. | automation:write |
update |
Mettre à jour les métadonnées d'un journey. | automation:write |
updateSteps |
Remplacer les étapes du journey. | automation:write |
activate |
Activer un journey (commence à se déclencher). | automation:write |
pause |
Mettre un journey en pause. | automation:write |
setActive |
Définir explicitement l'état actif. | automation:write |
listTemplates |
Lister les templates prédéfinis. | automation:read |
createFromTemplate |
Créer un journey depuis un template. | automation:write |
listEnrollments |
Lister les enrôlements. | automation:read |
enroll |
Enrôler manuellement un contact. | automation:write |
getStats |
Statistiques du journey. | automation:read |
tick |
Faire avancer les enrôlements dus (voir Déclenchement). | automation:write |
Déclencheurs
Un journey démarre lorsque son déclencheur se déclenche pour un contact :
| Déclencheur | Se déclenche sur |
|---|---|
NEWSLETTER_SIGNUP |
Une soumission publique de newsletter / d'inscription. |
CART_ABANDONED |
Un balayage de panier abandonné. |
ORDER_MINTED |
Une commande en cours de création (mint). |
DATE_WINBACK |
Un balayage de reconquête basé sur une date. |
MANUAL |
Un appel explicite à journeys.enroll. |
Types d'étapes
Les étapes sont déclarées sur le journey (via create + updateSteps, ou un
template). La colonne statut reflète la réalité v1 :
| Type d'étape | Statut |
|---|---|
EMAIL |
Fonctionnelle — c'est la seule étape qui envoie. |
WAIT |
Contrôle de flux — le délai entre les étapes (par ex. J+3). |
CONDITION |
Contrôle de flux — marqueur de branchement. |
GOAL |
Contrôle de flux — marqueur d'objectif. |
SMS |
Stub non fonctionnel — n'envoie pas. |
WEBHOOK |
No-op qui ne fait qu'avancer (v1) — n'émet aucun webhook sortant. |
UPDATE_FIELD |
No-op qui ne fait qu'avancer (v1). |
ADD_TO_SEGMENT |
No-op qui ne fait qu'avancer (v1). |
REMOVE_FROM_SEGMENT |
No-op qui ne fait qu'avancer (v1). |
CREATE_TASK |
No-op qui ne fait qu'avancer (v1). |
SEND_NOTIFICATION |
No-op qui ne fait qu'avancer (v1). |
Une étape « no-op qui ne fait qu'avancer » est traversée — l'enrôlement la
dépasse — mais elle n'effectue aucun effet de bord. Ne comptez pas sur
WEBHOOK, UPDATE_FIELD, ADD_TO_SEGMENT / REMOVE_FROM_SEGMENT,
CREATE_TASK ou SEND_NOTIFICATION pour faire quoi que ce soit aujourd'hui, et
traitez SMS comme inerte.
Templates prédéfinis
listTemplates expose des journeys prêts à l'emploi ; createFromTemplate en
instancie un :
| Template | Déclencheur | Forme |
|---|---|---|
welcome |
NEWSLETTER_SIGNUP |
emails J+0 / J+3 / J+7 + un GOAL. |
abandoned-cart |
CART_ABANDONED |
1h + 24h. |
post-purchase |
ORDER_MINTED |
remerciement J+0 + avis J+7. |
win-back |
DATE_WINBACK |
J+0 + J+3. |
createFromTemplate crée un journey inactif. Rien ne se déclenche tant qu'un
administrateur ne l'a pas activé avec activate.
Comment fonctionne le déclenchement
L'enrôlement se produit différemment selon le déclencheur :
| Déclencheur | Comment il se déclenche | Par défaut |
|---|---|---|
NEWSLETTER_SIGNUP |
Depuis la soumission publique de newsletter / d'inscription. | Actif. |
CART_ABANDONED |
Un émetteur de balayage cron (JOURNEYS_CART_EMITTER). Borné, plafonné à 500/tick. |
Activé. |
DATE_WINBACK |
Un émetteur de balayage cron (JOURNEYS_WINBACK_EMITTER). Borné, plafonné à 500/tick. |
Activé. |
ORDER_MINTED |
Piloté par événement depuis le cycle de vie de la commande + le webhook Stripe magazine (JOURNEYS_PURCHASE_EMITTER). |
Désactivé. |
MANUAL |
Appeler journeys.enroll avec un journeyId. |
s.o. |
Une fois un contact enrôlé, le travail récurrent de « faire avancer les
enrôlements dus » est piloté par journeys.tick. tick est invoqué selon une
planification par le scheduler du SDK bext via loopback — et non par
BullMQ. Voir Jobs planifiés.
Définir et activer un journey
Le parcours du développeur est court :
journeys.createFromTemplate (or: journeys.create + journeys.updateSteps)
│
▼
journeys.activate
Après activate :
- L'enrôlement est automatique pour les types de déclencheurs (sous réserve des valeurs par défaut des émetteurs ci-dessus).
- Ou enrôlez des contacts manuellement avec
journeys.enroll(le parcoursMANUAL).
Voir aussi
- Jobs planifiés — le scheduler qui appelle
journeys.tick - Email & MJML — ce qu'envoie l'étape
EMAILfonctionnelle - Procédures tRPC — comment appeler
journeys.*