メインコンテンツへスキップ
OlostepのAPIはオブジェクトを中心に設計されています。この設計を理解することで、より効果的な統合を構築できます。この設計はStripeのAPI哲学に触発されています。

すべてがオブジェクト

Olostepのすべてのリソースは、ユニークな識別子を持つオブジェクトです。API、SDK、またはダッシュボードを通じて作成した場合でも、参照、更新、クエリが可能なオブジェクトを取得します。
リソースオブジェクトID形式
Scrapescrape_*scrape_abc123
Batchbatch_*batch_xyz789
Crawlcrawl_*crawl_def456
Mapmap_*map_ghi012
Answeranswer_*answer_jkl345
Filefile_*file_mno678
Scheduleschedule_*schedule_pqr901

オブジェクトにはライフサイクルがある

一部のOlostepオブジェクトはstatusフィールドを通じて状態を追跡します。この状態機械パターンにより、各リソースがライフサイクルのどこにあるかを正確に把握できます。

Batches

バッチには、バッチ自体と個々のアイテムの2つのステータスレベルがあります。 バッチステータス:
in_progress → completed
ステータス説明
in_progressURLがスクレイプされています
completed処理が完了しました
バッチレベルの失敗は非常に稀です。 バッチはほぼ常に完了します。いくつかのURLが失敗しても、バッチ自体はcompletedステータスに達します。大規模なインフラ障害(例:エンリッチメント中のLLMサービスの停止)の場合、バッチが失敗することがあります。これはバッチの0.01%未満に影響します。
アイテムステータス: バッチ内の各URLは、独自のステータスを持つ個別のアイテムとして追跡されます。
ステータス説明
successURLが正常にスクレイプされました
failedURLをスクレイプできませんでした
アイテムが失敗する理由:
  • URLがブロックされているかエラーを返す
  • パーサーの出力が欠落している
  • ネットワーク/フェッチエラー
失敗したアイテムには、失敗を説明するcodemessageを含むerrorオブジェクトが含まれています。バッチは完了しますが、結果を処理する際に各アイテムのステータスを確認してください。

Crawls

in_progress → completed
ステータス説明
in_progressURLを積極的に発見し処理しています
completedクローリングが完了しました
クローリングは常に完了します。 たとえクローリングが0のURLを見つけたとしても(robots.txtによるブロックや無効な開始URLのため)、クローリングステータスはcompletedになります。結果を確認するにはpages_countフィールドを確認してください。

リトリーブパターン

多くのオブジェクトは、後で取得できるコンテンツを生成します。retrieve_idパターンを使用すると、再処理せずにコンテンツを取得できます。
# retrieve_idを使用してコンテンツを取得
curl "https://api.olostep.com/v1/retrieve?retrieve_id=6h89o8u1kt" \
  -H "Authorization: Bearer <your_token>"
このパターンは以下で使用されます:
  • バッチアイテム — 処理された各URLがretrieve_idを取得
  • クローリングページ — クロールされた各ページがretrieve_idを取得
/v1/retrieveエンドポイントは、返すコンテンツタイプを指定するformatsパラメータを受け入れます(htmlmarkdownjsontext)。

Webhooks: イベント駆動の更新

ステータスの変更をポーリングする代わりに、オブジェクトの状態が変わったときにイベントを受け取るためにwebhooksを設定します。
{
  "event": "batch.completed",
  "data": {
    "id": "batch_xyz789",
    "status": "completed",
    "items_total": 100,
    "items_completed": 100
  }
}

メタデータ: あなたのデータを私たちのデータと共に

metadataを使用して、オブジェクトにカスタムのキーと値のペアを添付します。これにより、Olostepリソースを内部システムにリンクできます。
{
  "items": [{"url": "https://example.com"}],
  "metadata": {
    "order_id": "12345",
    "customer": "acme-corp"
  }
}

まとめ

コンセプト説明
オブジェクトすべてのリソースはユニークなIDを持ち、クエリ可能
ライフサイクルstatusフィールドを通じて進捗を追跡
リトリーブretrieve_idで後でコンテンツを取得
Webhooks状態が変わったときに通知を受け取る
メタデータ任意のオブジェクトに独自のデータを添付