public

POST /v1/public/cart/{token}/plan

Add a hosting plan, or a free trial of one, to an anonymous cart.

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

Πισtoποίηση

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

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

Δοκιμάστε το

Ατικ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 POST https://api.zinndigital.com/v1/public/cart/{token}/plan \
  -H "Content-Type: application/json" \
  -d '{ "plan_version_id": <string>, "interval": <string<monthly, annual>> }'

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

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

Owner ruling D-W15-2: hosting, free trials and domains go through ONE public checkout, so a visitor never has to sign up in the app before they can buy. The price is computed by the server from the pinned plan VERSION in the cart's own currency; anything sent by the client is ignored. A basket holds one plan at a time, because a subscription governs the org rather than a line. `trial: true` prices the line at **zero** and is refused (`422`) on a plan that does not offer a trial — eligibility is read from the catalogue, never taken on trust.

Παράμετροι

ΌνομαΤύpοςΥποχρεωτικόΤι είναι
token (path)stringΝαιThe anonymous cart's opaque bearer token (`zgc_…`), as returned by `createPublicCart`. **It is a credential** — anyone holding it can read and modify the cart — and it travels i…

Σώμα αίτησης

ΌνομαΤύpοςΥποχρεωτικόΤι είναι
plan_version_idstringΝαιThe immutable plan VERSION being bought. Pinning the version rather than the plan is what stops a catalogue edit repricing a basket somebody is part-way through.
intervalstring<monthly, annual>Ναι
domainPublicCartPlanDomainΌχιWhich domain this hosting is for. **Optional** — "I will decide later" is a real and common answer, and refusing it would put a wall in front of the purchase this field exists t…
trialbooleanΌχιStart a free trial of this plan instead of buying it. The line prices at zero and the order completes with no payment step (owner ruling 2026-08-09 — a trial takes no card and s…

Απάντηση

ΌνομαΤύpοςΥποχρεωτικόΤι είναι
idUuidΝαιUUIDv7 identifier — sortable by creation time (docs/02 §8).
tokenstringΌχιThe bearer token. Returned **only** from `createPublicCart` — it is absent on every subsequent read, because only its digest is stored.
statusstring<open, converted, expired>Ναι
currencyCurrencyCodeΝαιISO 4217 currency code (money is minor units + this code — CLAUDE.md §2.8).
product_linestringΌχι
expires_atstringΝαιAfter this the cart is gone — reads 404 whether or not it has been purged.
itemsPublicCartItem[]Ναι
totalsPublicCartTotalsΝαιPre-tax totals. Tax appears on the order, once a billing country exists.

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

404 · 422 · 429