Pixta para desenvolvedores
Integre seus eventos à Pixta.
A Partner API conecta o seu sistema aos eventos, lotes, pedidos, compradores e relatórios da Pixta — e avisa por webhook assinado quando um pedido é pago, cancelado ou reembolsado.
Baixar o OpenAPIEndereços
- Produção
- https://api.pixta.me/partner/v1
- Homologação
- https://api.pixta.dev/partner/v1
curl https://api.pixta.me/partner/v1/events \
-H "Authorization: Bearer $PIXTA_API_KEY"Comece em três passos
- 01
Peça sua chave
O time da Pixta emite uma chave por integração, válida para os produtores dela.
- 02
Autentique
Envie a chave em toda requisição, no cabeçalho Authorization.
- 03
Liste e assine
Leia seus eventos e cadastre um webhook para receber os pedidos em tempo real.
O que dá para fazer
Eventos e lotes
Crie e edite eventos, capa, lotes e cupons dos produtores da sua integração.
Pedidos e ingressos
Liste pedidos e ingressos, consulte a entrada no evento e cancele com reembolso.
Compradores
Busque compradores e o histórico de compras de cada um, por produtor.
Relatórios
Vendas, receita e conversão de cada evento, prontos para o seu painel.
Webhooks
order.paid, order.canceled e order.refunded, assinados com HMAC-SHA256.
start.gg
Pedidos de torneio trazem a identidade start.gg do jogador para montar as chaves.
Verifique a assinatura dos webhooks
Cada entrega traz X-Pixta-Signature: sha256=<hex>, o HMAC-SHA256 do corpo bruto com o segredo do seu endpoint. Compare em tempo constante antes de processar e responda 2xx em até 10 segundos; falhas são reenviadas com intervalo crescente.
Cabeçalhos de cada entrega
- X-Pixta-Event
- o evento (order.paid, order.canceled, order.refunded)
- X-Pixta-Delivery-Id
- o id da entrega, para ignorar repetições
- X-Pixta-Signature
- a assinatura HMAC-SHA256 do corpo
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)
endTorneios com start.gg
Quando o formulário do evento pede o login start.gg, os pedidos e webhooks trazem order.startgg com user ID, player ID, gamer tag, slug, prefixo, nome, e-mail e avatar do jogador. O produtor pode limitar o campo a alguns ingressos — por exemplo, só jogadores —, e então só esses pedidos trazem o bloco.
"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/…"
}Referência da API
Todos os endpoints, parâmetros, respostas e exemplos, gerados do contrato OpenAPI. Em inglês, como o contrato.
Vamos integrar?
Chaves, ambiente de homologação e dúvidas técnicas: fale com o time de integrações.