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.
Roles del sistema
| Rol | Acciones disponibles |
|---|---|
| Administrador / Secretaría | Crear plantillas, emitir certificados (individual y masivo), enviar correos, revocar certificados, ver métricas del dashboard. |
| Participante | Ver y descargar sus certificados desde la pestaña "Mis Certificados" en el perfil de [aos_user_profile]. |
| Componente | Versión mínima | Notas |
|---|---|---|
| WordPress | 6.0 | Se recomienda la última versión estable |
| PHP | 7.4 | Se recomienda 8.1+. Totalmente compatible con PHP 8.x |
| AOS Palace Core | Cualquiera activa | Obligatorio. Sin él, AOS Cert muestra un aviso y no inicializa ningún módulo. |
| AOS Pass | Opcional | Solo necesario si usas la opción "Exigir validación de asistencia (check-in)" en las plantillas. |
| Edición activa | — | Debe existir una edición activa en AOS Palace para emitir certificados y usar la generación masiva. |
| Licencia AOSYS | Activa | En 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.
-
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.
-
Sube e instala AOS Cert
Ve a Plugins → Añadir nuevo → Subir plugin, selecciona el archivo
.zipde AOS Cert y haz clic en Instalar ahora. -
Activa el plugin
Haz clic en Activar. El instalador crea automáticamente la tabla
aos_cert_email_logsen la base de datos y genera la plantilla base de asistencia del sistema (no editable, siempre disponible). -
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).
-
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.
-
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.
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
| Campo | Variable de plantilla | Descripció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
| Campo | Variable de plantilla | Descripció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
| Campo | Descripción | Recomendación |
|---|---|---|
| Logotipo del Congreso | Aparece en la cabecera del PDF del certificado | PNG con fondo transparente. Ancho máx. 300px. |
| Imagen de Firma | Firma digital del responsable del congreso | PNG 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.
Configura el correo que reciben los participantes cuando su certificado es emitido. El PDF se adjunta automáticamente.
| Opción | Descripción | Por defecto |
|---|---|---|
| Habilitar envío de correos | Activa o desactiva el envío automático al generar certificados | Activado |
| Nombre del Remitente | Nombre que aparece como emisor del correo | Nombre del sitio WordPress |
| Correo del Remitente | Dirección From del correo | Email de administrador de WordPress |
| Asunto | Asunto del email. Admite variables de plantilla. | "Tu certificado de {nombre_congreso} ya está disponible" |
| Cuerpo del Mensaje | Texto 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}.
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.
Campos de contenido
| Campo | Descripción | Admite variables |
|---|---|---|
| Nombre de la plantilla | Identificador interno (solo visible en el panel admin). Ej: "Asistencia 2025". | No |
| Título del certificado | Texto grande que aparece como encabezado principal del diploma. Ej: "Certificado de Asistencia". | Sí |
| Cuerpo del certificado | Texto principal del diploma. Donde se certifica la participación del congresista. | Sí |
| Texto del pie | Texto secundario al pie del certificado. Opcional. | Sí |
Opciones de diseño (sidebar)
| Opción | Valores | Descripción |
|---|---|---|
| Orientación | Horizontal (Apaisado) / Vertical (Retrato) | Orientación de la página del PDF generado |
| Tamaño de papel | A4 / A3 / Letter / Legal | Tamaño del documento PDF |
| Color de fondo | Selector de color hexadecimal | Color de relleno del fondo del certificado |
| Imagen de fondo | URL 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.
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.
| Variable | Valor que toma | Origen |
|---|---|---|
{nombre_completo} | Nombre y apellidos del participante (display_name) | Perfil de usuario WordPress |
{nombre_congreso} | Nombre del congreso configurado en Ajustes → General | Opción aos_cert_options[congress_name] |
{fecha_congreso} | Fechas del congreso (texto libre) | Opción aos_cert_options[congress_date] |
{ciudad} | Ciudad / lugar del congreso | Opción aos_cert_options[congress_city] |
{firmante} | Nombre del firmante del certificado | Opción aos_cert_options[signer_name] |
{cargo_firmante} | Cargo del firmante | Opció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}."
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.
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").
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
aos_certificate con todos los metadatos: edición, usuario, plantilla, tipo, fecha y generador.uploads/aos-certs/edition-{id}/.uploads/aos-logs/aos-cert.log) para trazabilidad.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ón | Descripción | Por defecto |
|---|---|---|
| Plantilla de certificado | Plantilla que se usará para generar todos los PDFs de este lote | — (obligatorio seleccionar) |
| Tipo de certificado | Tipo que se asignará a todos los certificados del lote | Asistencia |
| Validar asistencia | Solo genera si el participante tiene check-in registrado en AOS Pass | Desactivado |
| Evitar duplicados | Omite los participantes que ya tienen un certificado del mismo tipo en la edición activa | Activado |
| Enviar por correo | Envía automáticamente el PDF por email al generar cada certificado | Desactivado |
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.
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.
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.
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ón | Descripción |
|---|---|
| Ícono del tipo | Ícono visual según el tipo de certificado (asistencia, ponente, moderador, comité) |
| Nombre de la edición | Congreso al que corresponde el certificado |
| Tipo de certificado | Tipo en texto legible |
| Estado de envío | Si el certificado fue enviado por email y cuándo |
| Botón de descarga | Descarga 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.
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.
Hooks consumidos del Core
| Hook | Tipo | Uso en AOS Cert |
|---|---|---|
aos_user_profile_tabs | apply_filters | Añade la pestaña "Mis Certificados" al shortcode [aos_user_profile] del frontend |
aos_admin_user_profile_after_services | do_action | Añade la caja de certificados al final de la ficha CRM del participante en el admin |
aos_payment_confirmed | do_action | Punto de integración para automatizar la generación de certificados al confirmar un pago (roadmap v1.1) |
Funciones helper del Core utilizadas
| Función | Uso 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 Core | Se usa como |
|---|---|
post_title (CPT aos_edition) | Nombre del Congreso → congress_name |
_aos_dates | Fechas del Congreso → congress_date |
_aos_place | Lugar / Ciudad → congress_city |
_aos_logo_url | Logotipo del Congreso → logo_url |
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
aos_ev_get_participant_status($user_id, $edition_id) para comprobar si checked_in es verdadero.aos_pass_checkins si existe en la base de datos.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.
Sin una licencia AOSYS activa, AOS Cert funciona en modo trial con las siguientes restricciones:
Indicadores visuales del modo trial
En modo trial, el sistema muestra indicadores visuales en distintos puntos del panel de administración:
| Ubicación | Indicador |
|---|---|
| Parte superior de todas las páginas de AOS Cert | Banner naranja con el contador de certificados usados / restantes |
| Pantalla de Asignación Masiva | Bloque 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
-
Ve a AOS Cert → Ajustes → Licencia
Accede a la pestaña de licencia desde el menú de ajustes del plugin.
-
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. -
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.
| Término | Definición |
|---|---|
| Certificado | Diploma emitido para un participante concreto en una edición concreta del congreso. |
| Plantilla | Diseño base reutilizable para generar certificados. No está vinculada a ninguna edición concreta. |
| Plantilla base | Plantilla de asistencia creada automáticamente por el sistema. Está protegida contra edición y borrado. |
| Variable de plantilla | Marcador de posición en el texto del certificado (ej. {nombre_completo}) que se sustituye por el valor real al generar el PDF. |
| Generación masiva | Proceso que emite certificados para todos los participantes activos de la edición en lotes, ejecutado en segundo plano sin bloquear el navegador. |
| Revocar | Eliminar un certificado emitido: borra el registro y el archivo PDF del servidor. Acción irreversible. |
| Check-in | Registro 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. |
| AOSYS | Sistema de licencias de OlbiaSystem SL. Cada plugin del ecosistema AOS incluye su propio cliente de licencias independiente. |
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.