commerce
POST /v1/carts/{cartId}/lines
Add a line to a cart.
Автентифікація
Надішліть ключ API як маркер носія (bearer token). Ця кінцева точка не вказує конкретного дозволу в специфікації, тому надайте своєму ключу мінімально необхідні права та перевірте відповідь, замість того щоб припускати.
Цей кінцевий пункт не потребує ідентифікатора організації. Ваш ключ уже ідентифікує організацію, якій він належить, і відповідь обмежується її межами.
Спробувати
Замініть усе в кутових дужках власними значеннями, а заповнювач ключа — ключем із вашої панелі керування.
curl -X POST https://api.zinndigital.com/v1/carts/{cartId}/lines \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "kind": <SellableLineKind> }'Увійшли в систему? Консоль API у вашій панелі керування автоматично підставляє ваш реальний ідентифікатор організації та ваш власний ключ, а також виконує запит до робочого API, щоб ви могли побачити справжню відповідь. Відкрийте цю кінцеву точку в консолі API
Деталі
Adds a priced line. A hosting_plan line needs a plan_version_id; a domain_register/domain_transfer/domain_renew line needs a domain_name, tld and period_years. The line shape and price are validated + stamped by the server; a bad shape (or a plan version with no price) is a 422.
Параметри
| Назва | Тип | Обов'язкове | Що це таке |
|---|---|---|---|
cartId (path) | Uuid | Так | The cart's id. |
Тіло запиту
| Назва | Тип | Обов'язкове | Що це таке |
|---|---|---|---|
kind | SellableLineKind | Так | The line kinds a cart will accept today — the write-side subset of LineKind. Narrower than LineKind on purpose. LineKind is what a line can be (a read shape, including… |
domain_name | string | Ні | Required for a domain line. |
tld | string | Ні | Required for a domain line. |
period_years | integer | Ні | Required for a register/transfer/renew line. |
privacy | boolean | Ні | — |
auto_renew | boolean | Ні | — |
availability_token | string | Ні | The signed token from searchDomains for this exact name. Optional: an ordinary name prices from the TLD catalogue without one. It is required to buy a premium name, because… |
auth_code | string | Ні | The EPP/authorization code issued by the registrar the domain is currently held at. Required for a domain_transfer line — no registry will initiate a transfer without it, so… |
registrar_route | RegistrationRouteKey | Ні | Which registrar buys the name, on a domain_register or domain_transfer line. Omit it for the organisation's own registrar, which is the behaviour every caller had before this… |
plan_version_id | Uuid | null | Ні | Required for a hosting_plan line — the immutable plan version to bill. |
extra_code | string | Ні | The catalogue code of the service an extra line buys. Required for that kind and meaningless on any other. Which addons a cart may buy is validated against… |
listing_package_id | Uuid | null | Ні | Required for a marketplace_package line — the package on a live listing being bought. The price is the seller's and is re-read on every basket read, so a client-sent amount… |
interval | BillingInterval | Ні | The recurrence a price is quoted for. |
region | string | Ні | The data centre this hosting is bought for — carried onto the resulting subscription and used as the default region for sites created against it (docs/370). Blank or omitted means… |
compute | ComputeLineConfig | Ні | How one machine on a compute_server cart line is built. The values are not trusted from here: the engine re-resolves the whole order against the live vendor before the line… |
database | DatabaseLineConfig | Ні | The managed database a managed_database cart line buys (docs/497 §8). The values are not trusted from here: the engine re-resolves the whole purchase through the same… |
Відповідь
| Назва | Тип | Обов'язкове | Що це таке |
|---|---|---|---|
id | Uuid | Так | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
org_id | Uuid | Так | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
status | string<open, checking_out, converted, abandoned, expired> | Так | — |
currency | CurrencyCode | null | Ні | Fixed when the cart is opened, from CartCreate.currency or the X-Zinn-Currency header, and then locked — every line must match it. Null only on a legacy cart created before… |
product_line | object | Ні | — |
lines | CartLine[] | Так | — |
subtotal | MoneyAmount | Так | A money value — integer minor units + an ISO 4217 code (CLAUDE.md §2.8). |
discount | MoneyAmount | Так | A money value — integer minor units + an ISO 4217 code (CLAUDE.md §2.8). |
total | MoneyAmount | Так | A money value — integer minor units + an ISO 4217 code (CLAUDE.md §2.8). |
created_at | string | Так | — |
updated_at | string | Ні | — |
Помилки, які може повертати ця кінцева точка
401 · 403 · 404 · 422 · 429