marketplace

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

Send the delivery back, and say what is wrong.

모든 marketplace 엔드포인트

인증

Bearer 토큰으로 API 키를 전송하세요. 이 엔드포인트는 명세에 특정 권한을 명시하지 않으므로, 가정하기보다는 키에 필요한 최소한의 권한을 부여하고 응답을 확인하세요.

이 엔드포인트는 조직 ID를 받지 않습니다. 사용자의 키가 이미 속한 조직을 식별하며, 응답은 해당 조직으로 한정됩니다.

무료 체험하기

대괄호 안에 있는 모든 내용을 사용자 지정 값으로 바꾸고, 키 플레이스홀더는 대시보드의 키로 바꾸세요.

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 콘솔이 실제 조직 ID와 본인의 키를 자동으로 채우고 라이브 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.

매개변수

이름유형필수설명
sale_id (path)string

요청 본문

이름유형필수설명
reasonstringWhat needs changing. Required, and shown to the seller — a rejection they cannot read names nothing, so it produces a second rejection.

응답

이름유형필수설명
idUuidUUIDv7 identifier — sortable by creation time (docs/02 §8).
stateMarketplaceSaleStateWhere 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_idUuidUUIDv7 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
currencyCurrencyCodeISO 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