Convoca Core
Plugin base del ecosistema. Panel de control, logs, webhooks, backup y plantillas PDF.
1. Panel de Control (Dashboard)¶
Accede desde Convoca → Panel de Control. Muestra un resumen de:
- Socios activos / totales
- Próximas actividades
- Pagos recientes
- Alertas del sistema
2. Salud del Sistema¶
En Convoca → Salud del Sistema encontrarás un diagnóstico completo de todos los plugins Convoca instalados:
- ✅ Versiones de plugins
- ✅ Tablas de base de datos
- ✅ Configuración de cada plugin
- ✅ Conectividad con servicios externos
Usa Forzar comprobación para refrescar el diagnóstico.
3. Registros (Logs)¶
Convoca → Registros centraliza todos los logs del ecosistema:
- Filtro por plugin (core, enroll, members, gateway, shifts)
- Filtro por nivel (info, warning, error)
- Retención de 90 días (automático)
- Cada entrada muestra fecha, plugin, nivel y mensaje
4. Webhooks¶
Convoca → Webhooks permite configurar notificaciones salientes a sistemas externos.
Eventos disponibles¶
| Evento | Se dispara cuando |
|---|---|
member.created |
Se da de alta un nuevo socio |
member.activated |
Se activa un socio |
member.expired |
Una membresía expira |
member.renewed |
Se renueva una membresía |
payment.completed |
Se completa un pago |
enrollment.created |
Nueva inscripción a actividad |
volunteer.hours_approved |
Se aprueban horas de voluntariado |
Configurar un webhook¶
- Haz clic en Añadir webhook
- Introduce la URL de destino
- Selecciona los eventos que quieres recibir
- Opcional: configura un secreto para firma HMAC
- Usa Probar para enviar un evento de prueba
Cada entrega incluye cabecera X-Convoca-Signature con HMAC-SHA256 para verificar autenticidad.
5. Plantillas PDF¶
Ajustes → Plantillas PDF gestiona los documentos del sistema:
| Plantilla | Uso |
|---|---|
| Acuerdo de Incorporación | Para nuevos voluntarios |
| Anexo de Voluntariado | Información complementaria |
| Certificado | Certificado de horas |
| Desvinculación | Documento de baja |
Cada plantilla usa placeholders {{nombre}}, {{dni}}, {{fecha}}, etc. Puedes editarlas en HTML desde el panel. El sistema guarda automáticamente un backup de las últimas 5 versiones.
6. Backup y Restauración¶
Convoca → Backup permite:
- Crear backup: Descarga un ZIP con la base de datos y configuración
- Restaurar: Sube un backup anterior para recuperar datos
- Los backups incluyen todas las tablas de plugins Convoca
7. Asistente de Configuración¶
Convoca → Asistente guía paso a paso en la configuración inicial:
- Datos de la asociación
- Tipos de membresía
- Configuración de pagos
- Páginas principales (shortcodes)
8. Rate Limiter y Locks¶
El sistema incluye protección automática:
- Rate limiter: Previene abusos en formularios públicos (máx 10 peticiones por ventana de 5 minutos por IP)
- Atomic locks: Evita condiciones de carrera en inscripciones (sobreventa de plazas)
No requieren configuración por parte del administrador.
9. Menú global¶
Convoca Core crea el menú Convoca en la barra lateral del admin. Los demás plugins añaden sus submenús aquí automáticamente.
Referencia técnica¶
Capacidades¶
Capacidades personalizadas¶
| Capacidad | Uso principal | Asignada a |
|---|---|---|
manage_inscripciones |
Gestionar inscripciones, check-in, monitores de actividad | admin, monitor_actividad |
gestionar_miembros |
Gestionar socios, proyectos, horas de voluntariado | admin, shop_manager, monitor_actividad |
gestionar_documentos_voluntariado |
Ver/generar documentos PDF (acuerdos, certificados) | admin, shop_manager, monitor_actividad |
gestionar_mis_turnos |
Gestionar turnos propios (frontend voluntarios) | voluntario_aprobado |
view_reports |
Ver informes y logs | admin, monitor_actividad, shop_manager |
manage_convoca_templates |
Gestionar plantillas PDF | admin |
manage_convoca_logs |
Acceder al visor centralizado de logs | admin |
manage_convoca_gateway |
Configurar pasarela de pago | admin |
convoca_shifts_manage_turnos |
Gestionar turnos y voluntarios del centro social | admin, monitor_actividad |
convoca_shifts_audit_hours |
Auditoría de horas de voluntariado | admin, monitor_actividad |
Roles existentes¶
| Rol | Plugins | Capacidades clave |
|---|---|---|
administrator |
Todos | Todas las capacidades personalizadas + manage_options |
monitor_actividad |
Enroll, Common, Members | manage_inscripciones, gestionar_miembros, gestionar_documentos_voluntariado, view_reports |
shop_manager |
Members | gestionar_miembros, gestionar_documentos_voluntariado, view_reports |
voluntario_aprobado |
Turnos, Members | gestionar_mis_turnos, read |
Mapa de páginas → Capacidad requerida¶
Enroll¶
| Página | Slug | Capacidad |
|---|---|---|
| Inscripciones (lista) | convoca-enroll |
gestionar_miembros |
| Añadir inscripción | conv-nueva-inscripcion |
manage_inscripciones |
| Check-in | conv-checkin |
manage_inscripciones |
| Actividades (lista) | conv-actividades |
gestionar_miembros |
| Editor actividad | conv-actividad-editor |
gestionar_miembros |
| Informes | conv-informes |
manage_options |
| Logs | conv-logs |
manage_options |
| Configuración | conv-ajustes |
manage_options |
| CRM Monitores | conv-monitor-crm |
manage_inscripciones |
| Evaluaciones | conv-evaluaciones |
gestionar_miembros |
Members¶
| Página | Slug | Capacidad |
|---|---|---|
| Lista de Miembros | conv-members |
gestionar_miembros |
| Editor miembro | conv-member-editor |
gestionar_miembros |
| Proyectos | conv-proyectos |
gestionar_miembros |
| Editor proyecto | conv-proyecto-editor |
gestionar_miembros |
| Horas voluntariado | conv-volunteer-hours |
gestionar_miembros |
| Editor horas | conv-horas-editor |
gestionar_miembros |
| Importar CSV | conv-import-csv |
manage_options |
| Logs | conv-members-logs |
manage_options |
| Ajustes | conv-members-settings |
manage_options |
| Webhooks | conv-webhooks |
manage_options |
| Estado | conv-members-status |
manage_options |
Gateway¶
| Página | Slug | Capacidad |
|---|---|---|
| Pagos (lista) | conv-payments |
manage_options |
| Generar enlace | conv-generador |
manage_options |
| Ajustes | conv-settings |
manage_options |
Turnos (Centro Social)¶
| Página | Slug | Capacidad |
|---|---|---|
| Todos los Turnos | conv-turnos-list |
manage_options |
| Añadir Turno Rápido | convoca_shifts_turno_rapido |
manage_options |
| Generar Turnos | convoca_shifts_generar_turnos |
manage_options |
| Gestionar Voluntarios | convoca_shifts_voluntarios_pendientes |
manage_options |
| Estadísticas | convoca_shifts_estadisticas |
manage_options |
| Ajustes | convoca_shifts_settings |
manage_inscripciones |
| Estado | convoca_shifts_status |
manage_options |
Common¶
| Página | Slug | Capacidad |
|---|---|---|
| Panel (Dashboard) | conv-dashboard |
manage_options |
| Logs centralizados | conv-logs-central |
manage_convoca_logs |
| Webhooks | conv-webhooks-common |
manage_options |
| Backup | conv-backup |
manage_options |
| Salud del Sistema | conv-health |
manage_options |
| Asistente | conv-setup-wizard |
manage_options |
| Plantillas PDF | conv-pdf-templates |
manage_convoca_templates |
Notas importantes¶
- Todas las páginas admin verifican capacidad mediante
add_submenu_page()(3er argumento). - Las exportaciones CSV deben usar la misma capacidad que la página del listado correspondiente.
edit_post/edit_postsdebe usarse en metaboxes y acciones AJAX sobre un post específico.- Los nonces se verifican en todos los handlers AJAX (
check_ajax_referer) y admin POST (check_admin_referer/wp_verify_nonce). - Las queries SQL usan
$wpdb->prepare()en todas las rutas que aceptan input de usuario. - Los REST endpoints devuelven
WP_REST_Responsecon códigos de estado HTTP adecuados. - El rate limiting protege endpoints públicos (
check_rate_limit).
Convención de metadatos¶
Este documento establece las convenciones de nomenclatura para los metadatos (postmeta) utilizados en los plugins del ecosistema Convoca.
Prefijos por Plugin¶
| Prefijo | Plugin | Uso Principal |
|---|---|---|
_conv_ |
convoca-members | Datos de socios/miembros |
_conv_ |
convoca-enroll | Inscripciones a actividades |
_conv_ |
convoca-gateway | Pagos y transacciones |
convoca-members (prefijos: _conv_)¶
Miembro (post_type: miembro)¶
_conv_email- Email del socio_conv_dni- DNI/NIE del socio_conv_telefono- Teléfono de contacto_conv_fecha_nacimiento- Fecha de nacimiento_conv_direccion- Dirección postal_conv_estado_miembro- Estado del socio (activo, pendiente, etc.)_conv_fecha_alta- Fecha de alta del socio_conv_fecha_renovacion- Fecha de última renovación_conv_fecha_caducidad- Fecha de caducidad de la membresía_conv_tipo_membresia- Tipo de membresía (anual, mensual, etc.)_conv_consentimiento_gdpr- Versión del consentimiento GDPR_conv_acepta_comunicaciones- Aceptación de comunicaciones_conv_is_voluntario- Indica si es voluntario_conv_horas_voluntariado- Horas acumuladas de voluntariado_conv_access_code- Código de acceso único
convoca-enroll (prefijos: _conv_)¶
Inscripción (post_type: inscripcion)¶
_conv_actividad_id- ID de la actividad_conv_miembro_id- ID del socio inscrito_conv_estado- Estado de la inscripción_conv_fecha_inscripcion- Fecha de inscripción_conv_qr_token- Token QR para check-in_conv_check_in- Estado de check-in_conv_fecha_check_in- Fecha de check-in_conv_pago_id- ID del pago asociado_conv_needs_manual_review- Requiere revisión manual_conv_plaza_confirmada- Plaza confirmada
Actividad (post_type: actividad)¶
_conv_plazas_total- Total de plazas disponibles_conv_plazas_disponibles- Plazas disponibles actualmente_conv_fecha_inicio- Fecha de inicio_conv_fecha_fin- Fecha de fin_conv_hora- Hora de la actividad_conv_lugar- Lugar de la actividad_conv_precio_socio- Aportación sugerida para socios_conv_precio_socio_dia- Aportación sugerida para no socios (Trasgus)_conv_es_gratuita- Indica si es gratuita_conv_edad_minima- Edad mínima para participar_conv_edad_maxima- Edad máxima para participar_conv_inscripcion_abierta- Inscripción abierta/cerrada
convoca-gateway (prefijos: _conv_)¶
Pago (post_type: pago)¶
_conv_origen- Origen del pago (members, enroll, etc.)_conv_origen_id- ID de la entidad origen_conv_status- Estado del pago (pending, paid, failed, refunded)_conv_metodo_pago- Método de pago utilizado_conv_importe- Importe del pago_conv_order_id- Order ID de Redsys_conv_redsys_response- Código de respuesta de Redsys_conv_redsys_auth_code- Código de autorización_conv_redsys_full_log- Log completo de la respuesta_conv_paid_at- Fecha de pago completado_conv_created_at- Fecha de creación del pago_conv_notifications_sent- Número de notificaciones enviadas
Notas¶
-
No usar prefijos inconsistentes: Todos los metadatos deben usar el prefijo correspondiente al plugin que los crea.
-
Metadatos de solo lectura: Los metadatos que empiezan con
_son privados y no se muestran en la UI de WordPress por defecto. -
Metadatos booleanos: Usar
1o0en lugar detrue/falsepara consistencia con WordPress. -
Fechas: Usar formato MySQL (
Y-m-d H:i:s) o timestamp UNIX.
API REST¶
| Método | Ruta | Descripción |
|---|---|---|
| GET | /wp-json/convoca/v1/admin/metrics |
Métricas del sistema: timestamp, conteos (requiere permisos de administración) |