commerce

POST /v1/carts/{cartId}/lines

Add a line to a cart.

所有 commerce 端点

所有开发者文档

身份验证

请将 API 密钥作为 bearer 令牌发送。此端点在规范中未指明具体的权限,因此请为您的密钥赋予所需的最小权限,并通过检查响应来确认,而不是盲目假设。

此端点不需要组织 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, including…
domain_namestringRequired for a domain line.
tldstringRequired for a domain line.
period_yearsintegerRequired for a register/transfer/renew line.
privacyboolean
auto_renewboolean
availability_tokenstringThe 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_codestringThe 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_routeRegistrationRouteKeyWhich 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_idUuid | nullRequired for a hosting_plan line — the immutable plan version to bill.
extra_codestringThe 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_idUuid | nullRequired 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…
intervalBillingIntervalThe recurrence a price is quoted for.
regionstringThe 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…
computeComputeLineConfigHow 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…
databaseDatabaseLineConfigThe 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…

响应

名称类型必填内容简介
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 | nullFixed 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