marketplace
POST /v1/marketplace/purchases/{sale_id}/accept
Accept delivery — the act that releases the seller's money.
المصادقة
أرسل مفتاح واجهة برمجة التطبيقات (API) كرمز حامل (bearer token). لا يحدد نقطة النهاية هذه إذنًا محددًا في المواصفات، لذا امنح مفتاحك الحد الأدنى الذي محتاجه وتحقق من الاستجابة بدلاً من الافتراض.
لا يقبل هذا الطرف أي معرف للمؤسسة. يحدد مفتاحك بالفعل المؤسسة التي ينتمي إليها، وتكون الاستجابة محصورة في نطاقها.
جربه الآن
استبدل أي شيء بين أقواس زاوية بقيمك الخاصة، والعنصر النائب للمفتاح بمفتاح من لوحة تحكمك.
curl -X POST https://api.zinndigital.com/v1/marketplace/purchases/{sale_id}/accept \
-H "Authorization: Bearer zdk_live_…"هل سجلت الدخول؟ تقوم وحدة تحكم واجهة برمجة التطبيقات في لوحة التحكم الخاصة بك بربط معرف مؤسستك الحقيقي ومفتاحك الخاص، وتنفذ الطلب مقابل واجهة برمجة التطبيقات المباشرة لتتمكن من رؤية الاستجابة الفعلية. افتح هذه النهاية الطرفية في وحدة تحكم API
التفاصيل
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.
المعلمات
| الاسم | النوع | مطلوب | ما هو هذا |
|---|---|---|---|
sale_id (path) | string | نعم | — |
الاستجابة
| الاسم | النوع | مطلوب | ما هو هذا |
|---|---|---|---|
id | Uuid | نعم | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
state | MarketplaceSaleState | نعم | 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 | نعم | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
listing_title | string | نعم | — |
package_name | string | نعم | — |
package_description | string | لا | — |
vendor_display_name | string | لا | The seller's public name, never the legal name held for identity checks. |
delivery_days | integer | لا | — |
revisions_included | integer | لا | — |
revision_count | integer | لا | — |
billing_mode | MarketplaceBillingMode | لا | 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 | لا | — |
period_index | integer | لا | 0 for a one-time sale and a subscription's first period; one per renewal. |
amount_minor | integer | نعم | — |
currency | CurrencyCode | نعم | ISO 4217 currency code (money is minor units + this code — CLAUDE.md §2.8). |
auto_accepts | boolean | لا | 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 | لا | — |
accept_by | object | لا | When this purchase auto-accepts if the buyer does nothing. |
delivered_at | object | لا | — |
accepted_at | object | لا | — |
accepted_automatically | boolean | لا | 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 | لا | — |
last_revision_at | object | لا | — |
order_id | Uuid | لا | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
created_at | string | لا | — |
الأخطاء التي يمكن أن تُرجعها نقطة النهاية هذه
401 · 404 · 422