# 🔧 Guia de Troubleshooting - API Stats Logger

## 🚨 Problemas de Autenticação na CLI

### Problema: Erro de Login "Usuário ou senha inválidos"

Se você está recebendo este erro, aqui estão as possíveis causas e soluções:

#### ✅ **SOLUÇÃO 1: Verificar Credenciais**

A API da SquareCloud tem requisitos específicos para senhas:
- **Mínimo 8 caracteres**
- **Pelo menos 1 letra maiúscula**
- **Pelo menos 1 letra minúscula**  
- **Pelo menos 1 número**

**Senha inválida**: `123456`  
**Senha válida**: `MinhaSenh@123`

#### ✅ **SOLUÇÃO 2: Criar Nova Conta**

Se você não tem uma conta válida, pode criar uma:

```bash
# Use a CLI atualizada
npx api-stats-logger@latest

# Escolha a opção "2. Criar conta"
# Use credenciais que atendam aos requisitos
```

#### ✅ **SOLUÇÃO 3: Usar API Key Existente**

Se você já tem uma API key válida, pode pular a autenticação:

```bash
npx api-stats-logger@latest

# Escolha a opção "3. Usar API key existente"
# Cole sua API key quando solicitado
```

## 🌐 Configuração da API na SquareCloud

A partir da versão **1.1.2**, a CLI está configurada para usar automaticamente:

```
Base URL: https://apistats.squareweb.app
```

### Verificar se a API está funcionando:

```bash
# Testar conexão
curl https://apistats.squareweb.app/

# Deve retornar: Hello World!
```

### Testar autenticação manual:

```bash
# Criar usuário de teste
curl -X POST https://apistats.squareweb.app/auth/register \
  -H "Content-Type: application/json" \
  -d '{
    "username": "seuusuario",
    "email": "seu@eway.dev", 
    "password": "SuaSenha123",
    "confirmPassword": "SuaSenha123"
  }'

# Fazer login
curl -X POST https://apistats.squareweb.app/auth/login \
  -H "Content-Type: application/json" \
  -d '{
    "username": "seuusuario",
    "password": "SuaSenha123"
  }'
```

## 🐛 Debug da CLI

Para ver mais detalhes sobre erros, a CLI mostra informações de debug:

```bash
npx api-stats-logger@latest
```

A CLI agora mostra:
- ✅ URL de conexão
- ✅ Status HTTP detalhado  
- ✅ Dados da resposta
- ✅ Headers recebidos
- ✅ Token extraído (parcial)

## 🔑 Formatos de Token Suportados

A CLI **v1.1.2+** suporta:

1. **Token no body** (formato antigo):
```json
{
  "access_token": "jwt-token-aqui",
  "deviceId": "device-id-aqui"
}
```

2. **Token nos cookies** (formato atual da SquareCloud):
```
Set-Cookie: access_token=jwt-token-aqui; HttpOnly; Secure
Set-Cookie: device_id=device-id-aqui; HttpOnly; Secure
```

## 📝 Exemplo de Uso Correto

```bash
# 1. Instalar versão mais recente
npm install -g api-stats-logger@latest

# 2. Executar CLI
npx api-stats-init

# 3. Seguir instruções na tela:
#    📝 Login:
#    Username ou email: eriktest
#    Senha: MinhaSenh@123
#    
#    🔄 Conectando ao servidor...
#    📡 URL: https://apistats.squareweb.app/auth/login
#    ✅ Login realizado com sucesso!
#    🔑 Token obtido: eyJhbGciOiJIUzI1NiIs...
```

## 🆘 Ainda Tendo Problemas?

### 1. **Verificar versão da CLI**
```bash
npm list -g api-stats-logger
# Deve ser 1.1.2 ou superior
```

### 2. **Atualizar CLI**
```bash
npm uninstall -g api-stats-logger
npm install -g api-stats-logger@latest
```

### 3. **Limpar cache de autenticação**
```bash
# No macOS/Linux
rm ~/.api-stats-auth
rm ~/.api-stats-token

# No Windows  
del "%USERPROFILE%\.api-stats-auth"
del "%USERPROFILE%\.api-stats-token"
```

### 4. **Testar conexão de rede**
```bash
# Verificar se consegue acessar a API
curl -I https://apistats.squareweb.app/
```

### 5. **Logs de Debug**
```bash
# Ativar debug do axios (se necessário)
DEBUG=axios* npx api-stats-init
```

## 📧 Suporte

Se ainda estiver com problemas:

- 🐛 **GitHub Issues**: [api-stats-logger/issues](https://github.com/grupo-loyalty/api-stats-logger/issues)
- 📧 **Email**: dev@grupoloyalty.com.br
- 🌐 **API**: [https://apistats.squareweb.app](https://apistats.squareweb.app)

---

**Atualizado em**: 29/05/2025  
**Versão CLI**: 1.1.2+  
**API URL**: https://apistats.squareweb.app 