Documentação para Developers

Constrói sobre o Pylon

Uma API REST completa com especificação OpenAPI, webhooks para eventos em tempo real e SDKs para integração rápida.

Quick Start

Começa a usar em minutos com o nosso SDK TypeScript.

Terminal
# Instalar o SDK
$ npm install @pylon/sdk
# Inicializar o client
import { Pylon } from '@pylon/sdk';

const pylon = new Pylon({
  apiKey: process.env.PYLON_API_KEY,
  tenantId: 'your-tenant-id',
});
# Criar um evento
const event = await pylon.events.create({
  name: 'Summer Concert 2026',
  category: 'music',
  status: 'draft',
});

console.log('Created event:', event.id);

Referência API

Endpoints RESTful seguindo a especificação OpenAPI 3.1. Todos os pedidos requerem autenticação e contexto de tenant.

Events

GET/api/v1/events
POST/api/v1/events
GET/api/v1/events/{id}
PUT/api/v1/events/{id}

Sessions

GET/api/v1/events/{id}/sessions
POST/api/v1/events/{id}/sessions
GET/api/v1/sessions/{id}/availability

Checkout

POST/api/v1/cart/items
POST/api/v1/reservations
POST/api/v1/checkout
GET/api/v1/checkout/{id}

Tickets

GET/api/v1/tickets/{id}
POST/api/v1/tickets/{id}/check-in
POST/api/v1/tickets/{id}/void
POST/api/v1/tickets/{id}/regenerate
Webhooks

Eventos em Tempo Real

Subscreve eventos e recebe callbacks HTTP quando coisas importantes acontecem. Todos os webhooks incluem assinaturas HMAC para verificação.

Verificação de Assinatura

Assinaturas HMAC-SHA256 em cada payload

Retries Automáticos

Exponential backoff com 3 tentativas de retry

Histórico de 90 Dias

Log completo de eventos com capacidade de replay

order.confirmed

Quando pagamento é bem-sucedido e encomenda é confirmada

Payload: OrderId, BuyerEmail, Total, LineItems[]
order.refunded

Quando um reembolso é processado

Payload: OrderId, Amount, IsFullRefund
ticket.checked_in

Quando um bilhete é lido no portão

Payload: TicketId, SessionId, CheckedInAt
ticket.transferred

Quando a titularidade do bilhete muda

Payload: TicketId, FromUserId, ToUserId
payment.succeeded

Quando um payment intent é bem-sucedido

Payload: PaymentIntentId, Amount, PaymentMethod
payment.failed

Quando uma tentativa de pagamento falha

Payload: PaymentIntentId, FailureCode, FailureReason

Autenticação

Múltiplos métodos de autenticação para diferentes cenários de integração.

API Keys

Autenticação server-to-server para integrações backend

Melhor para:

Serviços backend, cron jobs, integrações

OAuth 2.0

Acesso delegado pelo utilizador para aplicações de terceiros

Melhor para:

Integrações de terceiros, apps de marketplace

JWT Tokens

Tokens de curta duração para utilizadores autenticados

Melhor para:

Apps frontend, apps mobile, SPAs

Header de Autenticação
// API Key authentication
const response = await fetch('https://api.pylon.com/v1/events', {
  headers: {
    'Authorization': 'Bearer pk_live_xxxxxxxxxxxx',
    'X-Tenant-Id': 'your-tenant-id',
    'Content-Type': 'application/json',
  },
});

SDKs Oficiais

Clients type-safe gerados a partir da nossa especificação OpenAPI.

TS

TypeScript

Disponível
JS

JavaScript

Disponível
PY

Python

Em Breve
GO

Go

Em Breve

Rate Limits

API Standard1.000 req/min

Por API key, por tenant

API de Checkout100 req/min

Limites mais estritos para operações que afetam inventário

WebhooksSem limite

Eventos outbound não têm rate limit

Respostas de Erro

400Bad Request

Body ou parâmetros de pedido inválidos

401Unauthorized

API key inválida ou em falta

409Conflict

Conflito de estado do recurso (ex: inventário esgotado)

429Too Many Requests

Rate limit excedido

Começa a Construir

Obtém as tuas API keys e começa a integrar com o Pylon hoje.