commerce

POST /v1/carts/{cartId}/lines

Add a line to a cart.

모든 commerce 엔드포인트

인증

Bearer 토큰으로 API 키를 전송하세요. 이 엔드포인트는 명세에 특정 권한을 명시하지 않으므로, 가정하기보다는 키에 필요한 최소한의 권한을 부여하고 응답을 확인하세요.

이 엔드포인트는 조직 ID를 받지 않습니다. 사용자의 키가 이미 속한 조직을 식별하며, 응답은 해당 조직으로 한정됩니다.

무료 체험하기

대괄호 안에 있는 모든 내용을 사용자 지정 값으로 바꾸고, 키 플레이스홀더는 대시보드의 키로 바꾸세요.

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 콘솔이 실제 조직 ID와 본인의 키를 자동으로 채우고 라이브 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)UuidThe cart's id.

요청 본문

이름유형필수설명
kindSellableLineKindThe 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, includi…
domain_namestring아니요Required for a domain line.
tldstring아니요Required for a domain line.
period_yearsinteger아니요Required for a register/transfer/renew line.
privacyboolean아니요
auto_renewboolean아니요
availability_tokenstring아니요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**, becaus…
auth_codestring아니요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,…
registrar_routeRegistrationRouteKey아니요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 thi…
plan_version_idUuid | null아니요Required for a `hosting_plan` line — the immutable plan version to bill.
listing_package_idUuid | 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 amoun…
intervalBillingInterval아니요The recurrence a price is quoted for.
regionstring아니요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 mea…
computeComputeLineConfig아니요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 lin…
databaseDatabaseLineConfig아니요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 va…

응답

이름유형필수설명
idUuidUUIDv7 identifier — sortable by creation time (docs/02 §8).
org_idUuidUUIDv7 identifier — sortable by creation time (docs/02 §8).
statusstring<open, checking_out, converted, abandoned, expired>
currencyCurrencyCode | 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_lineobject아니요
linesCartLine[]
subtotalMoneyAmountA money value — integer minor units + an ISO 4217 code (CLAUDE.md §2.8).
discountMoneyAmountA money value — integer minor units + an ISO 4217 code (CLAUDE.md §2.8).
totalMoneyAmountA money value — integer minor units + an ISO 4217 code (CLAUDE.md §2.8).
created_atstring
updated_atstring아니요

이 엔드포인트가 반환할 수 있는 오류

401 · 403 · 404 · 422 · 429