marketplace

POST /v1/marketplace/purchases/{sale_id}/revision

Send the delivery back, and say what is wrong.

Barcha marketplace yakuniy nuqtalari

Autentifikatsiya

API kalitini bearer token sifatida yuboring. Ushbu yakuniy nuqta spetsifikatsiyada ma'lum bir ruxsatni ko'rsatmaydi, shuning uchun kalitingizga eng kam kerakli huquqni bering va taxmin qilish o'rniga javobni tekshiring.

Bu yakuniy nuqta hech qanday tashkilot identifikatorini qabul qilmaydi. Sizning kalitingiz unga tegishli tashkilotni allaqachon aniqlaydi va javob shunga qarab cheklanadi.

Sinab ko'rish

Qavslardagi har qanday narsani o'z qiymatlaringiz bilan, kalit pleysxolderini эsa boshqaruv panelingizdagi kalit bilan almashtiring.

curl -X POST https://api.zinndigital.com/v1/marketplace/purchases/{sale_id}/revision \
  -H "Authorization: Bearer zdk_live_…" \
  -H "Content-Type: application/json" \
  -d '{ "reason": <string> }'

Tizimga kirganmisiz? Boshqaruv panelingizdagi API konsoli haqiqiy tashkilot ID raqamingiz va shaxsiy kalitingizni avtomatik to'ldiradi hamda haqiqiy javobni ko'rishingiz uchun so'rovni jonli API orqali bajaradi. Ushbu yakuniy nuqtani API konsolida oching

Tafsilotlar

docs/82 §3. Not accepting is a **first-class path**, not an error state, and it **pauses the acceptance clock** — so a seller cannot run the timer out by stalling, and a buyer who did engage is never auto-accepted for a delivery they rejected. The reason is required and becomes part of the order record, visible to the seller: a rejection they cannot read is an instruction to change something unnamed, which produces a second rejection. Bounded by the package's `revisions_included`, which is a term the buyer paid for rather than an unlimited entitlement — exceeding it points at a dispute, which has staff in it. A package promising **zero** revisions still allows the first request, because the alternative to it is a chargeback.

Parametrlar

NomiTuriMajburiyNima bu
sale_id (path)stringHa

Soʻrov tanasi

NomiTuriMajburiyNima bu
reasonstringHaWhat needs changing. Required, and shown to the seller — a rejection they cannot read names nothing, so it produces a second rejection.

Javob

NomiTuriMajburiyNima bu
idUuidHaUUIDv7 identifier — sortable by creation time (docs/02 §8).
stateMarketplaceSaleStateHaWhere 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_idUuidHaUUIDv7 identifier — sortable by creation time (docs/02 §8).
listing_titlestringHa
package_namestringHa
package_descriptionstringYo'q
vendor_display_namestringYo'qThe seller's public name, never the legal name held for identity checks.
delivery_daysintegerYo'q
revisions_includedintegerYo'q
revision_countintegerYo'q
billing_modeMarketplaceBillingModeYo'qHow 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_intervalobjectYo'q
period_indexintegerYo'q0 for a one-time sale and a subscription's first period; one per renewal.
amount_minorintegerHa
currencyCurrencyCodeHaISO 4217 currency code (money is minor units + this code — CLAUDE.md §2.8).
auto_acceptsbooleanYo'qRead 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_daysobjectYo'q
accept_byobjectYo'qWhen this purchase auto-accepts if the buyer does nothing.
delivered_atobjectYo'q
accepted_atobjectYo'q
accepted_automaticallybooleanYo'qWhether 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_reasonstringYo'q
last_revision_atobjectYo'q
order_idUuidYo'qUUIDv7 identifier — sortable by creation time (docs/02 §8).
created_atstringYo'q

Ushbu yakuniy nuqta qaytarishi mumkin bo'lgan xatolar

401 · 404 · 422