public
POST /v1/public/checkout
Check out as a guest — create the account and place the order.
Autentizace
Tento koncový bod je veřejný. Nevyžaduje žádná pověření ani organizaci – je to to, co čte náš vlastní marketingový web a naše AI vyhledávače.
Tento koncový bod nevyžaduje žádné ID organizace. Váš klíč již identifikuje organizaci, ke které patří, a odpověď je na ni omezena.
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 POST https://api.zinndigital.com/v1/public/checkout \
-H "Content-Type: application/json" \
-d '{ "cart_token": <string>, "email": <string>, "billing": <PublicBilling> }'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
Converts an anonymous cart into a real tenant: it **creates the organization and the user at this point**, captures the billing details, and places an immutable order. Availability is **re-verified live** against the registrar first, so a name taken while the customer was typing aborts the whole call (`409`) with nothing created. Tax is computed against `billing.country` (§2.8). **It never takes a card, and what it does next depends entirely on the total.** The response is `{order_id, org_id, next}`: - `"payment"` — the order has something to pay and is left `pending_payment`. Taking payment is the authenticated step that follows, because a brand-new organization has no payment mandate on file. - `"done"` — the total is **zero** (a free trial, a zero-priced plan, a 100% discount), so the order is **settled and provisioned inside this call**: a zero `Payment` is recorded, the order becomes `paid`, and the fulfilment workflow starts. No gateway is contacted — a brand-new organization has none to resolve, and there is nothing to charge. Owner ruling 2026-08-09: *a free trial takes no card and starts immediately.* ⛔ Between that ruling and 2026-08-12 this endpoint answered `"done"` and performed **none** of it — the order stayed `pending_payment` with no payment, no fulfilment and no workflow, so the customer was told their trial had started and no site was ever built. Anything that keys off `next` should key off it alone; the order state now follows it. **Idempotent on the cart.** A double-submit — concurrent or an hour later — produces one organization, one user and one order; the repeat returns the same ids. There is no `Idempotency-Key` header to send: the cart token *is* the key. If the email already has an account the call is refused with `409` and nothing is created: the purchase must be completed signed in, so that an unauthenticated request can never attach an order to somebody else's tenant. The cart stays open.
Tělo požadavku
| Název | Typ | Požadováno | Co to je |
|---|---|---|---|
cart_token | string | Ano | — |
email | string | Ano | — |
password | string | Ne | Optional. Omit it and the account is created without a credential, so the customer sets one through the identity provider's own verified flow — which is the safer default, becau… |
name | string | Ne | — |
locale | string | Ne | — |
billing | PublicBilling | Ano | The buyer block. Only `country` is required, because tax is country- and currency-aware and an order with no jurisdiction has no determinable tax; the rest can be completed late… |
attribution | object | Ne | — |
Odpověď
| Název | Typ | Požadováno | Co to je |
|---|---|---|---|
order_id | Uuid | Ano | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
org_id | Uuid | Ano | The organization created by this call — the customer's new tenant. |
next | string<payment, done> | Ano | What the client should do next. `payment` — the order exists and is `pending_payment`; nothing has been charged. `done` — the order totals **zero** and there is nothing to charg… |
Chyby, které může tento koncový bod vrátit
404 · 409 · 422 · 429 · 503