O que é o @abacatepay/typebox?
O @abacatepay/typebox expõe todos os schemas públicos da API da AbacatePay usando TypeBox, servindo como fonte única de verdade para contratos de dados, validação runtime e geração de OpenAPI. Não há abstrações extras nem “tipos inventados”: os schemas refletem exatamente a API documentada. Projetado para TypeScript-first, com integração direta em frameworks modernos como Elysia, Fastify, Hono, além de compatibilidade total com Node.js e Bun.Quando usar o TypeBox?
- Você quer contratos tipados + validação runtime
- Precisa garantir compatibilidade entre versões da API
- Quer gerar OpenAPI 3.1 automaticamente
- Está construindo SDKs, gateways ou backends tipados
Instalação
Use o package manager da sua preferência:Estrutura e Versionamento
Assim como em outros pacotes da AbacatePay, os schemas são versionados por API. Importe sempre a versão correspondente à API que você está usando:Por que versionar schemas?
Isso permite detectar breaking changes, manter compatibilidade e evoluir a API sem quebrar integrações existentes.
Integração com Elysia
O TypeBox se encaixa diretamente no Elysia, sem camadas extras.- Validação automática de input
- Tipagem forte de output
- OpenAPI gerado corretamente
Uso Básico (Validação Runtime)
Você pode validar facilmente dados retornados pela API em runtime:Por que validar em runtime?
Tipos TypeScript não existem em produção. A validação runtime evita bugs silenciosos e payloads inválidos.
OpenAPI & JSON Schema
Todos os schemas são 100% compatíveis com OpenAPI 3.1 via JSON Schema. Isso permite:- Geração automática de documentação
- Criação de SDKs tipados
- Validação de breaking changes entre versões
- Integração com ferramentas do ecossistema OpenAPI
Convenções de Nomenclatura
Para manter consistência e previsibilidade, os schemas seguem convenções claras: PrefixoAPI*
- Estruturas gerais da API
- Objetos retornados
- Modelos públicos
REST<HTTPMethod>*
- Schemas usados em endpoints REST
- Body → corpo da requisição
- QueryParams → parâmetros de query
- Data → dados retornados
Webhook*
- Payloads de eventos de webhook
Integração com o Ecossistema
Open Source, de VerdadeFeito para desenvolvedores
O
@abacatepay/typebox é open source e mantido pela equipe AbacatePay. Schemas estáveis, versionados e alinhados à documentação oficial.