📚 Documentación oficial · Extensión AOS Palace

AOS Cert
Manual de Usuario

Emisión automática de diplomas y certificados en PDF para congresos. Plantillas personalizables, generación masiva por lotes y distribución por correo electrónico.

v1.0.1 AOS Palace Core requerido WordPress 6.0+ PHP 7.4+
🗺
Visión General
Qué hace AOS Cert y cómo encaja en el ecosistema AOS Palace

AOS Cert es la extensión de certificación del ecosistema AOS Palace. Permite emitir, gestionar y distribuir diplomas y certificados en PDF para cualquier congreso, con plantillas totalmente personalizables y un motor de generación masiva por lotes que procesa a todos los participantes en segundo plano.

🎨
Plantillas personalizables
Crea plantillas con texto, logo, firma, color de fondo e imagen. Disponibles para todas las ediciones.
Generación masiva
Emite certificados para todos los participantes de la edición activa en lotes de 10, con barra de progreso.
📨
Distribución por correo
Envía el PDF adjunto directamente al participante. Configura remitente, asunto y cuerpo del mensaje.
🎫
Validación de asistencia
Opcionalmente exige check-in registrado en AOS Pass antes de emitir el certificado.
👥
Panel del participante
Los congresistas ven y descargan sus certificados desde la pestaña "Mis Certificados" en su perfil.
📊
Dashboard de métricas
Estadísticas en tiempo real: total emitidos, enviados, pendientes y distribución por tipo de certificado.

Roles del sistema

RolAcciones disponibles
Administrador / SecretaríaCrear plantillas, emitir certificados (individual y masivo), enviar correos, revocar certificados, ver métricas del dashboard.
ParticipanteVer y descargar sus certificados desde la pestaña "Mis Certificados" en el perfil de [aos_user_profile].
📋
Requisitos
Dependencias necesarias antes de instalar
ComponenteVersión mínimaNotas
WordPress6.0Se recomienda la última versión estable
PHP7.4Se recomienda 8.1+. Totalmente compatible con PHP 8.x
AOS Palace CoreCualquiera activaObligatorio. Sin él, AOS Cert muestra un aviso y no inicializa ningún módulo.
AOS PassOpcionalSolo necesario si usas la opción "Exigir validación de asistencia (check-in)" en las plantillas.
Edición activaDebe existir una edición activa en AOS Palace para emitir certificados y usar la generación masiva.
Licencia AOSYSActivaEn modo trial solo se pueden emitir 5 certificados en total (sin límite por edición).
ℹ️

AOS Cert verifica la presencia de AOS Palace Core al arrancar (class_exists('AOS\Events\Core\Plugin')). Si no lo detecta, muestra un aviso en el panel de WordPress y detiene su inicialización sin causar errores fatales.

Instalación
Puesta en marcha paso a paso
  1. Verifica que AOS Palace Core está activo

    Ve a Plugins → Plugins instalados y comprueba que AOS Palace Core aparece activo con una edición configurada. Sin él, AOS Cert no puede funcionar.

  2. Sube e instala AOS Cert

    Ve a Plugins → Añadir nuevo → Subir plugin, selecciona el archivo .zip de AOS Cert y haz clic en Instalar ahora.

  3. Activa el plugin

    Haz clic en Activar. El instalador crea automáticamente la tabla aos_cert_email_logs en la base de datos y genera la plantilla base de asistencia del sistema (no editable, siempre disponible).

  4. Introduce la clave de licencia

    Ve a AOS Cert → Ajustes → Licencia, introduce tu clave de licencia AOSYS y actívala. Sin licencia activa el sistema funciona en modo trial (máximo 5 certificados).

  5. Configura los datos del congreso

    Ve a AOS Cert → Ajustes → General y rellena los datos del congreso (nombre, fechas, ciudad, firmante, logo y firma). Puedes usar el botón "Precargar datos de esta edición" para importar automáticamente la información de la edición activa.

  6. Crea tu primera plantilla

    Ve a AOS Cert → Plantillas → Nueva Plantilla. Diseña el texto del certificado usando las variables disponibles y configura orientación, tamaño y colores.

La instalación está completa cuando aparece el menú AOS Cert en el panel de WordPress con el ícono de diploma (🏆) y el dashboard muestra las métricas en cero. El sistema está listo para emitir certificados.

