Passer au contenu principal
L’API d’Olostep est conçue autour des objets. Comprendre ce design vous aide à créer des intégrations plus efficaces.

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.
RessourceFormat de l’ID d’ObjetExemple
Scrapescrape_*scrape_abc123
Batchbatch_*batch_xyz789
Crawlcrawl_*crawl_def456
Mapmap_*map_ghi012
Answeranswer_*answer_jkl345
Searchsearch_*search_mno678
Monitormonitor_*monitor_mno678
Filefile_*file_mno678
Scheduleschedule_*schedule_pqr901

Les Objets Peuvent Avoir des Cycles de Vie

Certains objets Olostep suivent un état via un champ status. 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 :
in_progress → completed
StatutDescription
in_progressLes URL sont en cours de scraping
completedTraitement terminé
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, une panne du service LLM pendant l’enrichissement), le batch peut échouer. Cela affecte moins de 0,01% des batches.
Statut de l’Élément : Chaque URL dans un batch est suivie comme un élément individuel avec son propre statut :
StatutDescription
successURL scrappée avec succès
failedURL n’a pas pu être scrappée
Les éléments peuvent échouer pour les raisons suivantes :
  • L’URL est bloquée ou retourne une erreur
  • Sortie du parseur manquante
  • Erreurs de réseau/récupération
Les éléments échoués incluent un objet 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

in_progress → completed
StatutDescription
in_progressDécouverte et traitement actifs des URL
completedCrawling terminé
Les crawls se terminent toujours. Même si un crawl ne trouve aucune 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 :
provisioning → active ⇄ paused
            ↘ failed
StatutDescription
provisioningAgent, spécification, planificateur et calendrier sont en cours de configuration
activeCalendrier activé ; les exécutions se font selon schedule.frequency
pausedCalendrier désactivé via POST /v1/monitors/:monitor_id/pause
failedÉchec de la configuration ou de la mise à jour du calendrier (error_message est défini)
deletedSuppression logique via DELETE /v1/monitors/:monitor_id
La création d’un monitor retourne 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 provisionnement avec ?stream=1. Seuls les monitors active peuvent être mis en pause, et seuls les monitors paused peuvent être repris. Les mises à jour retournent 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èle retrieve_id vous permet de récupérer du contenu sans le retraiter.
# Obtenez du contenu en utilisant retrieve_id
curl "https://api.olostep.com/v1/retrieve?retrieve_id=6h89o8u1kt" \
  -H "Authorization: Bearer <your_token>"
Ce modèle est utilisé par :
  • Éléments de batch — Chaque URL traitée obtient un retrieve_id
  • Pages de crawl — Chaque page crawlée obtient un retrieve_id
Le point de terminaison /v1/retrieve accepte le paramètre formats pour spécifier quels types de contenu retourner (html, markdown, json, text).

Webhooks : Mises à Jour Événementielles

Au lieu de sonder pour les changements de statut, configurez des webhooks pour recevoir des événements lorsque les objets changent d’état.
{
  "event": "batch.completed",
  "data": {
    "id": "batch_xyz789",
    "status": "completed",
    "items_total": 100,
    "items_completed": 100
  }
}

Métadonnées : Vos Données à Côté des Nôtres

Attachez des paires clé-valeur personnalisées aux objets en utilisant les métadonnées. Cela vous permet de lier les ressources Olostep à vos systèmes internes.
{
  "items": [{"url": "https://example.com"}],
  "metadata": {
    "order_id": "12345",
    "customer": "acme-corp"
  }
}

Résumé

ConceptDescription
ObjetsChaque ressource a un ID unique et est interrogeable
Cycles de VieSuivez la progression via le champ status
RécupérationRécupérez le contenu plus tard avec retrieve_id
WebhooksSoyez notifié lorsque l’état change
MétadonnéesAttachez vos propres données à n’importe quel objet