Seller / Product / File Flow
販売者向けQuickstart
closed betaで、first-party software license の商品作成、ファイル配布、test checkout、buyer downloadまで進める実装順です。seller/admin APIには verified Firebase bearer token が必要です。
- seller application
POST /v1/sellersで販売者申請を作成します。platform review前提です。 - Stripe Connect onboarding
POST /v1/sellers/stripe/account-linkで hosted onboarding link を作ります。closed betaはStripe test modeです。 - product draft
POST /v1/productsで first-party software license の商品ドラフトを作成します。 - submit review
POST /v1/products/{product_id}/submit-reviewでadmin reviewに出します。sellerは自己承認できません。 - file upload intent
POST /v1/products/{product_id}/files/upload-intentで短命のprivate upload URLとPUT headersを受け取ります。 - PUT to private storage返されたURLへファイルをPUTします。presigned URLやR2 keyをログ・共有メモに残しません。
- finalize
POST /v1/products/{product_id}/files/{file_id}/finalizeでhash verificationに進めます。finalizeだけでは公開されません。 - manual clean / admin approvaladminがtrusted clean evidenceを確認し、approve後にbuyer-visibleになります。
- test checkoutapproved seller/product で test Checkout を作成します。payment確定後にlicense allocationされます。
- buyer completion / downloadcompletion tokenで購入完了を確認し、download intentからshort-lived private GET URLを受け取ります。
Download Gate
buyer downloadは常にprivate gateを通す
1completion token
URL fragmentで受け取ります。query stringには置きません。
2download-intent
valid completion token と entitlement を確認します。
3file gate
approved / buyer-visible / hash-verified / trusted-clean を確認します。
4short-lived GET URL
private objectへの短命URLだけを返します。永久公開URLは使いません。