marketplace
POST /v1/marketplace/orders/{sale_id}/requirements
The buyer's brief — and the thing that starts the delivery clock.
Autentikasi
Kirimkan kunci API sebagai token bearer. Titik akhir ini tidak menyatakan izin tertentu dalam spesifikasi, jadi berikan kunci Anda izin minimum yang diperlukan dan periksa responsnya alih-alih berasumsi.
Endpoint ini tidak memerlukan id organisasi. Kunci Anda telah mengidentifikasi organisasi tempatnya berafiliasi, dan respons akan dibatasi untuk organisasi tersebut.
Coba
Ganti apa pun di dalam tanda kurung sudut dengan nilai Anda sendiri, dan placeholder kunci dengan kunci dari dasbor Anda.
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> }'Sudah masuk? Konsol API di dasbor Anda akan mengisi ID organisasi asli dan kunci Anda sendiri, serta menjalankan permintaan terhadap API langsung sehingga Anda dapat melihat respons aktualnya. Buka titik akhir ini di konsol API
Detail
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.
Parameter
| Nama | Jenis | Wajib | Tentang apa ini |
|---|---|---|---|
sale_id (path) | string | Ya | — |
Isi permintaan
| Nama | Jenis | Wajib | Tentang apa ini |
|---|---|---|---|
requirements | object | Ya | Answer per question key, validated against the frozen schema. |
Tanggapan
| Nama | Jenis | Wajib | Tentang apa ini |
|---|---|---|---|
sale_id | string | Ya | — |
state | string | Ya | — |
archetype | MarketplaceOrderArchetype | Ya | 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 | Tidak | — |
package_name | string | Tidak | — |
turn | MarketplaceOrderTurn | Ya | 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 | Ya | What the order is waiting FOR — the half that makes `turn` actionable. |
is_yours | boolean | Tidak | Whether the caller is the party being waited on. |
is_buyer | boolean | Ya | — |
deadline | string | Tidak | The clock that is actually running, or null when none is. |
paused | boolean | Tidak | 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 | Tidak | 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 | Tidak | — |
handover_required | integer | Tidak | — |
outstanding | string[] | Tidak | Question keys the buyer still owes. |
revisions_used | integer | Tidak | — |
revisions_included | integer | Tidak | — |
delivery_due_at | string | Tidak | — |
currency | string | Tidak | — |
gross_minor | integer | Tidak | Integer minor units. Money is never a float. |
commission_minor | integer | Tidak | 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 | Tidak | What we owe the seller — a trade payable, not money held on trust. |
requirements_schema | object[] | Tidak | The questions AS ASKED, frozen at purchase. A seller who rewrites their questions tomorrow cannot change what this buyer was asked. |
requirements | object | Tidak | The buyer's answers, in the same `{key: {v: …}}` envelope. |
requirements_submitted_at | string | Tidak | — |
handover_items | MarketplaceHandoverItem[] | Tidak | — |
last_revision_reason | string | Tidak | — |
Kesalahan yang dapat dikembalikan oleh titik akhir ini
401 · 404 · 422