marketplace
POST /v1/marketplace/orders/{sale_id}/requirements
The buyer's brief — and the thing that starts the delivery clock.
身份验证
请将 API 密钥作为 bearer 令牌发送。此端点在规范中未指明具体的权限,因此请为您的密钥赋予所需的最小权限,并通过检查响应来确认,而不是盲目假设。
此端点不需要组织 ID。您的密钥已用于识别其所属的组织,且响应范围也仅限于该组织。
免费试用
将尖括号中的内容替换为您自己的值,并将键占位符替换为您仪表板中的一个键。
curl -X POST https://api.zinndigital.com/v1/marketplace/orders/{sale_id}/requirements \
-H "Authorization: Bearer zdk_live_…" \
-H "Content-Type: application/json" \
-d '{ "requirements": <object> }'已登录?您仪表板中的 API 控制台会自动填入您真实的组织 ID 和您自己的密钥,并针对实时 API 运行请求,以便您查看实际的响应。 在 API 控制台中打开此端点
详细信息
docs/147 §2. A paid order used to arrive carrying a package name and nothing else: the seller could not start, the clock was running, and there was no channel to ask. Submitting is what starts the delivery clock. Until this call the seller's deadline does not exist, so the days a buyer spends writing their brief are never billed against the seller's deadline and a seller is never late for work they could not begin. The questions come from the order's own frozen requirements_schema — a snapshot taken at purchase, so a seller who rewrites their questions tomorrow cannot change what this buyer was asked. Buyer only. A seller gets a 404, the same way acceptance is the buyer's act alone.
参数
| 名称 | 类型 | 必填 | 内容简介 |
|---|---|---|---|
sale_id (path) | string | 是 | — |
请求正文
| 名称 | 类型 | 必填 | 内容简介 |
|---|---|---|---|
requirements | object | 是 | Answer per question key, validated against the frozen schema. |
响应
| 名称 | 类型 | 必填 | 内容简介 |
|---|---|---|---|
sale_id | string | 是 | — |
state | string | 是 | — |
archetype | MarketplaceOrderArchetype | 是 | How this order behaves. Adding a CATEGORY is configuration; adding an ARCHETYPE is a build. Every order-side decision — whether a delivery clock exists, whether auto-accept… |
listing_title | string | 否 | — |
package_name | string | 否 | — |
turn | MarketplaceOrderTurn | 是 | Whose move it is. staff is a real answer, not a fallback: a disputed order is genuinely waiting on us, and telling a buyer "waiting for the seller" while a moderator holds it is… |
waiting_on | MarketplaceOrderWaitingOn | 是 | What the order is waiting FOR — the half that makes turn actionable. |
is_yours | boolean | 否 | Whether the caller is the party being waited on. |
is_buyer | boolean | 是 | — |
deadline | string | 否 | The clock that is actually running, or null when none is. |
paused | boolean | 否 | A clock EXISTS but is stopped — the revision pause. Distinct from a null deadline, which also covers an order that never had a clock at all. |
overdue | boolean | 否 | Never true while delivery_due_at is null: null means the clock has not started, which is exactly the state of an order whose buyer has not written their brief yet. |
handover_confirmed | integer | 否 | — |
handover_required | integer | 否 | — |
outstanding | string[] | 否 | Question keys the buyer still owes. |
revisions_used | integer | 否 | — |
revisions_included | integer | 否 | — |
delivery_due_at | string | 否 | — |
currency | string | 否 | — |
gross_minor | integer | 否 | Integer minor units. Money is never a float. |
commission_minor | integer | 否 | The platform's commission, as its own figure. Present for the SELLER and null for the buyer — to a buyer the price is the price. The platform is merchant of record on every… |
vendor_net_minor | integer | 否 | What we owe the seller — a trade payable, not money held on trust. |
requirements_schema | object[] | 否 | The questions AS ASKED, frozen at purchase. A seller who rewrites their questions tomorrow cannot change what this buyer was asked. |
requirements | object | 否 | The buyer's answers, in the same {key: {v: …}} envelope. |
requirements_submitted_at | string | 否 | — |
handover_items | MarketplaceHandoverItem[] | 否 | — |
last_revision_reason | string | 否 | — |
此端点可能返回的错误
401 · 404 · 422