marketplace
POST /v1/marketplace/purchases/{sale_id}/accept
Accept delivery — the act that releases the seller's money.
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/purchases/{sale_id}/accept \
-H "Authorization: Bearer zdk_live_…"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/82 §3. The buyer's **explicit act**, and it is FINAL: it ends the refund window and releases the vendor's payout. The warning belongs on the client, before the button is pressed — an endpoint cannot warn anybody. Answers **200** on a replay as well as on the first call. The buyer's click and the auto-accept timer genuinely race, so acceptance converges rather than raising: a retried request from a client that already succeeded is not an error to that client, and the payable is released exactly once regardless. Scoped to the BUYER's org. A seller reaching for their own sale here gets a 404 — acceptance is the buyer's act alone, and a vendor who could press it would be paying themselves.
Parameter
| Nama | Jenis | Wajib | Tentang apa ini |
|---|---|---|---|
sale_id (path) | string | Ya | — |
Tanggapan
| Nama | Jenis | Wajib | Tentang apa ini |
|---|---|---|---|
id | Uuid | Ya | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
state | MarketplaceSaleState | Ya | Where one purchased package is in its life (docs/82 §3). The terminal state is `accepted`, not `delivered`: delivery is the vendor's claim, acceptance is the buyer's act, and it… |
listing_id | Uuid | Ya | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
listing_title | string | Ya | — |
package_name | string | Ya | — |
package_description | string | Tidak | — |
vendor_display_name | string | Tidak | The seller's public name, never the legal name held for identity checks. |
delivery_days | integer | Tidak | — |
revisions_included | integer | Tidak | — |
revision_count | integer | Tidak | — |
billing_mode | MarketplaceBillingMode | Tidak | How an offer is charged (docs/82 §2a). A property of the OFFER, chosen by the seller from what the listing type permits — a $200 one-off audit and $150/month of link building si… |
billing_interval | object | Tidak | — |
period_index | integer | Tidak | 0 for a one-time sale and a subscription's first period; one per renewal. |
amount_minor | integer | Ya | — |
currency | CurrencyCode | Ya | ISO 4217 currency code (money is minor units + this code — CLAUDE.md §2.8). |
auto_accepts | boolean | Tidak | Read this BEFORE `accept_by`. A null `accept_by` means two completely different things — not delivered yet, or this type never auto-accepts at all (an asset sale releasing on a… |
auto_accept_days | object | Tidak | — |
accept_by | object | Tidak | When this purchase auto-accepts if the buyer does nothing. |
delivered_at | object | Tidak | — |
accepted_at | object | Tidak | — |
accepted_automatically | boolean | Tidak | Whether the timer accepted this rather than the buyer. It does NOT change the outcome — auto-accept has the same finality as the button, which is why the buyer must be warned be… |
last_revision_reason | string | Tidak | — |
last_revision_at | object | Tidak | — |
order_id | Uuid | Tidak | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
created_at | string | Tidak | — |
Kesalahan yang dapat dikembalikan oleh titik akhir ini
401 · 404 · 422