billing
GET /v1/catalog/plan-moves
For a product line I am already on, which plans can I move to?
Autentizace
Odešlete klíč API jako bearer token. Tento koncový bod ve specifikaci uvádí specifické oprávnění, takže svému klíči udělte to nejmenší možné a místo předpokladů zkontrolujte odpověď.
Sem patří ID vaší organizace
Tento koncový bod přijímá org_id jako parametr dotazu. Pokud ho vynecháte, volání pokryje celý podstrom vašeho nájemce; jeho odesláním volání zúžíte na jednu organizaci.
ID vaší organizace najdete na obrazovce API klíčů ve vašem přehledu, hned vedle samotného klíče. Je to stále stejné ID v každém volání, které provedete.
Vyzvednout
Nahraďte cokoli v závorkách vlastními hodnotami a zástupný symbol klíče klíčem z vašeho řídicího panelu.
curl -X GET https://api.zinndigital.com/v1/catalog/plan-moves?product_line=<product_line> \
-H "Authorization: Bearer zdk_live_…"Přihlášeni? Konzole API ve vašem dashboardu automaticky doplní vaše skutečné ID organizace i váš vlastní klíč a odešle požadavek na živé API, abyste viděli reálnou odpověď. Otevřete tento koncový bod v konzoli API
Podrobnosti
The ladder from the plan the organization currently holds on one product line — every purchasable tier on that line, marked upgrade, downgrade or current, priced in the organization's own currency and term. It exists because a customer already on a plan is not shopping: offering them the whole catalogue as fresh purchases, the tier they are on included, is what the buy screen must not do. A tier above theirs is an upgrade and a tier below is a downgrade, and only one of those can be refused by what the account already uses. blocked_by is empty when a move is offerable. It is populated only on a downgrade, and only with limits the account is already over — a smaller plan cannot be moved to while seven sites will not fit five slots. Limits that could not be measured are deliberately not reported as blockers: "no evidence" and "over the limit" are different facts, and rendering the first as the second refuses a legitimate downgrade because a stored sample went stale. Direction comes from the catalogue's own ordering, not from price — a promotional price or an annual term can invert the ladder, and a plan with no price in the caller's currency has no direction at all. Price is the tiebreak within one rung. current: null with an empty moves means the organization holds no plan on that line, so there is nothing to move from and the ordinary catalogue applies.
Parametry
| Název | Typ | Požadováno | Co to je |
|---|---|---|---|
org_id (query) | Uuid | Ne | The organization to answer for. Required when the caller can see billing for more than one; otherwise defaults to theirs. |
product_line (query) | string | Ano | The product line to build the ladder for. |
Odpověď
| Název | Typ | Požadováno | Co to je |
|---|---|---|---|
current | PlanMoveCurrent | Ano | The plan they are on. Null when they hold none on this line, in which case moves is empty — there is nothing to move from. |
moves | PlanMove[] | Ano | — |
handle_site_id | string | Ne | The site to POST a plan change to. A handle, not a scope — change_plan applies the new entitlements to every site the subscription entitles, so which one is used changes… |
Chyby, které může tento koncový bod vrátit
401 · 403 · 422