Naar hoofdinhoud gaan
De API van Olostep is ontworpen rondom objecten. Het begrijpen van dit ontwerp helpt je om effectievere integraties te bouwen.

Alles is een Object

Elke bron in Olostep is een object met een unieke identificatie. Of je het nu creëert via de API, SDK, of dashboard — je krijgt een object terug dat je kunt refereren, bijwerken en opvragen.

Enkelvoudige paden / Actiegerichte API

Hoewel we altijd bereid zijn om hard en lang te vechten over de ideologische zuiverheid van objectgeoriënteerd API-ontwerp (een POST op /crawls zou een crawl object moeten creëren, terwijl een GET op /crawls/{crawl_id} je zou moeten helpen dat object op te halen en mogelijk bij te werken — je kunt altijd metadata bijwerken), antwoordt elke collectie ook op zijn enkelvoudige naam: POST /v1/answer gedraagt zich precies zoals POST /v1/answers, GET /v1/scrape/{scrape_id} zoals GET /v1/scrapes/{scrape_id}, en zo verder voor batch, crawl, map, search, schedule, monitor, file en feedback. Het meervoud is de canonieke vorm en degene die in deze referentie wordt gedocumenteerd; het enkelvoud is een alias voor wanneer je in acties denkt in plaats van objecten.

Objecten Kunnen Levenscycli Hebben

Sommige Olostep-objecten volgen de status via een status veld. Dit toestandsmachinepatroon laat je precies weten waar elke bron zich bevindt in zijn levenscyclus.

Batches

Batches hebben twee niveaus van status: de batch zelf en individuele items. Batch Status:
Batch-niveau fouten zijn uiterst zeldzaam. Batches worden bijna altijd voltooid — zelfs als sommige URL’s mislukken, bereikt de batch zelf de completed status. In het zeldzame geval van een catastrofale infrastructuurfout (bijv. LLM-service-uitval tijdens verrijking), kan de batch mislukken. Dit treft minder dan 0,01% van de batches.
Item Status: Elke URL in een batch wordt gevolgd als een individueel item met zijn eigen status: Items kunnen mislukken door:
  • URL is geblokkeerd of retourneert een fout
  • Parser-uitvoer ontbreekt
  • Netwerk-/ophaalproblemen
Mislukte items bevatten een error object met code en message die de fout uitleggen. De batch wordt nog steeds voltooid — controleer de status van elk item bij het verwerken van resultaten.

Crawls

Crawls worden altijd voltooid. Zelfs als een crawl 0 URL’s vindt (door robots.txt blokkering of ongeldige start-URL), zal de crawlstatus completed zijn. Controleer het pages_count veld om resultaten te verifiëren.

Monitors

Monitors zijn langlevende objecten met een rijkere levenscyclus dan eenmalige bronnen:
Het creëren van een monitor retourneert HTTP 202 met status: provisioning. De monitor wordt active zodra de planning zijn getraceerde doelen oplost — poll GET /v1/monitors/:monitor_id of stream provisioning events met ?stream=1. Alleen active monitors kunnen gepauzeerd worden, en alleen paused monitors kunnen hervat worden. Updates retourneren 409 terwijl de monitor nog steeds provisioning is.

Ophaalpatroon

Veel objecten produceren inhoud die later kan worden opgehaald. Het retrieve_id patroon laat je inhoud ophalen zonder opnieuw te verwerken.
Dit patroon wordt gebruikt door:
  • Batch items — Elke verwerkte URL krijgt een retrieve_id
  • Crawl pagina’s — Elke gecrawlde pagina krijgt een retrieve_id
De /v1/retrieve endpoint accepteert de formats parameter om te specificeren welke inhoudstypen moeten worden geretourneerd (html, markdown, json, text).

Webhooks: Gebeurtenisgestuurde Updates

In plaats van te polleren voor statuswijzigingen, configureer webhooks om gebeurtenissen te ontvangen wanneer objecten van status veranderen.

Metadata: Jouw Data Naast de Onze

Voeg aangepaste sleutel-waardeparen toe aan objecten met behulp van metadata. Dit stelt je in staat om Olostep-bronnen te koppelen aan je interne systemen.

Samenvatting