@meaple-com/core
v1.0.2
Published
Core SDK for Meaple - ticketing platform
Readme
Meaple SDK Core
SDK oficial do Meaple para JavaScript/TypeScript com sistema de autenticação global simplificado e suporte multi-tenant.
Instalação
bun add @meaple-com/coreUso Básico
import { MeapleSDK, setGlobalToken, clearGlobalToken } from '@meaple-com/core';
const sdk = new MeapleSDK({
publicKey: 'pk_brasuca_0001',
});
// Rotas públicas
const events = await sdk.events.find();
// Login
const { accessToken, refreshToken } = await sdk.auth.authenticate({
email: '[email protected]',
password: 'password123',
});
// Token global
setGlobalToken(accessToken, refreshToken, async refreshToken => {
const response = await sdk.auth.refreshToken(refreshToken);
return {
accessToken: response.accessToken,
refreshToken: response.refreshToken,
};
});
// Rotas autenticadas
const profile = await sdk.users.getMe();
const order = await sdk.orders.create({
eventId: 'event-id',
buyer: { name: 'User', email: '[email protected]' },
items: [{ ticketTypeId: 'ticket-id', quantity: 2 }],
paymentMethod: 'pix',
});
// Logout
clearGlobalToken();APIs Disponíveis
Autenticação
auth.authenticate()- Loginauth.refreshToken()- Renovar tokenauth.forgotPassword()- Esqueci senhaauth.resetPassword()- Reset senha
Usuários
users.create()- Registrarusers.getMe()- Meu perfilusers.update()- Atualizar perfilusers.updateEmail()- Alterar emailusers.updatePassword()- Alterar senha
Eventos
events.find()- Buscar eventosevents.getProducts()- Buscar produtos do eventoevents.getTickets()- Buscar ingressos do eventoevents.getUserEventTickets()- Buscar ingressos do usuárioevents.createReminder()- Criar lembrete
Pedidos
orders.create()- Criar pedidoorders.get()- Ver pedidoorders.createPaymentIntent()- Pagamentoorders.purchase()- Finalizar compra
Outros
uploads.upload()- Upload arquivospayments.getFee()- Calcular taxachannels.get()- Ver canal
Configuração
const sdk = new MeapleSDK({
publicKey: 'pk_required', // Obrigatório
baseURL: 'https://custom.api', // Opcional
timeout: 30000, // Opcional
token: 'jwt-token', // Opcional
});Multi-Tenant
import { MeapleSDK, switchTenant } from '@meaple-com/core';
const sdk = new MeapleSDK({ publicKey: 'pk_brasuca_0001' });
switchTenant(sdk, 'pk_multi_arena_0002');TypeScript
import type {
Event,
User,
Order,
AuthenticateUserRequest,
EventsResponse,
MeapleSDKOptions,
} from '@meaple-com/core';