O que é o abacatepay/go-types?
O pacote abacatepay-go/types fornece structs oficiais e helpers modernos para trabalhar com a API da AbacatePay em Go, de forma segura, previsível e fiel à documentação oficial. Ele serve como base para integrações diretas usandonet/http, clientes HTTP próprios, CLIs, serviços backend e validações de payloads.
O pacote não adiciona campos além do que existe na documentação oficial.
Cada struct reflete fielmente a API pública da AbacatePay.
Quando usar API Types em Go?
- Você quer contratos fortes com
structstipadas - Usa
net/httpou um client HTTP próprio - Precisa de compatibilidade explícita entre versões da API
- Quer tipar webhooks, rotas e payloads sem SDKs opinativos
Instalação
Use ogo get normalmente:
Versionamento dos Tipos
Os tipos são versionados por package, refletindo a versão da API:Por que versionar por package?
Isso evita breaking changes silenciosos e permite múltiplas versões da API coexistirem no mesmo projeto.
Convenções de Nomenclatura
Os tipos seguem convenções claras e previsíveis: PrefixoAPI*
- Estruturas gerais da API
- Objetos retornados
- Modelos públicos
REST<HTTPMethod>*
Tipos usados em requisições diretas à API:
- Body → corpo enviado na requisição
- Ex.: RESTPostCreateNewChargeBody
- QueryParams → parâmetros de query
- Ex.: RESTGetCheckQRCodePixStatusQueryParams
- Data → dados retornados
- Ex.: RESTGetListCouponsData
Webhook*
- Payloads de eventos de webhook
Campos @unstable
Campos marcados como @unstable:- Ainda não possuem definição formal na documentação
- Foram inferidos a partir de exemplos oficiais
- Podem mudar sem aviso prévio
Quickstart
Criar um cupom
- Todas as structs e types contêm o seu respectivo
jsontag com o seu nome e propriedades, então você pode usarjson.Marshalsem medo.
Integração com o Ecossistema
REST Client (Go)
Cliente HTTP oficial em Go que consome esses contratos diretamente.
SDKs & Ferramentas
SDKs, CLIs e ferramentas que reutilizam os mesmos tipos versionados.
Open Source, de verdade
O abacatepay/go-types é open source e mantido pela equipe AbacatePay. Structs estáveis, versionadas e 100% alinhadas à documentação oficial da API.