marketplace

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

Send the delivery back, and say what is wrong.

Bütün marketplace nöqtələri

Doğrulama

API açarını bearer token kimi göndərin. Bu səhifə spresifikasiyada xüsusi icazə tələb etmir, buna görə də açarınıza ehtiyac duyduğu minimum səviyyədə icazə verin və güman etmək əvəzinə cavabı yoxlayın.

Bu endpoint heç bir təşkilat ID-si tələb etmir. Sizin açarınız artıq aid olduğu təşkilatı müəyyən edir və cavab həmin təşkilat üçün məhdudlaşdırılır.

Sınaqdan keçir

Bucaqlı mötərizələrdə olan hór şeyi öz qiymətlərinizlə, açar yertutucusunu isə idarə panelinizdən bir açarla əvəz edin.

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

Sistemə daxil olmusunuz? İdarə panelinizdəki API konsolu real təşkilatınızın identifikatorunu və öz açarınızı avtomatik doldurur, sorğunu canlı API-yə qarşı icra edir ki, siz faktiki cavabı görə biləsiniz. Bu son nöqtəni API konsolunda açın

Təfərrüatlar

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.

Parametrlər

AdTipTələb olunurNədir
sale_id (path)stringBəli

Sorğu gövdəsi

AdTipTələb olunurNədir
reasonstringBəliWhat needs changing. Required, and shown to the seller — a rejection they cannot read names nothing, so it produces a second rejection.

Cavab

AdTipTələb olunurNədir
idUuidBəliUUIDv7 identifier — sortable by creation time (docs/02 §8).
stateMarketplaceSaleStateBəliWhere 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_idUuidBəliUUIDv7 identifier — sortable by creation time (docs/02 §8).
listing_titlestringBəli
package_namestringBəli
package_descriptionstringXeyr
vendor_display_namestringXeyrThe seller's public name, never the legal name held for identity checks.
delivery_daysintegerXeyr
revisions_includedintegerXeyr
revision_countintegerXeyr
billing_modeMarketplaceBillingModeXeyrHow 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_intervalobjectXeyr
period_indexintegerXeyr0 for a one-time sale and a subscription's first period; one per renewal.
amount_minorintegerBəli
currencyCurrencyCodeBəliISO 4217 currency code (money is minor units + this code — CLAUDE.md §2.8).
auto_acceptsbooleanXeyrRead 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_daysobjectXeyr
accept_byobjectXeyrWhen this purchase auto-accepts if the buyer does nothing.
delivered_atobjectXeyr
accepted_atobjectXeyr
accepted_automaticallybooleanXeyrWhether 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_reasonstringXeyr
last_revision_atobjectXeyr
order_idUuidXeyrUUIDv7 identifier — sortable by creation time (docs/02 §8).
created_atstringXeyr

Bu son nöqtənin qaytara biləcəyi xətalar

401 · 404 · 422