billing

GET /v1/catalog/plan-moves

For a product line I am already on, which plans can I move to?

Všechny koncové body billing

Všechny dokumenty pro vývojáře

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ázevTypPožadovánoCo to je
org_id (query)UuidNeThe organization to answer for. Required when the caller can see billing for more than one; otherwise defaults to theirs.
product_line (query)stringAnoThe product line to build the ladder for.

Odpověď

NázevTypPožadovánoCo to je
currentPlanMoveCurrentAnoThe plan they are on. Null when they hold none on this line, in which case moves is empty — there is nothing to move from.
movesPlanMove[]Ano
handle_site_idstringNeThe site to POST a plan change to. A handle, not a scopechange_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