marketplace

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

Send the delivery back, and say what is wrong.

Όλα τα τελικά σημεία marketplace

Πισtoποίηση

Στείλτε ένα κλειδί API ως διακριτικό φορέα (bearer token). Αυτό το τελικό σημείο δεν ορίζει μια συγκεκριμένη άδεια στην προδιαγραφή, οπότε δώστε στο κλειδί σας τα ελάχιστα δυνατά δικαιώματα και ελέγξτε την απόκριση αντί να κάνετε υποθέσεις.

Αυτό το τελικό σημείο δεν δέχεται αναγνωριστικό οργανισμού. Το κλειδί σας προσδιορίζει ήδη τον οργανισμό στον οποίο ανήκει, και η απάντηση περιορίζεται σε αυτόν.

Δοκιμάστε το

Ατικatastήstε ό,τι βρίskεtai μέσα σe γώniaδeς μe τis δikές sas timές, kai to placeholder klεidioύ μe éna klεidi apó ton pinaka ελέgchou sas.

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

Συνδεθήκατε; Η κονσόλα API στον πίνακα ελέγχου σας συμπληρώνει το πραγματικό αναγνωριστικό του οργανισμού σας και το δικό σας κλειδί, και εκτελεί το αίτημα στο ζωντανό API, ώστε να μπορείτε να δείτε την πραγματική απόκριση. Ανοίξτε αυτό το τελικό σημείο στην κονσόλα API

Λεπτομέρειες

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.

Παράμετροι

ΌνομαΤύpοςΥποχρεωτικόΤι είναι
sale_id (path)stringΝαι

Σώμα αίτησης

ΌνομαΤύpοςΥποχρεωτικόΤι είναι
reasonstringΝαιWhat needs changing. Required, and shown to the seller — a rejection they cannot read names nothing, so it produces a second rejection.

Απάντηση

ΌνομαΤύpοςΥποχρεωτικόΤι είναι
idUuidΝαιUUIDv7 identifier — sortable by creation time (docs/02 §8).
stateMarketplaceSaleStateΝαι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_idUuidΝαιUUIDv7 identifier — sortable by creation time (docs/02 §8).
listing_titlestringΝαι
package_namestringΝαι
package_descriptionstringΌχι
vendor_display_namestringΌχιThe seller's public name, never the legal name held for identity checks.
delivery_daysintegerΌχι
revisions_includedintegerΌχι
revision_countintegerΌχι
billing_modeMarketplaceBillingModeΌχι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_intervalobjectΌχι
period_indexintegerΌχι0 for a one-time sale and a subscription's first period; one per renewal.
amount_minorintegerΝαι
currencyCurrencyCodeΝαιISO 4217 currency code (money is minor units + this code — CLAUDE.md §2.8).
auto_acceptsbooleanΌχι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_daysobjectΌχι
accept_byobjectΌχιWhen this purchase auto-accepts if the buyer does nothing.
delivered_atobjectΌχι
accepted_atobjectΌχι
accepted_automaticallybooleanΌχι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_reasonstringΌχι
last_revision_atobjectΌχι
order_idUuidΌχιUUIDv7 identifier — sortable by creation time (docs/02 §8).
created_atstringΌχι

Σφάλματα που μπορεί να επιστρέψει αυτό το τελικό σημείο

401 · 404 · 422