Aller au contenu
Préproduction : l'API répond sur https://api.visiobank.com/v1, avec une clé de test. Les exemples gardent l'adresse de production, api.vizalia.ai, qui ouvrira à la mise en production.

Pagination

Les listes se parcourent par curseur : limit (1 à 100, 20 par défaut) et starting_after, l’identifiant du dernier élément reçu. La réponse indique has_more.

Une page de liste a la forme {"object": "list", "data": [...], "has_more": true}. Pour la suivante, passez l’identifiant du dernier élément reçu dans starting_after.

Fenêtre de terminal
curl "https://api.vizalia.ai/v1/sessions?limit=100&starting_after=ses_01JC3W8Z5T9QK2N4R6V8X0Y1Z2" \
-H "Authorization: Bearer $VIZALIA_API_KEY"
  • GET /sessions : lister les sessions
  • GET /journeys : lister les parcours
  • GET /webhook_endpoints : lister les abonnements
  • GET /events : lister les événements

Les autres listes, comme les médias d’une session et les marques, renvoient tout d’un coup, avec has_more à faux.

async function* toutesLesSessions(filtres = {}) {
let apres;
do {
const parametres = new URLSearchParams({ ...filtres, limit: '100', ...(apres ? { starting_after: apres } : {}) });
const reponse = await fetch(`https://api.vizalia.ai/v1/sessions?${parametres}`, {
headers: { Authorization: `Bearer ${process.env.VIZALIA_API_KEY}` },
});
const page = await reponse.json();
yield* page.data;
apres = page.has_more ? page.data.at(-1).id : undefined;
} while (apres);
}
for await (const session of toutesLesSessions({ status: 'ended' })) {
console.log(session.id, session.reference);
}