FORMQUOTE / API
異なる商品を、一つの見積もり API で。
三つのデジタルカテゴリは公開カタログ・見積もりに対応し、PCB は操作員認証を維持します。適合性、価格の根拠、次の手順を返し、決済・購入・メール検証・自動納品は実行しません。
OpenAPI 3.1 ↗ · JSON Schema ↗ · Capabilities ↗ · 技術リファレンス全文(中国語) ↗
https://pcba-quote-lab.pages.dev/api/v2エンドポイントとアクセス
GET /api/v2/categories | カテゴリ、フォーム、初期値、リクエストスキーマ。 |
|---|---|
GET /api/v2/catalog | デジタルカタログ。categoryId で絞り込み、pcb は対象外。 |
GET /api/v2/capabilities | 認証、見積もり、取引、納品の実際の対応状況。 |
POST /api/v2/quotes | 統一結果。デジタルは公開、PCB は操作員 Bearer が必要。 |
POST /api/v1/offers | 従来の PCB リクエスト・結果・認証契約は不変。 |
リクエストと例
Content-Type: application/json、UTF-8 本文は最大 32 KiB。数量・仕様・用途のみ受け付け、メールリスト、製造ファイル、フォント、音声は受け付けません。schemaVersion は 1 のままです。例は取引を実行しません。
email_verification
curl 'https://pcba-quote-lab.pages.dev/api/v2/quotes' \
--header 'Content-Type: application/json' \
--data '{
"schemaVersion": 1,
"categoryId": "email_verification",
"specifications": {
"count": 10001
},
"comparisonGoal": "lowest_cash_now"
}'sound_effects
curl 'https://pcba-quote-lab.pages.dev/api/v2/quotes' \
--header 'Content-Type: application/json' \
--data '{
"schemaVersion": 1,
"categoryId": "sound_effects",
"specifications": {
"intent": "ui",
"seats": 1,
"aiUse": false
},
"usageContext": {
"commercialUse": true,
"standaloneResale": false
},
"comparisonGoal": "best_requirement_fit"
}'font_license
curl 'https://pcba-quote-lab.pages.dev/api/v2/quotes' \
--header 'Content-Type: application/json' \
--data '{
"schemaVersion": 1,
"categoryId": "font_license",
"specifications": {
"licenseUse": "web",
"seats": 1,
"websites": 1,
"monthlyPageviews": 10000,
"trafficMetric": "pv",
"termYears": 1
},
"usageContext": {
"medium": "website",
"commercialProjects": 1,
"requiresAllStyles": false
},
"comparisonGoal": "best_requirement_fit"
}'カテゴリごとの入力
メール count は 1~10,000,000。自己申告残高は purchaseContext.creditsBySupplier に指定し、期限切れは無効。音の intent は any/ui/motion/nature/train/kettle、seats は 1~1000、aiUse は素材自体の AI 利用です。フォント licenseUse は web/desktop/both。人数・サイト数・各サイト月間アクセス・pv/uv・年数を個別指定。PV/UV は換算せず、Web 許諾は App・SaaS・ロゴを自動で含みません。厳密な制限は OpenAPI 参照。
共通モデルとカテゴリ固有ルール
Category は入力定義、QuoteRequest は specifications・usageContext・purchaseContext、CatalogItem/Supplier は商品と提供者です。Offer は要件に結果を結び付け、Pricing は金額を区別、PricingEvidence は出典を保持します。RequirementMatch は yes/no/unknown、ComparisonGroup は比較範囲、Fulfillment は実際に可能な次の操作を示します。
価格・通貨・順位
referencePrice は元構成の価格、quotedSubtotal は今回の小計。cashRequiredNow は必要費用が確定した場合のみ、allocatedJobCost は按分で購入額ではありません。recurringCharge は定期費、requestedTermCost は初年度額×年数で代用しません。金額は十進文字列か null。不明を 0 にせず、groups[].offerIds に従い、通貨・周期・PCB 納期をまたいだ最安到着総額を主張しません。
出典と鮮度
published_observed は公開ページの記録、derived_estimate はそれに基づく計算、supplier_live は PCB の顧客向け概算で、最終価格や確約ではありません。generatedAt と出典 checkedAt は別です。再確認期間はメール 7 日、音・フォント 30 日、PCB 最大 5 分。API 再呼び出しで出典日時は更新されません。sourceUrl と不適合理由を保持してください。
結果の状態とエラー
HTTP 200 でも partial/blocked の場合があります。complete/partial/blocked は完全性であり注文状態ではありません。offers、eligibility、supplierErrors、missingInputs と別形式の error.code/message を確認。400 は入力修正、401/403 は PCB 認証・Origin、405/413/415 はメソッド・サイズ・形式。502 で旧概算を代用しません。リクエスト ID は注文番号ではありません。
AI 連携と権限
公開 AI ツールは email_verification、sound_effects、font_license のみを DigitalQuoteRequest で登録してください。PCB は承認済み操作員資格情報が必要で、Origin・認証は不変。顧客や公開 AI に渡さないでください。merchant_checkout/inquiry は販売元ページを開くだけで、購入・送信・許諾成功ではありません。order/payment/automaticFulfillment は無効です。
多言語化と互換性
ページは /zh/、/en/、/ja/、/fr/、/de/ に対応。表示だけが変わり、API パス・フィールド・列挙値は従来どおりです。未宣言の locale を本文に追加しないでください。換算は行わず、販売元の原文出典を明示して保持します。PCB は保持した旧デプロイに依存し、移行検証前に削除できません。