ℹ️

Para actualizar el esquema de base de datos tras una actualización de versión, desactiva y vuelve a activar el plugin. Este es el procedimiento oficial de todo el ecosistema AOS Palace.

⚙️
Ajustes Generales
AOS Cert → Ajustes → General

Esta pestaña configura los datos que se usan como variables en el texto de los certificados y en los correos de distribución. Todos estos valores se almacenan en la opción aos_cert_options.

Datos del congreso

CampoVariable de plantillaDescripción
Nombre del Congreso{nombre_congreso}Nombre completo del evento tal como aparecerá en el diploma
Fechas del Congreso{fecha_congreso}Texto libre de fechas (ej. "15-17 de mayo de 2025")
Lugar / Ciudad{ciudad}Ciudad y/o lugar de celebración del congreso

Firmante

CampoVariable de plantillaDescripción
Nombre del Firmante{firmante}Nombre completo de la persona que firma el certificado
Cargo del Firmante{cargo_firmante}Cargo o rol (ej. "Presidente del Comité Organizador")

Recursos gráficos

CampoDescripciónRecomendación
Logotipo del CongresoAparece en la cabecera del PDF del certificadoPNG con fondo transparente. Ancho máx. 300px.
Imagen de FirmaFirma digital del responsable del congresoPNG con fondo transparente. Alta resolución.
💡

El botón "Precargar datos de esta edición" importa automáticamente el nombre, fechas, lugar y logo desde la edición activa de AOS Palace Core. Solo rellena los campos vacíos, respetando los valores que ya hayas introducido manualmente.

📧
Configuración de Correos
AOS Cert → Ajustes → Correos

Configura el correo que reciben los participantes cuando su certificado es emitido. El PDF se adjunta automáticamente.

OpciónDescripciónPor defecto
Habilitar envío de correosActiva o desactiva el envío automático al generar certificadosActivado
Nombre del RemitenteNombre que aparece como emisor del correoNombre del sitio WordPress
Correo del RemitenteDirección From del correoEmail de administrador de WordPress
AsuntoAsunto del email. Admite variables de plantilla."Tu certificado de {nombre_congreso} ya está disponible"
Cuerpo del MensajeTexto del email. Admite variables de plantilla. El PDF siempre va adjunto.Mensaje de agradecimiento con variables estándar
ℹ️

El asunto y el cuerpo del correo admiten las mismas variables que las plantillas de certificado: {nombre_completo}, {nombre_congreso}, {fecha_congreso}, {firmante} y {tipo_certificado}.

🎨
Gestión de Plantillas
AOS Cert → Plantillas

Las plantillas definen el diseño visual y el texto de los certificados. Son globales: no están vinculadas a ninguna edición concreta y pueden reutilizarse en cualquier congreso.

Plantilla base del sistema

Al activar el plugin, el sistema crea automáticamente una plantilla base de asistencia protegida. Esta plantilla no puede editarse ni eliminarse (aparece con la etiqueta BASE) y sirve como punto de partida garantizado para emitir certificados sin configuración previa.

Crear una plantilla nueva

Haz clic en + Nueva Plantilla en la esquina superior derecha. El formulario se organiza en dos columnas: contenido a la izquierda y opciones de diseño a la derecha.

💡

Las plantillas eliminadas no se pueden recuperar. Si necesitas una versión alternativa de una plantilla existente, duplícala creando una nueva con los mismos textos antes de modificarla.

✏️
Editor de Plantilla
Campos de contenido y opciones de diseño

Campos de contenido

CampoDescripciónAdmite variables
Nombre de la plantillaIdentificador interno (solo visible en el panel admin). Ej: "Asistencia 2025".No
Título del certificadoTexto grande que aparece como encabezado principal del diploma. Ej: "Certificado de Asistencia".
Cuerpo del certificadoTexto principal del diploma. Donde se certifica la participación del congresista.
Texto del pieTexto secundario al pie del certificado. Opcional.

Opciones de diseño (sidebar)

