Saltar a contenido

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

  1. Haz clic en Añadir webhook
  2. Introduce la URL de destino
  3. Selecciona los eventos que quieres recibir
  4. Opcional: configura un secreto para firma HMAC
  5. 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:

  1. Datos de la asociación
  2. Tipos de membresía
  3. Configuración de pagos
  4. 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_posts debe 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_Response con 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

  1. No usar prefijos inconsistentes: Todos los metadatos deben usar el prefijo correspondiente al plugin que los crea.

  2. Metadatos de solo lectura: Los metadatos que empiezan con _ son privados y no se muestran en la UI de WordPress por defecto.

  3. Metadatos booleanos: Usar 1 o 0 en lugar de true/false para consistencia con WordPress.

  4. 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)