Pixta para desarrolladores
Integra tus eventos a Pixta.
La Partner API conecta tu sistema con los eventos, lotes, pedidos, compradores e informes de Pixta — y avisa con un webhook firmado cuando un pedido se paga, se cancela o se reembolsa.
Descargar OpenAPIDirecciones
- Producción
- https://api.pixta.me/partner/v1
- Pruebas
- https://api.pixta.dev/partner/v1
curl https://api.pixta.me/partner/v1/events \
-H "Authorization: Bearer $PIXTA_API_KEY"Empieza en tres pasos
- 01
Pide tu clave
El equipo de Pixta emite una clave por integración, válida para sus productores.
- 02
Autentícate
Envía la clave en cada solicitud, en el encabezado Authorization.
- 03
Lista y suscríbete
Lee tus eventos y registra un webhook para recibir los pedidos en tiempo real.
Qué puedes hacer
Eventos y lotes
Crea y edita eventos, portadas, lotes y cupones de los productores de tu integración.
Pedidos y entradas
Lista pedidos y entradas, consulta el ingreso al evento y cancela con reembolso.
Compradores
Busca compradores y el historial de compras de cada uno, por productor.
Informes
Ventas, ingresos y conversión de cada evento, listos para tu panel.
Webhooks
order.paid, order.canceled y order.refunded, firmados con HMAC-SHA256.
start.gg
Los pedidos de torneos traen la identidad start.gg del jugador para armar los brackets.
Verifica la firma de los webhooks
Cada entrega trae X-Pixta-Signature: sha256=<hex>, el HMAC-SHA256 del cuerpo sin procesar con el secreto de tu endpoint. Compara en tiempo constante antes de procesar y responde 2xx en hasta 10 segundos; las entregas fallidas se reintentan con intervalos crecientes.
Encabezados de cada entrega
- X-Pixta-Event
- el evento (order.paid, order.canceled, order.refunded)
- X-Pixta-Delivery-Id
- el id de la entrega, para ignorar repeticiones
- X-Pixta-Signature
- la firma HMAC-SHA256 del cuerpo
Node.js
import crypto from "node:crypto";
export function isFromPixta(rawBody, signature, secret) {
const expected = "sha256=" +
crypto.createHmac("sha256", secret).update(rawBody).digest("hex");
const a = Buffer.from(expected);
const b = Buffer.from(signature ?? "");
return a.length === b.length && crypto.timingSafeEqual(a, b);
}Python
import hashlib, hmac
def is_from_pixta(raw_body: bytes, signature: str, secret: str) -> bool:
expected = "sha256=" + hmac.new(
secret.encode(), raw_body, hashlib.sha256
).hexdigest()
return hmac.compare_digest(expected, signature or "")Ruby
def from_pixta?(raw_body, signature, secret)
expected = "sha256=#{OpenSSL::HMAC.hexdigest("SHA256", secret, raw_body)}"
ActiveSupport::SecurityUtils.secure_compare(expected, signature.to_s)
endTorneos con start.gg
Cuando el formulario del evento pide el inicio de sesión con start.gg, los pedidos y webhooks traen order.startgg con el user ID, player ID, gamer tag, slug, prefijo, nombre, e-mail y avatar del jugador. El productor puede limitar el campo a algunas entradas — solo jugadores, por ejemplo — y entonces solo esos pedidos lo traen.
"startgg": {
"user_id": "999",
"player_id": "42",
"gamertag": "Ace",
"slug": "873d03cc",
"prefix": "TEAM",
"name": "Ana Silva",
"email": "ace@example.com",
"avatar_url": "https://images.start.gg/…"
}Referencia de la API
Todos los endpoints, parámetros, respuestas y ejemplos, generados del contrato OpenAPI. En inglés, como el contrato.
¿Integramos?
Claves, entorno de pruebas y dudas técnicas: habla con el equipo de integraciones.