OpciónValoresDescripción
OrientaciónHorizontal (Apaisado) / Vertical (Retrato)Orientación de la página del PDF generado
Tamaño de papelA4 / A3 / Letter / LegalTamaño del documento PDF
Color de fondoSelector de color hexadecimalColor de relleno del fondo del certificado
Imagen de fondoURL de imagen (seleccionable desde la Biblioteca de medios)Imagen que sobreescribe el color de fondo. Ideal para marcos y diseños elaborados.

Opciones de validación

El checkbox "Exigir validación de asistencia" (_aos_cert_require_checkin) hace que el sistema verifique si el participante tiene un check-in registrado en AOS Pass antes de generar su certificado. Si no tiene check-in, el certificado se omite en la generación masiva y se muestra un error en la generación individual.

⚠️

Esta opción solo es funcional si AOS Pass está activo e instalado. Si AOS Pass no está disponible, el sistema usa un fallback que consulta directamente la tabla aos_pass_checkins. Si ninguna de las dos alternativas está disponible, el certificado se genera sin validación de asistencia.

🔤
Variables Disponibles
Sustitución dinámica en textos de plantillas y correos

Estas variables se sustituyen automáticamente por los datos reales al generar el PDF y al enviar el correo. Úsalas en los campos de texto de la plantilla y en el asunto y cuerpo del email de distribución.

{nombre_completo} {nombre_congreso} {fecha_congreso} {ciudad} {firmante} {cargo_firmante} {tipo_certificado}
VariableValor que tomaOrigen
{nombre_completo}Nombre y apellidos del participante (display_name)Perfil de usuario WordPress
{nombre_congreso}Nombre del congreso configurado en Ajustes → GeneralOpción aos_cert_options[congress_name]
{fecha_congreso}Fechas del congreso (texto libre)Opción aos_cert_options[congress_date]
{ciudad}Ciudad / lugar del congresoOpción aos_cert_options[congress_city]
{firmante}Nombre del firmante del certificadoOpción aos_cert_options[signer_name]
{cargo_firmante}Cargo del firmanteOpción aos_cert_options[signer_role]
{tipo_certificado}Tipo del certificado en texto legible (ej. "Asistencia", "Ponente")Meta _aos_cert_type del certificado
💡

Ejemplo de texto de cuerpo completo: "Se certifica que {nombre_completo} ha participado como {tipo_certificado} en {nombre_congreso}, celebrado en {ciudad} el {fecha_congreso}."

🎓
Tipos de Certificado
Los cuatro tipos disponibles y cuándo usar cada uno

AOS Cert soporta cuatro tipos de certificado. Cada certificado emitido lleva uno de estos tipos guardado en el meta _aos_cert_type, que se usa para la variable {tipo_certificado} y para los filtros del listado de administración.

🪑
Asistencia
Para participantes que asistieron al congreso. Es el tipo por defecto de la plantilla base del sistema.
🎤
Ponente
Para autores o coautores que presentaron una comunicación oral o póster en el congreso.
🏛
Moderador
Para personas que moderaron una sesión o mesa redonda del congreso.
🔬
Comité
Para miembros del comité científico, organizador o revisor del congreso.
ℹ️

Los cuatro tipos se muestran en el desplegable de filtro del listado de certificados y en el selector de la generación masiva. La variable {tipo_certificado} se sustituye automáticamente por el texto legible en español (ej. "Ponente"), no por el slug técnico ("ponente").

👤
Generación Individual
Emitir un certificado para un participante concreto

Hay dos formas de generar un certificado para un participante concreto: desde el listado de certificados y desde la ficha CRM del participante en AOS Palace Core.

Desde el listado de certificados

En AOS Cert → Certificados, el formulario de generación individual está disponible en la parte superior de la página. Selecciona el participante (por nombre o email), la plantilla y el tipo de certificado.

Desde la ficha CRM del participante

En la ficha de un participante en AOS Palace → Participantes, aparece una caja "Certificados AOS Cert" al final de la página con el historial de certificados emitidos y un formulario para generar uno nuevo directamente desde el CRM.

Proceso de generación

