Militant

FAQ - Preguntas Frecuentes

FAQ - Preguntas Frecuentes

Instalación

¿La API ya está instalada?

No, la API debe desplegarse por separado. No está incluida en la instalación predeterminada de Militant.

¿Necesito configurar algo?

Sí, crea un archivo /api/.env con las credenciales de tu instancia Militant:

API_DB_HOST=tu-militant-db
API_DB_NAME=militant
API_DB_USER=militant
API_DB_PASS=tu_contraseña

¿Cómo instalo la API?

Ver Instalación para guías de Docker o CasaOS.

Autenticación

¿Cómo obtengo un token?

curl -X POST https://tu-instancia.com/api/v1/auth.php \
  -H "Content-Type: application/json" \
  -d '{"username": "usuario", "password": "contraseña"}'

¿Cuánto dura un token?

30 días. Después de expirar, inicia sesión nuevamente para obtener uno nuevo.

¿Puedo tener múltiples tokens?

Sí, cada inicio de sesión crea un nuevo token. Todos permanecen válidos hasta expirar.

¿Cómo revoco un token?

curl -X POST https://tu-instancia.com/api/v1/auth.php?action=revoke \
  -H "Content-Type: application/json" \
  -d '{"token": "tu_token"}'

Uso

¿Cuál es el límite de solicitudes?

100-200 solicitudes por hora según el endpoint.

¿Cómo subo una imagen?

curl -X POST https://tu-instancia.com/api/v1/upload.php \
  -H "Authorization: Bearer TOKEN" \
  -F "media=@foto.jpg" \
  -F "type=posts"

¿Cómo pagino los resultados?

Añade ?page=2&limit=20 a tus solicitudes GET.

¿La API soporta CORS?

Sí, CORS está habilitado por defecto para todos los dominios.

Errores

"Invalid or expired token"

Tu token ha expirado. Inicia sesión nuevamente para obtener uno nuevo.

"Rate limit exceeded"

Has excedido el límite de solicitudes. Espera 1 hora.

"Database connection failed"

Verifica la configuración en /api/.env o las credenciales MySQL.

"Method not allowed"

Estás usando el método HTTP incorrecto (GET en lugar de POST, etc.)

Configuración

¿Dónde se almacenan los tokens?

En la tabla api_tokens de la base de datos Militant.

¿Puedo cambiar la duración de los tokens?

Sí, en api/config.php: 'token_lifetime' => 2592000 (en segundos)

¿Puedo desactivar el rate limiting?

Sí, en api/config.php: 'rate_limit_enabled' => false

Seguridad

¿La API es segura?

Sí: tokens SHA-256, rate limiting, validación de datos, protección CSRF.

¿Debo usar HTTPS?

Sí, muy recomendado para proteger los tokens en tránsito.

¿Cómo creo un usuario API dedicado?

CREATE USER 'api_user'@'%' IDENTIFIED BY 'password';
GRANT SELECT, INSERT, UPDATE, DELETE ON militant.* TO 'api_user'@'%';

Desarrollo

¿Hay SDKs disponibles?

Sí: SDKs de Python y JavaScript están disponibles.

¿Puedo probar la API localmente?

Sí, usa docker-compose.yml en la carpeta /api/.

¿Cómo activo el modo debug?

En /api/.env: API_DEBUG=true

¿Dónde puedo ver los logs?

docker logs militant-api -f

Otros

¿La API es compatible con OAuth2?

Aún no, pero está planeado. Actualmente: tokens Bearer simples.

¿Puedo usar la API comercialmente?

Sí, bajo licencia AGPL-3.0.

¿Cómo contribuyo?

Ver el repositorio GitLab: https://gitlab.com/militant1/millitant

¿Dónde reporto un bug?

En GitLab: https://gitlab.com/militant1/millitant/issues


Retour au Wiki