Tout est un Objet
Chaque ressource dans Olostep est un objet avec un identifiant unique. Que vous le créiez via l’API, le SDK ou le tableau de bord — vous recevez un objet que vous pouvez référencer, mettre à jour et interroger.Chemins singuliers / API orientée action
Bien que nous soyons toujours prêts à défendre avec acharnement et longtemps la pureté idéologique de la conception d’une API orientée objet (un POST sur/crawls devrait créer un objet crawl, tandis qu’un GET sur /crawls/{crawl_id} devrait vous aider à récupérer cet objet et éventuellement le mettre à jour — vous pouvez toujours mettre à jour les métadonnées),
chaque collection répond également à son nom singulier : POST /v1/answer se comporte exactement comme POST /v1/answers, GET /v1/scrape/{scrape_id} comme GET /v1/scrapes/{scrape_id}, et ainsi de suite pour batch, crawl, map, search, schedule, monitor, file et feedback.
Le pluriel est la forme canonique et celle que cette référence documente ; le singulier est un alias pour quand vous pensez en actions plutôt qu’en objets.
Les Objets Peuvent Avoir des Cycles de Vie
Certains objets Olostep suivent un état via un champstatus. Ce modèle de machine à états vous permet de savoir exactement où se trouve chaque ressource dans son cycle de vie.
Batches
Les batches ont deux niveaux de statut : le batch lui-même et les éléments individuels. Statut du Batch :Les échecs au niveau du batch sont extrêmement rares. Les batches se terminent presque toujours — même si certaines URL échouent, le batch lui-même atteint le statut
completed. Dans le cas rare d’une défaillance catastrophique de l’infrastructure (par exemple, panne du service LLM pendant l’enrichissement), le batch peut échouer. Cela affecte moins de 0,01 % des batches.
Les éléments peuvent échouer en raison de :
- L’URL est bloquée ou retourne une erreur
- Sortie du parseur manquante
- Erreurs de réseau/récupération
error avec code et message expliquant l’échec. Le batch se termine toujours — vérifiez le statut de chaque élément lors du traitement des résultats.
Crawls
Les crawls se terminent toujours. Même si un crawl trouve 0 URL (en raison du blocage par robots.txt ou d’une URL de départ invalide), le statut du crawl sera
completed. Vérifiez le champ pages_count pour vérifier les résultats.Monitors
Les monitors sont des objets de longue durée avec un cycle de vie plus riche que les ressources ponctuelles :
La création d’un monitor renvoie HTTP
202 avec status: provisioning. Le monitor devient active une fois que la planification résout ses cibles suivies — interrogez GET /v1/monitors/:monitor_id ou diffusez les événements de mise en service avec ?stream=1. Seuls les monitors active peuvent être mis en pause, et seuls les monitors paused peuvent être repris. Les mises à jour renvoient 409 tant que le monitor est encore en provisioning.
Modèle de Récupération
De nombreux objets produisent du contenu qui peut être récupéré plus tard. Le modèleretrieve_id vous permet de récupérer du contenu sans le retraiter.
- Éléments de batch — Chaque URL traitée obtient un
retrieve_id - Pages de crawl — Chaque page crawlée obtient un
retrieve_id
/v1/retrieve accepte le paramètre formats pour spécifier quels types de contenu retourner (html, markdown, json, text).