1
Verificación de licencia y límite trial
El sistema verifica si la licencia está activa. En modo trial, bloquea la generación si ya se emitieron 5 certificados.
2
Verificación de edición abierta
Comprueba que la edición activa está publicada y abierta. Las ediciones archivadas no aceptan nuevos certificados.
3
Creación del registro en WordPress
Crea un CPT aos_certificate con todos los metadatos: edición, usuario, plantilla, tipo, fecha y generador.
4
Generación del PDF
El motor PDF (dompdf si está disponible, HTML fallback en caso contrario) genera el archivo y lo guarda en uploads/aos-certs/edition-{id}/.
5
Registro en log
El evento queda registrado en el log del sistema (uploads/aos-logs/aos-cert.log) para trazabilidad.
Generación Masiva
AOS Cert → Certificados → Asignación Masiva

La generación masiva emite certificados para todos los participantes activos de la edición activa. El proceso se ejecuta en lotes de 10 participantes para evitar timeouts, con una barra de progreso en tiempo real.

Opciones de configuración de la emisión masiva

OpciónDescripciónPor defecto
Plantilla de certificadoPlantilla que se usará para generar todos los PDFs de este lote— (obligatorio seleccionar)
Tipo de certificadoTipo que se asignará a todos los certificados del loteAsistencia
Validar asistenciaSolo genera si el participante tiene check-in registrado en AOS PassDesactivado
Evitar duplicadosOmite los participantes que ya tienen un certificado del mismo tipo en la edición activaActivado
Enviar por correoEnvía automáticamente el PDF por email al generar cada certificadoDesactivado

Barra de progreso y resumen final

Al iniciar la generación, la barra de progreso muestra cuántos participantes se han procesado de cuántos en total. Al finalizar, el sistema muestra un resumen con el número de certificados generados y los omitidos (por duplicado, falta de check-in o límite trial).

⚠️

La generación masiva solo incluye participantes con estado active en la tabla de inscripciones (aos_ev_registrations). Los participantes en estado pending, reviewing o cancelled no se incluyen en el lote.

🚫

La generación masiva está bloqueada si la edición activa está cerrada (archivada). Verifica en AOS Palace Core que la edición está publicada y activa antes de iniciar el proceso.

📨
Envío por Correo
Distribución de certificados por email

AOS Cert permite enviar los certificados por correo electrónico tanto de forma individual como en lote para certificados seleccionados.

Envío individual

En el listado de certificados (AOS Cert → Certificados), cada fila tiene un botón 📧 Enviar que envía el PDF de ese certificado al email del participante. El estado de envío se actualiza inmediatamente en la columna "Enviado".

Envío por lote (seleccionados)

Marca los certificados deseados usando los checkboxes de la tabla y haz clic en 📧 Enviar seleccionados. El sistema envía en secuencia y muestra un resumen con los enviados correctamente y los que tuvieron error.

Envío automático en la generación

Tanto en la generación individual como en la masiva, existe la opción "Enviar por correo al generar". Si está activada, el correo se envía inmediatamente después de generar el PDF de cada certificado.

Registro de envíos

Todos los envíos quedan registrados en la tabla aos_cert_email_logs con la fecha, el administrador que lo realizó y el estado (sent o error). En el historial de la ficha CRM del participante en AOS Palace Core aparece la pestaña "Comunicaciones Enviadas" con este registro.

ℹ️

Si el PDF aún no está generado cuando se intenta enviar el correo, el sistema lo genera automáticamente en ese momento antes de adjuntarlo al email.

Revocar Certificados
Eliminar un certificado emitido por error o caducado

El botón ✕ Revocar en el listado de certificados elimina permanentemente el certificado: borra el CPT de WordPress y el archivo PDF del disco. Esta acción no se puede deshacer.

🚫

Revocar un certificado es una acción irreversible. Si el participante ya recibió el PDF por correo, el archivo en su bandeja de entrada no se puede eliminar remotamente. Si necesitas invalidar un certificado ya enviado, contacta directamente con el participante.

Tras la revocación, el participante ya no podrá descargar el certificado desde su perfil (Mis Certificados), ya que el enlace al PDF dejará de existir.

👥
Mis Certificados (Frontend)
Vista del participante en su perfil de usuario

AOS Cert añade automáticamente la pestaña "Mis Certificados" al shortcode [aos_user_profile] de AOS Palace Core. No requiere configuración adicional: se inyecta mediante el filtro aos_user_profile_tabs.

Qué ve el participante

