� Documentação da API
Explore e teste os endpoints da API da plataforma
Base URL: http://localhost:3000
🔐 Autenticação
Realiza login e retorna um token JWT para autenticação nas rotas protegidas.
Parâmetros do Body (JSON):
| Parâmetro | Tipo | Descrição |
|---|---|---|
| usernameobrigatório | string | Nome de usuário (admin ou demo) |
| passwordobrigatório | string | Senha do usuário |
Exemplo de Requisição:
curl -X POST http://localhost:3000/api/auth/login \
-H "Content-Type: application/json" \
-d '{
"username": "admin",
"password": "admin123"
}'
Exemplo de Resposta:
{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
"user": {
"username": "admin",
"role": "admin"
}
}
🧪 Testar Endpoint
📊 Estatísticas (Públicas)
Retorna estatísticas públicas básicas do bot (não requer autenticação).
Exemplo de Requisição:
curl http://localhost:3000/api/stats/public
Exemplo de Resposta:
{
"totalUsers": 156,
"activeUsers": 89,
"totalSearches": 45231,
"totalRevenue": 12450.00
}
👥 Usuários
Lista todos os usuários com suporte a paginação e busca.
Query Parameters:
| Parâmetro | Tipo | Descrição |
|---|---|---|
| pageopcional | number | Número da página (padrão: 1) |
| limitopcional | number | Itens por página (padrão: 20) |
| searchopcional | string | Buscar por nome ou Telegram ID |
Exemplo de Requisição:
curl http://localhost:3000/api/users?page=1&limit=20 \ -H "Authorization: Bearer SEU_TOKEN_JWT"
Retorna detalhes completos de um usuário específico, incluindo histórico de uso e pagamentos.
Exemplo de Requisição:
curl http://localhost:3000/api/users/123456789 \ -H "Authorization: Bearer SEU_TOKEN_JWT"
📈 Métricas de Uso
Retorna estatísticas de uso diário dos últimos N dias.
Query Parameters:
| daysopcional | number | Número de dias (padrão: 7, máx: 90) |
Exemplo de Requisição:
curl http://localhost:3000/api/usage/daily?days=30
Retorna distribuição de uso por plataforma (Mercado Livre, Amazon, Shopee, etc).
Retorna distribuição de uso por hora do dia (0-23).
📊 Crescimento de Usuários
Retorna dados de crescimento de usuários (novos cadastros por dia).
Query Parameters:
| daysopcional | number | Número de dias (padrão: 30) |
💰 Pagamentos
Retorna estatísticas gerais de pagamentos.
Retorna histórico de receita por mês.
📋 Códigos de Status HTTP
| Código | Descrição |
|---|---|
| 200 | Requisição bem-sucedida |
| 201 | Recurso criado com sucesso |
| 400 | Requisição inválida (erro nos parâmetros) |
| 401 | Não autorizado (token ausente ou inválido) |
| 404 | Recurso não encontrado |
| 500 | Erro interno do servidor |