marketplace

POST /v1/marketplace/orders/{sale_id}/requirements

The buyer's brief — and the thing that starts the delivery clock.

所有 marketplace 端点

身份验证

请将 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

请求正文

名称类型必填内容简介
requirementsobjectAnswer per question key, validated against the frozen schema.

响应

名称类型必填内容简介
sale_idstring
statestring
archetypeMarketplaceOrderArchetypeHow 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 appl…
listing_titlestring
package_namestring
turnMarketplaceOrderTurnWhose 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…
waiting_onMarketplaceOrderWaitingOnWhat the order is waiting FOR — the half that makes `turn` actionable.
is_yoursbooleanWhether the caller is the party being waited on.
is_buyerboolean
deadlinestringThe clock that is actually running, or null when none is.
pausedbooleanA 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.
overduebooleanNever 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_confirmedinteger
handover_requiredinteger
outstandingstring[]Question keys the buyer still owes.
revisions_usedinteger
revisions_includedinteger
delivery_due_atstring
currencystring
gross_minorintegerInteger minor units. Money is never a float.
commission_minorintegerThe 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 mark…
vendor_net_minorintegerWhat we owe the seller — a trade payable, not money held on trust.
requirements_schemaobject[]The questions AS ASKED, frozen at purchase. A seller who rewrites their questions tomorrow cannot change what this buyer was asked.
requirementsobjectThe buyer's answers, in the same `{key: {v: …}}` envelope.
requirements_submitted_atstring
handover_itemsMarketplaceHandoverItem[]
last_revision_reasonstring

此端点可能返回的错误

401 · 404 · 422