Skip to main content
Olostep 的 API 是围绕对象设计的。理解这种设计可以帮助你构建更有效的集成。

一切都是对象

Olostep 中的每个资源都是一个具有唯一标识符的对象。无论你通过 API、SDK 还是仪表板创建它,你都会得到一个可以引用、更新和查询的对象。

对象可以有生命周期

一些 Olostep 对象通过 status 字段跟踪状态。这种状态机模式让你确切知道每个资源在其生命周期中的位置。

批次

批次有两个级别的状态:批次本身和单个项目 批次状态:
批次级别的失败极为罕见。 批次几乎总是完成的——即使某些 URL 失败,批次本身也会达到 completed 状态。在极少数情况下,基础设施出现灾难性故障(例如,在丰富过程中 LLM 服务中断),批次可能会失败。这影响不到 0.01% 的批次。
项目状态: 批次中的每个 URL 都被跟踪为一个具有自身状态的单独项目: 项目可能因以下原因失败:
  • URL 被阻止或返回错误
  • 解析器输出缺失
  • 网络/获取错误
失败的项目包含一个带有 codemessageerror 对象来解释失败原因。批次仍然会完成——在处理结果时检查每个项目的状态。

爬网

爬网总是完成的。 即使爬网找到 0 个 URL(由于 robots.txt 阻止或起始 URL 无效),爬网状态也将是 completed。检查 pages_count 字段以验证结果。

监控器

监控器是具有比一次性资源更丰富生命周期的长寿命对象:
创建监控器返回 HTTP 202,状态为 provisioning。一旦计划解决其跟踪目标,监控器将变为 active——轮询 GET /v1/monitors/:monitor_id 或使用 ?stream=1 流式传输设置事件。只有 active 的监控器可以暂停,只有 paused 的监控器可以恢复。更新在监控器仍然 provisioning 时返回 409

检索模式

许多对象生成的内容可以稍后检索。retrieve_id 模式允许你在不重新处理的情况下获取内容。
此模式用于:
  • 批次项目 — 每个处理的 URL 都会获得一个 retrieve_id
  • 爬网页面 — 每个爬网页面都获得一个 retrieve_id
/v1/retrieve 端点接受 formats 参数以指定返回哪些内容类型(htmlmarkdownjsontext)。

Webhooks:事件驱动的更新

与其轮询状态变化,不如配置 webhooks 以在对象状态更改时接收事件。

元数据:你的数据与我们的数据一起

使用 metadata 将自定义键值对附加到对象。这让你可以将 Olostep 资源链接到你的内部系统。

总结