marketplace

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

Send the delivery back, and say what is wrong.

Gbogbo àwọn marketplace endpoints

Ìfàṣẹ́pọ̀

Fi bọ́kì kọ́kọ́ (bearer token) ránṣẹ́ gẹ́gẹ́ bí àmì ìdánimọ̀ API. Ibùdó yìí kò sọ àṣẹ pàtó kan nínú àlàyé rẹ̀, nítorí náà fún kọ́kọ́ rẹ̀ ní ohun tó kéré jù lọ tí ó nílò kí o sì ṣàyẹ̀wò ìdáhùn náà dípò kí o kàn rò ó.

Ojú abánisọ̀rọ̀ yìí kò gba id ajọ kankan. Kọ́kọ́rọ́ rẹ ti mọ ajọ ti o jẹ ti e, a o si fèsì nipa rẹ̀.

Gbiyanju rẹ

Rọ́pọ̀ èyíkéyìí nínú àwọn àmì ìtọ́ka < > pẹ̀lú iye tirẹ̀, àti àmì ìdánimọ̀ bọ́tìnnì náà pẹ̀lú bọ́tìnnì kan láti inú dásibọ̀ọ̀dù rẹ.

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

Ṣé o ti wọlé? Iwọ̀n api ní nú ìgbékalẹ̀ rẹ kún id àjọ gidi rẹ ati bọtini tirẹ, o si nṣiṣẹ ibeere na lòdì si api gidi ki o le rii esi gidi na. Ṣí ojú abáná yìí sílẹ̀ nínú kọnsólù API

Àwọn kúlẹ̀kúlẹ̀

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.

Àwọn ìpìlẹ̀

OrúkọIruTí a nílòKini o jẹ
sale_id (path)stringBẹẹni

Akoonu ibeere naa

OrúkọIruTí a nílòKini o jẹ
reasonstringBẹẹniWhat needs changing. Required, and shown to the seller — a rejection they cannot read names nothing, so it produces a second rejection.

Idahun

OrúkọIruTí a nílòKini o jẹ
idUuidBẹẹniUUIDv7 identifier — sortable by creation time (docs/02 §8).
stateMarketplaceSaleStateBẹẹniWhere 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ẹẹniUUIDv7 identifier — sortable by creation time (docs/02 §8).
listing_titlestringBẹẹni
package_namestringBẹẹni
package_descriptionstringBẹẹkọ
vendor_display_namestringBẹẹkọThe seller's public name, never the legal name held for identity checks.
delivery_daysintegerBẹẹkọ
revisions_includedintegerBẹẹkọ
revision_countintegerBẹẹkọ
billing_modeMarketplaceBillingModeBẹẹkọ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_intervalobjectBẹẹkọ
period_indexintegerBẹẹkọ0 for a one-time sale and a subscription's first period; one per renewal.
amount_minorintegerBẹẹni
currencyCurrencyCodeBẹẹniISO 4217 currency code (money is minor units + this code — CLAUDE.md §2.8).
auto_acceptsbooleanBẹẹkọ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_daysobjectBẹẹkọ
accept_byobjectBẹẹkọWhen this purchase auto-accepts if the buyer does nothing.
delivered_atobjectBẹẹkọ
accepted_atobjectBẹẹkọ
accepted_automaticallybooleanBẹẹkọ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_reasonstringBẹẹkọ
last_revision_atobjectBẹẹkọ
order_idUuidBẹẹkọUUIDv7 identifier — sortable by creation time (docs/02 §8).
created_atstringBẹẹkọ

Awọn aṣiṣe ti ibudo ipari yii le da pada

401 · 404 · 422