El historial completo de sus certificados, agrupado por edición del congreso (de más reciente a más antigua). Para cada certificado se muestra:

InformaciónDescripción
Ícono del tipoÍcono visual según el tipo de certificado (asistencia, ponente, moderador, comité)
Nombre de la ediciónCongreso al que corresponde el certificado
Tipo de certificadoTipo en texto legible
Estado de envíoSi el certificado fue enviado por email y cuándo
Botón de descargaDescarga directa del PDF. Si el archivo no existe en disco, se regenera automáticamente en el momento de la descarga mediante AJAX.
💡

La descarga desde el frontend verifica que el certificado pertenece al usuario autenticado antes de servir el archivo. Un participante nunca puede descargar el certificado de otro usuario.

🏛
Vista CRM del Administrador
Gestión de certificados desde la ficha del participante

Cuando AOS Cert está activo, la ficha de cada participante en AOS Palace → Participantes muestra una caja adicional "Certificados AOS Cert" al final de la página.

Qué incluye la caja CRM

La caja muestra el listado de todos los certificados emitidos para ese participante (todas las ediciones) con opciones de descarga y envío. También incluye un formulario rápido para generar un nuevo certificado directamente desde la ficha, sin necesidad de ir al módulo de Certificados.

ℹ️

Esta caja se inyecta vía el hook do_action('aos_admin_user_profile_after_services', $user_id) de AOS Palace Core. Solo aparece si AOS Cert está activo; si se desactiva, la ficha del participante vuelve a su estado original sin errores.

🔗
Integración con AOS Palace Core
Hooks, filtros y funciones helper que AOS Cert consume del Core

Hooks consumidos del Core

HookTipoUso en AOS Cert
aos_user_profile_tabsapply_filtersAñade la pestaña "Mis Certificados" al shortcode [aos_user_profile] del frontend
aos_admin_user_profile_after_servicesdo_actionAñade la caja de certificados al final de la ficha CRM del participante en el admin
aos_payment_confirmeddo_actionPunto de integración para automatizar la generación de certificados al confirmar un pago (roadmap v1.1)

Funciones helper del Core utilizadas

FunciónUso en AOS Cert
aos_ev_get_active_edition_id()Obtiene la edición activa para asignar _aos_edition_id a cada certificado emitido
aos_ev_is_edition_open($id)Bloquea la generación (individual y masiva) si la edición está archivada
aos_ev_get_participant_status($uid, $eid)Verifica el check-in del participante cuando la plantilla tiene activada la validación de asistencia

Datos leídos de las ediciones

La función "Precargar datos de esta edición" en Ajustes → General lee los siguientes metadatos directamente del CPT aos_edition:

Meta Key del CoreSe usa como
post_title (CPT aos_edition)Nombre del Congreso → congress_name
_aos_datesFechas del Congreso → congress_date
_aos_placeLugar / Ciudad → congress_city
_aos_logo_urlLogotipo del Congreso → logo_url
🎫
Integración con AOS Pass
Validación de asistencia mediante check-in

Cuando una plantilla tiene activada la opción "Exigir validación de asistencia", AOS Cert verifica si el participante hizo check-in antes de emitir su certificado.

Cómo funciona la validación

1
Verificación vía función helper del Core
Primero intenta usar aos_ev_get_participant_status($user_id, $edition_id) para comprobar si checked_in es verdadero.
2
Fallback: consulta directa a la tabla de AOS Pass
Si la función helper no está disponible, consulta directamente la tabla aos_pass_checkins si existe en la base de datos.
3
Sin check-in → participante omitido
Si el participante no tiene check-in, se omite en la generación masiva (incrementa el contador de "omitidos") y devuelve error en la generación individual.
💡

La validación de check-in también puede activarse en la pantalla de generación masiva con el checkbox "Validar asistencia", independientemente de lo que tenga configurado la plantilla. Ambas opciones son acumulativas: si alguna de las dos exige check-in, se valida.

🔒
Modo Trial y Licencia
Límites del trial y activación de licencia completa

Sin una licencia AOSYS activa, AOS Cert funciona en modo trial con las siguientes restricciones:

⚠️ Modo Trial
Máximo 5 certificados en total (global, sin filtrar por edición). El acceso al panel y la configuración no están bloqueados.
✅ Licencia Activa
Generación ilimitada de certificados, actualizaciones automáticas y soporte técnico prioritario.

