GET /v1/triggers/new-flow-triggered
Sessions de flow les plus récentes démarrées pour n'importe quel contact de l'espace de travail.
Renvoie jusqu'à 100 sessions de flow les plus récentes, triées par created_at DESC. Une session de flow est créée chaque fois qu'un contact entre dans un flow publié — manuellement via trigger-flow ou automatiquement via le trigger d'entrée propre au flow.
GET /api/v1/triggers/new-flow-triggered
Paramètres de requête
| Paramètre | Type | Description |
|---|---|---|
flow_id |
UUID | Optionnel. Limite les résultats à un flow |
Requête
curl 'https://www.qyvo.io/api/v1/triggers/new-flow-triggered?flow_id=01J3F...' \
-H "Authorization: Bearer YOUR_TOKEN_HERE"
const sessions = await fetch(
'https://www.qyvo.io/api/v1/triggers/new-flow-triggered?flow_id=01J3F...',
{ headers: { Authorization: `Bearer ${process.env.QYVO_TOKEN}` } },
).then((r) => r.json());
$sessions = Http::withToken(env('QYVO_TOKEN'))
->get('https://www.qyvo.io/api/v1/triggers/new-flow-triggered', [
'flow_id' => '01J3F...',
])
->json();
import os, httpx
sessions = httpx.get(
'https://www.qyvo.io/api/v1/triggers/new-flow-triggered',
params={'flow_id': '01J3F...'},
headers={'Authorization': f"Bearer {os.environ['QYVO_TOKEN']}"},
).json()
Réponse — 200 OK
[
{
"id": "01J5A...",
"flow_id": "01J3F...",
"flow_name": "Abandoned cart 30min",
"contact_id": "01J1Y...",
"contact_phone": "+14155550123",
"contact_name": "Romain",
"contact_email": null,
"status": "running",
"current_node_id": "node_3",
"context": {
"trigger_source": "shopify_abandoned_cart",
"cart_id": "987654321",
"cart_total": "129.00"
},
"last_interaction_at": "2026-05-07T08:14:23+00:00",
"expires_at": "2026-05-07T08:44:23+00:00",
"completed_at": null,
"created_at": "2026-05-07T08:14:23+00:00"
}
]
| Champ | Notes |
|---|---|
status |
running, completed, expired, failed |
current_node_id |
Pointeur dans le graphe du flow ; utile pour déboguer les sessions bloquées |
context |
Sac libre clé/valeur passé au moment du trigger + alimenté par les nœuds du flow |
expires_at |
Les sessions expirent automatiquement après flow.settings.session_ttl_minutes (30 min par défaut pour les flows) |
Pattern de polling
Même forme que new-message-received. Mémorisez l'id le plus récent ; arrêtez l'itération quand vous l'atteignez.
