public
GET /v1/public/order/config/{planCode}
Everything a buyer configures for one plan, in one call.
Автентифікація
Ця кінцева точка є публічною. Вона не потребує жодних облікових даних чи організації — це те, що читають наш власний маркетинговий сайт та пошукові системи на основі штучного інтелекту.
Цей кінцевий пункт не потребує ідентифікатора організації. Ваш ключ уже ідентифікує організацію, якій він належить, і відповідь обмежується її межами.
Спробувати
Замініть усе в кутових дужках власними значеннями, а заповнювач ключа — ключем із вашої панелі керування.
curl -X GET https://api.zinndigital.com/v1/public/order/config/{planCode}Увійшли в систему? Консоль API у вашій панелі керування автоматично підставляє ваш реальний ідентифікатор організації та ваш власний ключ, а також виконує запит до робочого API, щоб ви могли побачити справжню відповідь. Відкрийте цю кінцеву точку в консолі API
Деталі
Owner ruling 2026-09-09, on a competitor's order flow: "when you buy something it has a clear config page for that hosting where all the options reside nice and neatly including the domain and things … we should have these config pages in full too inside our app, so you select the hosting type then they config for it both public and in the app". One call by design, not as an optimisation. A configuration page assembled from five endpoints renders in five stages, and the two that matter most — the free-domain allowance and the eligible addons — would arrive last, after the visitor has already decided. Everything here is derived from live rows: the terms and their saving are the plan's own two prices subtracted, default_interval is the cheapest per month rather than a literal, the free-domain allowance and its TLDs are the included_domains entitlement, the regions come from the activated data centres for this product line (empty on Footprint-Free by owner ruling), and the addons are the extras Extra.is_eligible_for admits on this line. A choice the platform cannot apply is deliberately absent. There is no PHP-version option: measured on the live catalogue, no plan carries a PHP entitlement — PHP is chosen per site after provisioning — so a picker here would be a control that changes nothing. Lines the owner ruled sellable only inside the app are not served here; the signed-in console reads the same shape from getOrderConfig.
Параметри
| Назва | Тип | Обов'язкове | Що це таке |
|---|---|---|---|
planCode (path) | string | Так | The catalogue code of the plan being configured (pbn_5, …). |
currency (query) | string | Ні | ISO-4217 code to price this response in — the same assertion X-Zinn-Currency makes, in a form a caller that cannot send custom headers can use. The public funnel is exactly that… |
Відповідь
| Назва | Тип | Обов'язкове | Що це таке |
|---|---|---|---|
plan_code | string | Так | — |
plan_name | string | Так | — |
plan_id | string | Так | The plan's stable identity — what a URL or an analytics event refers to. |
plan_version_id | string | Так | The purchasable identifier: what a hosting_plan cart line pins. Not plan_id — a price change mints a new version rather than mutating the sold one, so this value changes… |
plan_version | integer | Так | — |
product_line | string | Так | — |
product_line_name | string | Так | The line's display name from the engine's one source table, so a client never has to render a raw code to a customer. |
currency | string | Так | What everything on this payload is priced in. It may differ from the currency asked for: a currency with no derived price row yet falls back to USD and says so here rather… |
terms | OrderTerm[] | Так | Cheapest per month first, which is what default_interval names. |
default_interval | string | Так | The cadence to select on first render — derived as the cheapest per month rather than typed beside the price table. A typed default is a comment that happens to run: correct… |
trial_days | object | Так | The free trial this plan offers, or null for none. A trial takes no card and starts immediately, so the button beneath the configuration has to say "start trial" rather than… |
included_domains | integer | Так | How many domain registrations the plan includes free — the "use the free domain this plan includes" branch. 0 is the common case: render that branch only when the allowance is… |
included_domain_tlds | string[] | Так | Which extensions the free registration may be spent on. Empty alongside a non-zero included_domains means the plan grants any offered TLD. |
domain_term_years | integer[] | Так | — |
regions | OrderRegion[] | Так | The data centres a site on this plan may be created in. Empty is a real answer — the Footprint-Free line offers no region by owner ruling, because a PBN customer is… |
spec | OrderSpecItem[] | Так | The read-only "what is included" panel, ordered for display. Not a filtered allow-list: every resolved entitlement appears, so a capability added to the catalogue tomorrow is… |
addons | OrderAddon[] | Так | The services offered on this product line and deliverable today — a PBN addon never appears on a mainstream plan, and an addon whose fulfilment handler has been withdrawn… |
Помилки, які може повертати ця кінцева точка
404 · 429