Indicadores visuales del modo trial

En modo trial, el sistema muestra indicadores visuales en distintos puntos del panel de administración:

UbicaciónIndicador
Parte superior de todas las páginas de AOS CertBanner naranja con el contador de certificados usados / restantes
Pantalla de Asignación MasivaBloque de alerta que bloquea el botón "Iniciar Generación Masiva" si el límite está alcanzado
Perfil del participante (frontend)Aviso al participante si hay restricciones de trial activas

Activar la licencia

  1. Ve a AOS Cert → Ajustes → Licencia

    Accede a la pestaña de licencia desde el menú de ajustes del plugin.

  2. Introduce tu clave de licencia AOSYS

    Copia la clave desde el panel de clientes de OlbiaSystem (https://aosys.olbiasystem.com) y pégala en el campo.

  3. Haz clic en "Activar licencia"

    El sistema verifica la clave con el servidor de licencias AOSYS. Al confirmarse, el indicador cambia a Activa y desaparecen todos los banners de trial.

📖
Glosario
Términos clave de AOS Cert
TérminoDefinición
CertificadoDiploma emitido para un participante concreto en una edición concreta del congreso.
PlantillaDiseño base reutilizable para generar certificados. No está vinculada a ninguna edición concreta.
Plantilla basePlantilla de asistencia creada automáticamente por el sistema. Está protegida contra edición y borrado.
Variable de plantillaMarcador de posición en el texto del certificado (ej. {nombre_completo}) que se sustituye por el valor real al generar el PDF.
Generación masivaProceso que emite certificados para todos los participantes activos de la edición en lotes, ejecutado en segundo plano sin bloquear el navegador.
RevocarEliminar un certificado emitido: borra el registro y el archivo PDF del servidor. Acción irreversible.
Check-inRegistro de asistencia física de un participante al evento, gestionado por AOS Pass. AOS Cert puede requerir check-in antes de emitir ciertos tipos de certificados.
AOSYSSistema de licencias de OlbiaSystem SL. Cada plugin del ecosistema AOS incluye su propio cliente de licencias independiente.
Preguntas Frecuentes
Respuestas a los problemas más comunes

La generación masiva empieza y se detiene con "Límite trial alcanzado"

Sin licencia activa solo se pueden emitir 5 certificados en total. El límite se cuenta globalmente (no por edición). Activa tu licencia en AOS Cert → Ajustes → Licencia para desbloquear la generación ilimitada.

El PDF del certificado está en blanco o muestra texto sin formato

Esto ocurre cuando la biblioteca dompdf no está disponible y el sistema usa el fallback HTML. El PDF resultante puede verse diferente según el visor. Para obtener PDFs con diseño completo, asegúrate de que AOS Pass (que incluye dompdf en su carpeta vendor/) está instalado y activo.

Los participantes no aparecen en la generación masiva

La generación masiva solo incluye participantes con el pago de su inscripción confirmado en la edición activa. Verifica que los participantes tienen pedidos en estado confirmado y no simplemente registrados o pendientes.

La pestaña "Mis Certificados" no aparece en el perfil del usuario

Verifica que: (1) AOS Cert está activo, (2) el shortcode de la página usa [aos_user_profile] de AOS Palace Core, y (3) el usuario está autenticado. La pestaña se añade automáticamente en cuanto el plugin está activo.

El botón "Precargar datos de esta edición" no rellena ningún campo

Comprueba que hay una edición activa configurada en AOS Palace → Ajustes → General. Si la edición existe pero no tiene fechas, lugar o logotipo configurados, el botón no tendrá datos que importar para esos campos.

La validación de check-in no funciona aunque AOS Pass está activo

Verifica que AOS Pass está actualizado y correctamente integrado con AOS Palace Core. Si la integración no está disponible, el sistema intentará consultar los registros de check-in directamente. Si ninguna vía está disponible, el certificado se genera sin validación de asistencia.

¿Cómo actualizo el sistema tras instalar una nueva versión?

Desactiva y vuelve a activar el plugin desde Plugins → Plugins instalados. Esto aplica automáticamente cualquier cambio estructural necesario de forma segura.