公開
契約フォルダを組み立て
複数ファイルの契約 JSON を 1 つの完全検証済みマニフェストへマージ。匿名可。
POST
契約フォルダを組み立て
POST https://api-datahub.octoparse.com/v1/data-apps/contract/assemble
認証:不要。匿名で呼び出し可能。
契約フォルダ(相対パスをキーとするファイルマップ。順序は保持)を 1 つの自己完結型マニフェストにマージする。組み立てルールの唯一の基準となるエンドポイント。ポータルのインポートウィザードと契約 Skill のセルフチェックはどちらもこれを使う。
スロットファイル:dataapp.json / input_schema.json / output_schema.json / runtime.json / pricing.json / examples.json / README.md(ファイル名の大文字・小文字は区別しない。input.schema.json のようなドット区切りの形式も受け付け、picked で正規化される)。料金と例は dataapp.json にインラインで書くこともできる。マージされたマニフェストには作者側の完全な検証がかかる(マニフェスト検証と同じルール)。issues が空のときのみ納品可能。回復可能な異常(ファイル欠落、レイヤー間の名前衝突、無視された契約外ファイル、フォルダ名の不一致など)は構造化された warnings(code + params、表示層でローカライズ)として返り、エラーにはならない。
致命的な失敗(400):スロットファイルが有効な JSON でない、形が誤っている(examples.json は配列、他のスロットはオブジェクトである必要がある)、または 1MB を超える。契約ファイルが 1 つもない。合計サイズが 12MB を超える。契約パスは api 種別のみ対象で、runtime.kind=code は issue になる。
任意の 8 番目のファイル i18n.json({source, locales}、最大 4MB)はマニフェストにマージされない。解析されて translations として返されるので、呼び出し元が翻訳エンドポイントで保存する。source は必須。不正なロケールは 400 になる。source と同じロケールは i18n-locale-is-source でスキップされる。パスレベルの問題は i18n-* 警告として返る。
匿名アクセス可:組み立てはリクエストボディだけから決まる純粋な処理で、プラットフォームのデータを読み書きしない。制限はファイル単位と合計のサイズ上限のみ。
リクエスト
リクエスト body
object
必須
ファイルマップ。キーは相対パス、値はファイルのテキスト。
リクエスト例
レスポンス
200 成功
data に包まれます。フィールド:
object
必須
マージ済みのマニフェストオブジェクト。
string[]
実際に認識されたスロットファイルのマップ。
string
—
object[]
検証の問題。空なら納品可能。
object[]
構造化された警告。
object
解析済みの
i18n.json の内容。存在しない場合は null。エラー
エラー応答は
{"error": {code, category, message, retryable}} です。エラー を参照。