marketplace

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

Send the delivery back, and say what is wrong.

Todos os endpoints de marketplace

Autenticação

Envie uma chave de API como um token bearer. Este endpoint não especifica uma permissão específica na documentação, portanto, conceda à sua chave o mínimo necessário e verifique a resposta em vez de assumir.

Este endpoint não requer um ID de organização. Sua chave já identifica a organização à qual pertence, e a resposta é delimitada a ela.

Experimente

Substitua qualquer item entre colchetes por seus próprios valores e o espaço reservado para a chave por uma chave do seu painel.

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

Conectado? O console da API no seu painel preenche o ID da sua organização real e a sua própria chave, e executa a requisição contra a API de produção para que você possa ver a resposta real. Abra este endpoint no console da API

Detalhes

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.

Parâmetros

NomeTipoObrigatórioO que é
sale_id (path)stringSim

Corpo da requisição

NomeTipoObrigatórioO que é
reasonstringSimWhat needs changing. Required, and shown to the seller — a rejection they cannot read names nothing, so it produces a second rejection.

Resposta

NomeTipoObrigatórioO que é
idUuidSimUUIDv7 identifier — sortable by creation time (docs/02 §8).
stateMarketplaceSaleStateSimWhere 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_idUuidSimUUIDv7 identifier — sortable by creation time (docs/02 §8).
listing_titlestringSim
package_namestringSim
package_descriptionstringNão
vendor_display_namestringNãoThe seller's public name, never the legal name held for identity checks.
delivery_daysintegerNão
revisions_includedintegerNão
revision_countintegerNão
billing_modeMarketplaceBillingModeNãoHow 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_intervalobjectNão
period_indexintegerNão0 for a one-time sale and a subscription's first period; one per renewal.
amount_minorintegerSim
currencyCurrencyCodeSimISO 4217 currency code (money is minor units + this code — CLAUDE.md §2.8).
auto_acceptsbooleanNãoRead 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_daysobjectNão
accept_byobjectNãoWhen this purchase auto-accepts if the buyer does nothing.
delivered_atobjectNão
accepted_atobjectNão
accepted_automaticallybooleanNãoWhether 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_reasonstringNão
last_revision_atobjectNão
order_idUuidNãoUUIDv7 identifier — sortable by creation time (docs/02 §8).
created_atstringNão

Erros que este endpoint pode retornar

401 · 404 · 422