CLI oficial do AbacatePay para desenvolvimento local, webhooks e testes rápidos via terminal.
Instalação • Uso • Autenticação • Ambientes
go install github.com/AbacatePay/abacatepay-cli@latestO binário automáticamente será instalado como abacatepay com um aliás abkt.
brew install --build-from-source github.com/AbacatePay/abacatepay-cliabacatepay loginApós a autenticação (OAuth Device Flow), você deve informar a URL do seu servidor local, então a CLI encaminhará todos os webhooks para você.
Todos os comandos podem ser usados com a seguinte sintaxe:
abacatepay <command> [...flags] [...args]Use a flag -h para obter informações detalhadas sobre cada comando.
Atualmente a CLI suporta dois ambientes, o de produção (Padrão) e teste.
# API: https://api.abacatepay.com
# WebSocket: wss://ws.abacatepay.com/ws
abacatepay loginPara usar o modo de desenvolvimento, use a flag -l
# API: http://191.252.202.128:8080
# WebSocket: ws://191.252.202.128:8080/ws
abacatepay login -lA CLI usa OAuth2 Device Flow, sem necessidade de copiar tokens manualmente, apenas seguindo o fluxo abaixo
- Use
abacatepay login - Abra a URL exibida no navegador
- Autorize o acesso na sua conta AbacatePay
- A CLI detecta a autorização automaticamente
- Informe a URL para encaminhar webhooks (Ou pressione a tecla Enter para usar o padrão)
O token da sua conta é armazenado com segurança no keyring nativo do seu sistema operacional:
- macOS: Keychain
- Linux: gnome-keyring ou kwallet
- Windows: Credential Manager
Caso o token não consiga ser salvo, você deverá instalar o keyring no seu sistema operacional (Linux)
# Debian/Ubuntu
sudo apt install gnome-keyring
# Fedora
sudo dnf install gnome-keyringTodos os logs são salvos ni caminho ~/.abacatepay/logs/ com uma rotação automática de 10mb por arquivo, 5 backups e 30 dias de retenção
- abacatepay.log - Log geral (JSON)
- transactions.log - Webhooks recebidos e encaminhados
# Erros
cat ~/.abacatepay/logs/abacatepay.log | jq 'select(.level=="ERROR")'
# Webhooks recebidos
cat ~/.abacatepay/logs/transactions.log | jq 'select(.msg=="webhook_received")'
# Tempo médio de encaminhamento
cat ~/.abacatepay/logs/transactions.log | jq 'select(.msg=="webhook_forwarded") | .duration_ms' | jq -s 'add/length'Para uma documentação completa, veja a documentação oficial.