billing

GET /v1/subscriptions/{subscriptionId}/plan

List the plans this subscription could move to, priced.

Όλα τα τελικά σημεία billing

Όλα τα έγγραφα προγραμματιστών

Πισtoποίηση

Στείλτε ένα κλειδί API ως διακριτικό φορέα (bearer token). Το κλειδί πρέπει να διαθέτει το δικαίωμα billing.view· ένα κλειδί που δεν το διαθέτει απορρίπτεται με 403, όχι 404.

Αυτό το τελικό σημείο δεν δέχεται αναγνωριστικό οργανισμού. Το κλειδί σας προσδιορίζει ήδη τον οργανισμό στον οποίο ανήκει, και η απάντηση περιορίζεται σε αυτόν.

Δοκιμάστε το

Ατικatastήstε ό,τι βρίskεtai μέσα σe γώniaδeς μe τis δikές sas timές, kai to placeholder klεidioύ μe éna klεidi apó ton pinaka ελέgchou sas.

curl -X GET https://api.zinndigital.com/v1/subscriptions/{subscriptionId}/plan \
  -H "Authorization: Bearer zdk_live_…"

Συνδεθήκατε; Η κονσόλα API στον πίνακα ελέγχου σας συμπληρώνει το πραγματικό αναγνωριστικό του οργανισμού σας και το δικό σας κλειδί, και εκτελεί το αίτημα στο ζωντανό API, ώστε να μπορείτε να δείτε την πραγματική απόκριση. Ανοίξτε αυτό το τελικό σημείο στην κονσόλα API

Λεπτομέρειες

The upgrade/downgrade ladder for a subscription the customer already holds — every purchasable plan on the same product line, priced in their own currency and term, each carrying a prorated quote and each refusal already applied. ⚖️ It exists because a customer asked for it and could not find it. He bought a 50-site plan and wanted more slots; the only thing he could find was the buy flow, which would have sold him a second subscription rather than a bigger one. getSitePlanChoices performs the identical read — but it is addressed by a site, and a customer who has bought slots and not filled any of them has none, so that endpoint was not merely hard to find but unaddressable. ⭐ On a subscription that entitles at least one site whose platform a plan change can act on, this is getSitePlanChoices for that site, verbatim — same service, same refusals, same schema — so the two screens can never disagree about what is for sale. Where it entitles none, the package-type refusals (no_package_type, unknown_package_type, platform_mismatch, different_target) cannot arise, because every one of them is a statement about a site's placement. ⛔ blocked_reason and reason are stable codes, never prose — the localised sentence is the client's, in 58 languages. Every money figure is an integer in minor units, and total_minor and credit_minor are two fields rather than one signed number, because a screen that renders a negative total as a charge is a screen that took money for a refund. coverage names the sites drawing on the plan and the slot arithmetic around them, so an upgrade can say what it will move before the customer commits. Its slots_total and slots_free are nullable and null is not zero: a plan stating no allowance is a different fact from one entitling nothing, and slots_unlimited is the third state. 404 for a subscription in another tenant as well as for one that does not exist — a 403 would confirm that an id belongs to somebody. Requires billing.view: this is a price list for the customer's own subscription, and support needs to see it to answer "what would an upgrade cost".

Παράμετροι

ΌνομαΤύpοςΥποχρεωτικόΤι είναι
subscriptionId (path)UuidΝαιThe subscription whose plan is being read or changed.

Απάντηση

ΌνομαΤύpοςΥποχρεωτικόΤι είναι
currentSitePlanOptionΝαιThe plan the site is on now. Null when the site's package type matches no plan in our catalogue, which is a real state and not an error.
optionsSitePlanOption[]ΝαιThe plans the site could move to, each already scored.
changeablebooleanΝαιWhether the surface is open at all for this site.
reasonstringΝαιWhy the whole surface is closed, as a codesubscription_not_live when the governing subscription is cancelled or expired and so is not a sale to change, no_eligible_plan
shared_withintegerΝαιHow many sites OTHER than this one draw on the same plan. Retained for clients written against the old refusal, and now derived from coverage.sites so the count and the list…
coverageSitePlanCoverageΝαιThe sites this plan covers and the slots they use. Null only when the site has no governing subscription to read.

Σφάλματα που μπορεί να επιστρέψει αυτό το τελικό σημείο

401 · 403 · 404 · 422 · 429 · 503