marketplace

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

Send the delivery back, and say what is wrong.

Tüm marketplace uç noktaları

Kimlik Doğrulama

Bir API anahtarını bearer token olarak gönderin. Bu uç nokta, teknik özelliklerde belirli bir yetki belirtmemektedir; bu nedenle, varsaymak yerine anahtarınıza ihtiyaç duyduğu en az yetkiyi verin ve yanıtı kontrol edin.

Bu uç nokta hiçbir organizasyon kimliği almaz. Anahtarınız zaten ait olduğu organizasyonu tanımlar ve yanıt bu organizasyonla sınırlandırılır.

Dene

Köşeli parantez içindeki her şeyi kendi değerlerinizle ve anahtar yer tutucusunu panonuzdan bir anahtarla değiştirin.

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> }'

Oturum açtınız mı? Panonuzdaki API konsolu, gerçek organizasyon kimliğinizi ve kendi anahtarınızı otomatik olarak doldurur ve isteği canlı API üzerinde çalıştırarak gerçek yanıtı görmenizi sağlar. Bu uç noktayı API konsolunda açın

Ayrıntılar

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.

Parametreler

AdTürZorunluNe olduğu
sale_id (path)stringEvet

İstek gövdesi

AdTürZorunluNe olduğu
reasonstringEvetWhat needs changing. Required, and shown to the seller — a rejection they cannot read names nothing, so it produces a second rejection.

Yanıt

AdTürZorunluNe olduğu
idUuidEvetUUIDv7 identifier — sortable by creation time (docs/02 §8).
stateMarketplaceSaleStateEvetWhere 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_idUuidEvetUUIDv7 identifier — sortable by creation time (docs/02 §8).
listing_titlestringEvet
package_namestringEvet
package_descriptionstringHayır
vendor_display_namestringHayırThe seller's public name, never the legal name held for identity checks.
delivery_daysintegerHayır
revisions_includedintegerHayır
revision_countintegerHayır
billing_modeMarketplaceBillingModeHayırHow 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_intervalobjectHayır
period_indexintegerHayır0 for a one-time sale and a subscription's first period; one per renewal.
amount_minorintegerEvet
currencyCurrencyCodeEvetISO 4217 currency code (money is minor units + this code — CLAUDE.md §2.8).
auto_acceptsbooleanHayırRead 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_daysobjectHayır
accept_byobjectHayırWhen this purchase auto-accepts if the buyer does nothing.
delivered_atobjectHayır
accepted_atobjectHayır
accepted_automaticallybooleanHayırWhether 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_reasonstringHayır
last_revision_atobjectHayır
order_idUuidHayırUUIDv7 identifier — sortable by creation time (docs/02 §8).
created_atstringHayır

Bu uç noktanın dönderebileceği hatalar

401 · 404 · 422