catalog
GET /v1/catalog/app/plans
List the plans a signed-in customer may buy, including unadvertised ones.
認証
ベアラー トークンとして API キーを送信します。このエンドポイントでは仕様に特定の権限が記載されていないため、キーに必要な最小限の権限を付与し、推測するのではなくレスポンスを確認してください。
このエンドポイントは組織IDを受け付けません。お使いのキーによって所属する組織がすでに特定されており、レスポンスはその組織にスコープされます。
試してみる
アングルブラケット内のすべてをご自身の値に置き換え、キーのプレースホルダーをご利用中のダッシュボードのキーに置き換えてください。
curl -X GET https://api.zinndigital.com/v1/catalog/app/plans \
-H "Authorization: Bearer zdk_live_…"ログインしていますか?ダッシュボード内のAPIコンソールでは、実際の組織IDやお客様ご自身のキーが自動入力され、ライブAPIに対してリクエストが実行されるため、実際のレスポンスを確認することができます。 API コンソールでこのエンドポイントを開く
詳細
Identical to listCatalogPlans — same shape, same multi-currency prices array, same plan_version_id purchase path — plus the plans on in-app-only lines. This is the endpoint the dashboard reads to offer email on an external domain. The purchase path is unchanged: POST /v1/carts → POST /v1/carts/{cartId}/lines with {kind: hosting_plan, plan_version_id, metadata: {interval}} → checkout. ⛔ The in-app-only exclusion on the public endpoint is applied even when product_line names the hidden line — naming a thing is not authorisation to see it, and that parameter arrives from an untrusted query string. A reseller's client is quoted the reseller's prices — the reseller's own price for the plan where they set one, otherwise list plus their default markup — which is exactly what the cart charges. The public listCatalogPlans never does this: it is anonymous and shared-cached. The dashboard's checkout reads this endpoint for that reason.
パラメータ
| 名前 | タイプ | 必須 | これがその内容です |
|---|---|---|---|
product_line (query) | string | いいえ | Restrict to one product line by its code (e.g. mail). Unknown code → empty list. |
currency (query) | string | いいえ | Narrow each plan's prices array to a single ISO 4217 currency, exactly as on listCatalogPlans. Omitted, every currency is returned. |
返信
| 名前 | タイプ | 必須 | これがその内容です |
|---|---|---|---|
data | CatalogPlan[] | はい | — |
このエンドポイントが返すエラー
401 · 422 · 429