CLI

Quickstart

Autentique, chame a API, crie uma cobrança e teste webhooks — tudo pelo terminal.

Autentique, chame a API, crie uma cobrança e teste webhooks — tudo pelo terminal.

1. Instale e faça login

npm install -g @selectwin/cli
selectwin login          # cole sua sk_test_… / sk_live_…
selectwin whoami         # confirma conta e ambiente

2. Chame qualquer endpoint (escape-hatch)

O escape-hatch cobre todo o spec — chame qualquer endpoint diretamente. O caminho é o do recurso; o corpo vai em -d/--data.

# GET com paginação
selectwin get /v1/transactions --limit 5

# POST com corpo JSON — cria uma transação Pix (valores em centavos)
selectwin post /v1/transactions -d '{
  "amount": 5000,
  "payment": { "method": "pix", "currency": "BRL" },
  "customer": {
    "firstName": "João", "lastName": "Silva", "email": "[email protected]",
    "document": { "type": "cpf", "number": "12345678901" }
  }
}'

Use --json para a saída crua (pipe-friendly com jq); sem ela, a CLI imprime uma tabela legível.

selectwin get /v1/transactions --json | jq '.data[].id'

3. Comandos curados

Para os fluxos quentes há wrappers convenientes (rode selectwin <recurso> --help para ver as flags):

selectwin transactions list --limit 20
selectwin transactions get tra_01hqzvabc
selectwin transactions refund tra_01hqzvabc

selectwin customers list
selectwin customers get cus_01hqzvabc

4. Webhooks

Registre um endpoint e envie um ping de teste (webhook.ping) para validar a entrega:

selectwin webhooks endpoints create -d '{
  "name": "Minha loja",
  "endpoint": "https://minhaloja.com/webhooks/selectwin",
  "events": ["transaction.approved", "transaction.failed"]
}'

selectwin webhooks endpoints list
selectwin webhooks test whe_01hqzvabc     # dispara um webhook.ping ao endpoint

Em breve: selectwin listen --forward-to localhost:3000/webhooks (encaminha eventos ao localhost verificando o HMAC) e selectwin trigger transaction.approved (evento de teste) dependem de streaming novo no backend.

5. Erros e exit codes

A CLI mapeia o envelope de erro { error: { code, message } } para uma mensagem legível em stderr e um exit code estável por tipo — ótimo para scripts. Recusas de cartão (402) mostram a mensagem de exibição e a retentabilidade.

Próximos passos

How is this guide?

On this page