CLI para receber webhooks do AbacatePay em ambiente de desenvolvimento local.
go build -o abacatepay-cli ./cmdabacatepay-cli loginApós autenticar, a CLI pergunta a URL para encaminhar webhooks e já começa a escutar.
A CLI suporta dois ambientes: produção (padrão) e teste.
# API: https://api.abacatepay.com
# WebSocket: wss://ws.abacatepay.com/ws
abacatepay-cli loginPara desenvolvimento e testes, use a flag -l:
# API: http://191.252.202.128:8080
# WebSocket: ws://191.252.202.128:8080/ws
abacatepay-cli -l login| Comando | Descrição |
|---|---|
login |
Autenticar e iniciar listener |
logout |
Remover credenciais |
status |
Verificar se está autenticado |
listen |
Escutar webhooks (requer autenticação prévia) |
| Flag | Descrição |
|---|---|
-f <url> |
URL para encaminhar (pula o prompt) |
--no-listen |
Apenas autentica, não inicia listener |
| Flag | Descrição |
|---|---|
-v, --verbose |
Logs detalhados |
-l, --local |
Usar servidor de teste |
--version |
Versão da CLI |
A CLI usa OAuth2 Device Flow:
- Execute
abacatepay-cli 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 Enter para usar o padrão)
O token é armazenado no keyring nativo do sistema operacional:
- macOS: Keychain
- Linux: gnome-keyring ou kwallet
- Windows: Credential Manager
| Evento | Descrição |
|---|---|
billing.paid |
Pagamento confirmado |
withdraw.done |
Saque concluído |
withdraw.failed |
Saque falhou |
Consulte a documentação de webhooks para detalhes dos payloads.
# Terminal 1: Servidor local
node server.js
# Terminal 2: CLI
abacatepay-cli login
# Abre URL no navegador, autoriza, informa URL do webhook
# Webhooks são encaminhados automaticamente
# Para parar: Ctrl+C# Linux
GOOS=linux GOARCH=amd64 go build -o abacatepay-cli-linux-amd64 ./cmd
# macOS Intel
GOOS=darwin GOARCH=amd64 go build -o abacatepay-cli-darwin-amd64 ./cmd
# macOS Apple Silicon
GOOS=darwin GOARCH=arm64 go build -o abacatepay-cli-darwin-arm64 ./cmd
# Windows
GOOS=windows GOARCH=amd64 go build -o abacatepay-cli.exe ./cmdExecute abacatepay-cli login.
Instale o gnome-keyring:
# Debian/Ubuntu
sudo apt install gnome-keyring
# Fedora
sudo dnf install gnome-keyring- Verifique autenticação:
abacatepay-cli status - Use modo verbose:
abacatepay-cli -v login
abacatepay-cli/
├── cmd/
│ └── main.go
├── internal/
│ ├── config/
│ ├── client/
│ ├── auth/
│ ├── logger/
│ └── webhook/
└── go.mod
Os logs são salvos em ~/.abacatepay/logs/:
- abacatepay.log - Log geral (JSON)
- transactions.log - Webhooks recebidos e encaminhados
Rotação automática: 10 MB por arquivo, 5 backups, 30 dias de retenção.
# 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'- cobra - Framework CLI
- resty - HTTP client
- keyring - Armazenamento seguro
- gorilla/websocket - WebSocket client
- lumberjack - Rotação de logs
MIT
- Documentação: https://abacatepay.com/docs
- Issues: https://github.com/AbacatePay/abacatepay-cli/issues