marketplace
POST /v1/marketplace/orders/{sale_id}/requirements
The buyer's brief — and the thing that starts the delivery clock.
인증
Bearer 토큰으로 API 키를 전송하세요. 이 엔드포인트는 명세에 특정 권한을 명시하지 않으므로, 가정하기보다는 키에 필요한 최소한의 권한을 부여하고 응답을 확인하세요.
이 엔드포인트는 조직 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 appl… |
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… |
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 mark… |
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