public
POST /v1/public/cart/{token}/extra
Add one purchasable service (an addon) to an anonymous cart.
Xác thực
Điểm cuối này là công khai. Nó không yêu cầu thông tin xác thực hay tổ chức nào — đây chính là nội dung mà trang web tiếp thị và các công cụ trả lời bằng AI của chúng tôi đọc.
Endpoint này không nhận ID tổ chức. Khóa của bạn đã xác định tổ chức mà nó thuộc về và phản hồi được giới hạn trong phạm vi đó.
Dùng thử
Thay thế bất kỳ nội dung nào trong ngoعل (angle brackets) bằng giá trị của riêng bạn và trình giữ chỗ key bằng một key từ trang tổng quan của bạn.
curl -X POST https://api.zinndigital.com/v1/public/cart/{token}/extra \
-H "Content-Type: application/json" \
-d '{ "code": <string> }'Đã đăng nhập? Bảng điều khiển API trong trang quản lý của bạn sẽ tự điền ID tổ chức thực tế và khóa của riêng bạn, sau đó chạy yêu cầu đối với API trực tiếp để bạn có thể xem phản hồi thực tế. Mở điểm cuối này trong bảng điều khiển API
Chi tiết
Owner ruling 2026-09-09: the order configuration page upsells addons "suitable for the hosting type", and its running total has to match what checkout charges to the minor unit. That second half is what makes an addon a basket LINE rather than a second purchase path — a total including something the basket cannot hold would be a second place that adds money up. The price is computed by the server from the catalogue in the cart's own currency; anything sent by the client is ignored. Which addons this basket may buy is read from its own plan line, never from the request: this endpoint is anonymous, so a caller-supplied product line would put every PBN-only addon one request away from any basket. A basket with no plan in it can buy only the addons sold on every line. 422 covers all three refusals — withdrawn (no fulfilment handler is registered, so we could take the money and run nothing), not sold on this product line, or already in the basket. One of each service per basket.
Tham số
| Tên | Loại | Bắt buộc | Nội dung này là gì |
|---|---|---|---|
token (path) | string | Có | The anonymous cart's opaque bearer token (zgc_…), as returned by createPublicCart. It is a credential — anyone holding it can read and modify the cart — and it travels in… |
Nội dung yêu cầu
| Tên | Loại | Bắt buộc | Nội dung này là gì |
|---|---|---|---|
code | string | Có | The catalogue code of the service being added (managed_migration, site_speedup_standard, …), from OrderConfig.addons. One field, and deliberately no product line beside it:… |
Phản hồi
| Tên | Loại | Bắt buộc | Nội dung này là gì |
|---|---|---|---|
id | Uuid | Có | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
token | string | Không | The bearer token. Returned only from createPublicCart — it is absent on every subsequent read, because only its digest is stored. |
status | string<open, converted, expired> | Có | — |
currency | CurrencyCode | Có | ISO 4217 currency code (money is minor units + this code — CLAUDE.md §2.8). |
product_line | string | Không | — |
expires_at | string | Có | After this the cart is gone — reads 404 whether or not it has been purged. |
items | PublicCartItem[] | Có | — |
totals | PublicCartTotals | Có | Pre-tax totals. Tax appears on the order, once a billing country exists. |
Các lỗi điểm cuối này có thể trả về
404 · 422 · 429