marketplace
POST /v1/marketplace/purchases/{sale_id}/accept
Accept delivery — the act that releases the seller's money.
Autenticación
Envía una clave de API como token de portador. Este endpoint no especifica un permiso concreto en la especificación, así que otorga a tu clave los mínimos privilegios necesarios y comprueba la respuesta en lugar de dar por sentado.
Este endpoint no requiere ningún id de organización. Su clave ya identifica la organización a la que pertenece, y la respuesta está delimitada a ella.
Pruébalo
Reemplaza cualquier elemento entre corchetes angulares por tus propios valores, y el marcador de posición key con una clave de tu panel de control.
curl -X POST https://api.zinndigital.com/v1/marketplace/purchases/{sale_id}/accept \
-H "Authorization: Bearer zdk_live_…"¿Has iniciado sesión? La consola de la API en tu panel de control rellena el ID de tu organización real y tu propia clave, y ejecuta la solicitud contra la API en vivo para que puedas ver la respuesta real. Abre este endpoint en la consola de la API
Detalles
docs/82 §3. The buyer's **explicit act**, and it is FINAL: it ends the refund window and releases the vendor's payout. The warning belongs on the client, before the button is pressed — an endpoint cannot warn anybody. Answers **200** on a replay as well as on the first call. The buyer's click and the auto-accept timer genuinely race, so acceptance converges rather than raising: a retried request from a client that already succeeded is not an error to that client, and the payable is released exactly once regardless. Scoped to the BUYER's org. A seller reaching for their own sale here gets a 404 — acceptance is the buyer's act alone, and a vendor who could press it would be paying themselves.
Parámetros
| Nombre | Tipo | Obligatorio | ¿Qué es esto? |
|---|---|---|---|
sale_id (path) | string | Sí | — |
Respuesta
| Nombre | Tipo | Obligatorio | ¿Qué es esto? |
|---|---|---|---|
id | Uuid | Sí | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
state | MarketplaceSaleState | Sí | 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_id | Uuid | Sí | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
listing_title | string | Sí | — |
package_name | string | Sí | — |
package_description | string | No | — |
vendor_display_name | string | No | The seller's public name, never the legal name held for identity checks. |
delivery_days | integer | No | — |
revisions_included | integer | No | — |
revision_count | integer | No | — |
billing_mode | MarketplaceBillingMode | No | 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_interval | object | No | — |
period_index | integer | No | 0 for a one-time sale and a subscription's first period; one per renewal. |
amount_minor | integer | Sí | — |
currency | CurrencyCode | Sí | ISO 4217 currency code (money is minor units + this code — CLAUDE.md §2.8). |
auto_accepts | boolean | No | 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_days | object | No | — |
accept_by | object | No | When this purchase auto-accepts if the buyer does nothing. |
delivered_at | object | No | — |
accepted_at | object | No | — |
accepted_automatically | boolean | No | 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_reason | string | No | — |
last_revision_at | object | No | — |
order_id | Uuid | No | UUIDv7 identifier — sortable by creation time (docs/02 §8). |
created_at | string | No | — |
Errores que este endpoint puede devolver
401 · 404 · 422