WP API Codeia
Transforma WordPress en una API headless configurable, versionada y completamente gobernable desde un dashboard administrativo
by WP API Codeia Team · github.com/josemas68/wp-api-codeia · website
Install
No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:
wp plugin install https://github.com/josemas68/wp-api-codeia/archive/refs/heads/sprint%2F1.zipTransforma WordPress en una API headless configurable, versionada y completamente gobernable desde un dashboard administrativo.
Descripción
WP API Codeia es un plugin de arquitectura enterprise que proporciona:
- Configuración visual sin código: Exposición selectiva de datos mediante interfaz gráfica
- Detección automática: Reconocimiento de CPTs, taxonomías, meta fields, ACF y JetEngine
- Versionado de endpoints: Soporte para v1, v2, etc. con backward compatibility
- Autenticación múltiple: API Keys, JWT, OAuth2, Application Passwords, Basic Auth
- Permisos granulares: Control a nivel de rol, capability, endpoint, método y campo
- Documentación automática: Generación de OpenAPI 3.0 actualizada en tiempo real
- Gobernanza centralizada: Dashboard unificado para gestión de API
Instalación
- Sube los archivos del plugin a
/wp-content/plugins/wp-api-codeia - Activa el plugin desde el menú 'Plugins' en WordPress
- Accede a WP API Codeia en el menú principal del admin
- Una API Key será creada automáticamente para los administradores
Uso Rápido
Autenticación
El plugin utiliza API Keys para autenticación. Incluye tu API Key en el header Authorization:
curl -H "Authorization: Bearer wpck_tu_api_key_aqui" \
https://tu-site.com/api/v1/posts
Endpoints Disponibles
Por defecto, el plugin crea dos endpoints:
Listar Posts:
GET /api/v1/posts
Obtener Post Individual:
GET /api/v1/posts/{id}
Listar Páginas:
GET /api/v1/pages
Parámetros de Query
page: Número de página (default: 1)per_page: Items por página, máximo 100 (default: 10)search: Término de búsqueda
Ejemplo:
curl -H "Authorization: Bearer wpck_tu_api_key" \
"https://tu-site.com/api/v1/posts?page=2&per_page=20"
Respuesta
{
"data": [
{
"id": 1,
"title": "Mi Post",
"content": "<p>Contenido del post...</p>",
"excerpt": "Extracto del post...",
"date": "2025-02-24T10:00:00+00:00",
"link": "https://tu-site.com/mi-post",
"author": {
"id": 1,
"name": "Admin"
}
}
],
"meta": {
"page": 1,
"per_page": 10,
"total": 50,
"total_pages": 5
}
}
Gestión de API Keys
- Ve a WP API Codeia en el admin
- Haz clic en API Keys
- Podrás:
- Ver tus API Keys existentes
- Crear nuevas Keys
- Revocar Keys
- Ver el historial de uso
Requisitos
- WordPress: 6.0 o superior
- PHP: 8.2 o superior
- Permisos: Acceso al panel de administración de WordPress
Características en Desarrollo
Este es el Sprint 1 del desarrollo. Las características implementadas incluyen:
✅ Sprint 1 (v1.0.0) - Actual
- Estructura modular completa
- Autenticación con API Keys
- Endpoints GET para posts y páginas
- Detección de CPTs y taxonomías
- Sistema de configuración JSON
- Dashboard básico
- Logging de requests
🚧 Sprint 2 (v1.1.0) - Próximo
- Detección de campos ACF y JetEngine
- Autenticación JWT
- Permisos a nivel de campo
- Rate limiting
- Sistema de caching
- Control de CORS
- Subida de media vía API
📋 Sprint 3 (v1.2.0)
- Versionado de endpoints
- Application Passwords
- Swagger UI
- Logging avanzado
- Optimización de performance
🎯 Sprint 4 (v2.0.0)
- OAuth2 completo
- Webhooks
- Multi-tenant avanzado
- Analytics
- Enterprise ready
Documentación
Para documentación arquitectónica y técnica completa, consulta:
- ARQUITECTURA.md - Arquitectura completa del plugin
- PLAN_IMPLEMENTACION.md - Plan de desarrollo por sprints
- CLAUDE.md - Guía para desarrolladores
Changelog
Consulta CHANGELOG.md para ver el historial de cambios.
Seguridad
- Las API Keys son almacenadas con hash usando
password_hash() - Todas las requests son validadas con permisos
- Rate limiting configurable (próximamente)
- Logs de auditoría para detectar actividades sospechosas
Contribución
Este proyecto está en desarrollo activo. Para contribuir:
- Revisa el plan de implementación
- Sigue los patrones de arquitectura definidos
- Mantén compatibilidad con WordPress 6.x y PHP 8.2+
Licencia
Este plugin está licenciado bajo GPL v2 o posterior.