Desarrolladores
API Documentos
Autenticación
Tokens al portador, con alcance por clave.
Crea una clave en Desarrolladores -> API claves . Elija las capacidades en el momento de la creación; por ejemplo, una clave de solo lectura para análisis, una clave de solo escritura para cumplimiento. Revocar instantáneamente sin tocar a los demás.
clave en vivo
sx_live_…
Pagos reales. Carteras reales. Acuerdo real.
clave de prueba
sx_test_…
Sandbox: sin movimiento en cadena, mismas formas de respuesta.
Errores
RFC 7807. Siempre JSON.
Cada uno que no sea 2xx devuelve un cuerpo estructurado, nunca HTML simple. Bifurcación en la babosa type .
400
invalid_request
Bad JSON or missing parameter.
401
unauthenticated
Missing or invalid bearer token.
403
forbidden_scope
Key is valid but lacks the ability for this endpoint.
404
not_found
The resource doesn't exist or isn't yours.
409
conflict
Idempotency key already used with a different payload.
422
unprocessable
Validation failed. Body has an `errors` map per-field.
429
rate_limited
You're going too fast. `Retry-After` is set.
500
server_error
Our side broke. Includes a `trace_id` for support.
Límites de tarifas e idempotencia
Valores predeterminados sensatos, grabados en piedra.
Límites de tarifas
120 req/min en escrituras, 600 req/min en lecturas. Las ráfagas sostenidas reciben back-pressure con Retry-After .
Idempotencia
Envíe Idempotency-Key en cada escritura que mueva dinero. La misma clave + el mismo cuerpo devuelve la misma respuesta, sin efectos secundarios duplicados.
Parameters
limit
optional
integer
query
How many items to return per page.
values: 1 – 100
default: 25
cursor
optional
string
query
Opaque pagination cursor from a previous response.
status
optional
enum
query
Filter by lifecycle status.
values: active | archived | draft
type
optional
enum
query
Filter by product kind.
values: license_key | account | file_download | physical | subscription
Example response
200
{
"object": "list",
"has_more": false,
"next_cursor": null,
"data": [
{
"id": "prod_01J2PVQR41",
"name": "Adobe Creative Cloud Key",
"type": "license_key",
"price_cents": 12900,
"currency": "USD",
"stock": 47,
"status": "active"
},
{
"id": "prod_01J2PVQS6X",
"name": "VIP Discord Role",
"type": "account",
"price_cents": 999,
"currency": "USD",
"stock": null,
"status": "active"
}
]
}
Try it - runs in your browser against a sandbox mock.
Send request
Parameters
name
required
string
body
Display name shown on the storefront.
type
required
enum
body
Decides which delivery strategy fires on payment.
values: license_key | account | file_download | dynamic | physical | subscription
price_cents
required
integer
body
Price in the smallest unit of `currency`.
values: ≥ 0
currency
required
string
body
Three-letter fiat currency code.
values: ISO-4217 - e.g. USD, EUR, GBP
description
optional
string
body
Markdown-flavoured description body.
stock
optional
integer
body
`null` = unlimited / pool-driven.
values: ≥ 0 or null
Example response
201
{
"id": "prod_01J2PVQR41",
"name": "Adobe Creative Cloud Key",
"slug": "adobe-creative-cloud-key",
"type": "license_key",
"price_cents": 12900,
"currency": "USD",
"stock": 0,
"status": "active",
"created_at": "2026-05-26T07:18:03Z"
}
Try it - runs in your browser against a sandbox mock.
Send request
Example response
200
{
"id": "prod_01J2PVQR41",
"name": "Adobe Creative Cloud Key",
"slug": "adobe-creative-cloud-key",
"type": "license_key",
"price_cents": 12900,
"currency": "USD",
"stock": 47,
"status": "active",
"created_at": "2026-05-26T07:18:03Z"
}
Try it - runs in your browser against a sandbox mock.
Send request
Parameters
id
required
string
path
The product identifier.
name
optional
string
body
New display name.
price_cents
optional
integer
body
New price in smallest currency unit.
values: ≥ 0
status
optional
enum
body
Lifecycle status.
values: active | archived | draft
description
optional
string
body
Markdown body.
Example response
200
{
"id": "prod_01J2PVQR41",
"price_cents": 9900,
"status": "active",
"updated_at": "2026-05-26T07:32:18Z"
}
Try it - runs in your browser against a sandbox mock.
Send request
Example response
200
{
"id": "prod_01J2PVQR41",
"deleted": true,
"archived_at": "2026-05-26T07:36:51Z"
}
Try it - runs in your browser against a sandbox mock.
Send request
Example response
201
{
"imported": 3,
"duplicates": 0,
"stock_after": 50
}
Try it - runs in your browser against a sandbox mock.
Send request
Parameters
limit
optional
integer
query
Items per page.
values: 1 – 100
default: 25
status
optional
enum
query
Filter by order status.
values: pending | awaiting_payment | paid | delivering | completed | failed | refunded
from
optional
string
query
Created at or after this date.
values: ISO-8601 date
to
optional
string
query
Created at or before this date.
values: ISO-8601 date
Example response
200
{
"object": "list",
"has_more": false,
"next_cursor": null,
"data": [
{
"id": "ord_01J2PVP4XJ",
"status": "paid",
"total_cents": 4900,
"currency": "USD",
"customer_email": "[email protected] ",
"paid_at": "2026-05-26T07:14:22Z"
},
{
"id": "ord_01J2PVN29D",
"status": "paid",
"total_cents": 12900,
"currency": "USD",
"customer_email": "[email protected] ",
"paid_at": "2026-05-26T07:09:58Z"
}
]
}
Try it - runs in your browser against a sandbox mock.
Send request
Example response
200
{
"id": "ord_01J2PVP4XJ",
"status": "paid",
"total_cents": 4900,
"currency": "USD",
"customer_email": "[email protected] ",
"paid_at": "2026-05-26T07:14:22Z",
"payment": {
"provider": "blockpn",
"chain": "tron",
"asset": "USDT",
"tx_hash": "0xae9c2\u2026"
},
"items": [
{
"product": "Adobe Creative Cloud Key",
"qty": 1,
"subtotal_cents": 4900
}
],
"delivery": {
"kind": "license_key",
"state": "delivered",
"delivered_at": "2026-05-26T07:14:24Z"
}
}
Try it - runs in your browser against a sandbox mock.
Send request
Parameters
uuid
required
string
path
The order identifier.
amount_cents
optional
integer
body
Defaults to the full order total.
values: > 0 and ≤ order total
reason
optional
enum
body
For your accounting + the buyer receipt.
values: requested_by_buyer | duplicate | fraud | other
note
optional
string
body
Internal note attached to the refund record.
Example response
200
{
"id": "rf_01J2PVS78B",
"order_id": "ord_01J2PVP4XJ",
"status": "processing",
"amount_cents": 4900,
"reason": "requested_by_buyer",
"destination_tx": null,
"created_at": "2026-05-26T07:22:51Z"
}
Try it - runs in your browser against a sandbox mock.
Send request
Example response
200
{
"sent_at": "2026-05-26T07:41:09Z",
"recipient": "[email protected] ",
"delivery_kind": "license_key"
}
Try it - runs in your browser against a sandbox mock.
Send request
Parameters
limit
optional
integer
query
Items per page.
values: 1 – 100
default: 25
cursor
optional
string
query
Opaque pagination cursor.
Example response
200
{
"object": "list",
"has_more": false,
"data": [
{
"id": "cus_01J2PR9M5C",
"email": "[email protected] ",
"orders_count": 8,
"lifetime_cents": 103200
},
{
"id": "cus_01J2PRA1FE",
"email": "[email protected] ",
"orders_count": 3,
"lifetime_cents": 149700
}
]
}
Try it - runs in your browser against a sandbox mock.
Send request
Example response
200
{
"id": "cus_01J2PR9M5C",
"email": "[email protected] ",
"orders_count": 8,
"lifetime_cents": 103200,
"first_seen_at": "2026-04-12T09:21:55Z",
"last_seen_at": "2026-05-26T07:14:22Z",
"orders": [
{
"id": "ord_01J2PVP4XJ",
"total_cents": 4900,
"paid_at": "2026-05-26T07:14:22Z"
},
{
"id": "ord_01J0HE83KW",
"total_cents": 12900,
"paid_at": "2026-05-19T22:01:08Z"
}
]
}
Try it - runs in your browser against a sandbox mock.
Send request
Parameters
limit
optional
integer
query
Items per page.
values: 1 – 100
default: 25
status
optional
enum
query
Filter by payout status.
values: queued | broadcast | confirmed | failed
Example response
200
{
"object": "list",
"has_more": false,
"data": [
{
"id": "po_01J2PVZ8KK",
"status": "confirmed",
"chain": "tron",
"asset": "USDT",
"amount_cents": 25000,
"tx_hash": "0xfa3b\u2026",
"confirmed_at": "2026-05-26T08:01:11Z"
}
]
}
Try it - runs in your browser against a sandbox mock.
Send request
Parameters
chain
required
enum
body
Network to broadcast on.
values: tron | base | ethereum | bitcoin | solana | polygon | bsc
asset
required
string
body
Asset symbol on that chain.
values: USDT | USDC | BTC | ETH | SOL | …
amount_cents
required
integer
body
Amount in fiat-cents (we convert on the way out).
values: > 0
destination_address
required
string
body
On-chain address to send to.
memo
optional
string
body
Optional memo/tag for chains that need one.
Example response
201
{
"id": "po_01J2PW01GG",
"status": "queued",
"chain": "tron",
"asset": "USDT",
"amount_cents": 25000,
"destination_address": "T...",
"created_at": "2026-05-26T08:03:47Z"
}
Try it - runs in your browser against a sandbox mock.
Send request
Example response
200
{
"object": "list",
"data": [
{
"id": "wh_01J2PTR7QW",
"url": "https://your.app/sellix/webhook",
"events": [
"order.paid",
"order.refunded"
],
"status": "active"
}
]
}
Try it - runs in your browser against a sandbox mock.
Send request
Parameters
url
required
string
body
HTTPS URL we POST to.
events
required
array<string>
body
Events to subscribe to. Use `*` for all.
values: order.paid | order.refunded | order.delivered | order.failed | product.* | payout.* | customer.created
description
optional
string
body
Human-readable note. Shown in the dashboard.
Example response
201
{
"id": "wh_01J2PVT0KZ",
"url": "https://your.app/sellix/webhook",
"events": [
"order.paid",
"order.refunded"
],
"signing_secret": "whsec_29Ax\u2026",
"status": "active",
"created_at": "2026-05-26T08:08:14Z"
}
Try it - runs in your browser against a sandbox mock.
Send request
Example response
200
{
"delivered": true,
"response_code": 200,
"delivery_ms": 184
}
Try it - runs in your browser against a sandbox mock.
Send request
Example response
200
{
"id": "wh_01J2PVT0KZ",
"deleted": true
}
Try it - runs in your browser against a sandbox mock.
Send request
Example response
200
{
"object": "list",
"data": [
{
"id": "apik_01J2PR\u2026",
"name": "Fulfilment worker",
"abilities": [
"orders:read",
"orders:write"
],
"last_used_at": "2026-05-26T08:11:00Z"
},
{
"id": "apik_01J2PS\u2026",
"name": "Analytics dash",
"abilities": [
"orders:read",
"customers:read"
],
"last_used_at": null
}
]
}
Try it - runs in your browser against a sandbox mock.
Send request
Parameters
name
required
string
body
Human-readable label.
abilities
required
array<string>
body
Permission set this key grants.
values: orders:read | orders:write | products:read | products:write | customers:read | payouts:read | payouts:write | webhooks:read | webhooks:write
mode
optional
enum
body
Live or sandbox.
values: live | test
default: live
Example response
201
{
"id": "apik_01J2PW2F88",
"name": "Fulfilment worker",
"abilities": [
"orders:read",
"orders:write"
],
"secret": "sx_live_9kzQ7xV9c4fT2mN8rY",
"created_at": "2026-05-26T08:15:31Z"
}
Try it - runs in your browser against a sandbox mock.
Send request
Example response
200
{
"id": "apik_01J2PW2F88",
"revoked": true
}
Try it - runs in your browser against a sandbox mock.
Send request
Sigue adelante
Más para constructores