Flujo de Firma
1
Administrador inicia el firmado
Desde el detalle de la solicitud en el panel admin, el administrador hace clic en Iniciar firmado. Esto invoca:El servidor construye el payload
FirmaPlusRequest con los firmantes (solicitante y, si aplica, cónyuge y representante del convenio) y lo envía al endpoint signer de FirmaPlus.2
Solicitud pasa a PENDIENTE_FIRMADO
Si FirmaPlus retorna
Code: "1", el backend actualiza el estado de la solicitud a PENDIENTE_FIRMADO y almacena el NroSolicitud devuelto por FirmaPlus como transaccion_id del proceso de firmado.3
FirmaPlus notifica a los firmantes
FirmaPlus envía automáticamente un correo electrónico (y/o SMS, según la configuración) a cada firmante con el enlace único de firma y un código OTP de validación.
4
Afiliado accede a la página pública de firma
El firmante recibe un enlace del tipo
/firma/:token. Esta página pública no requiere autenticación en la aplicación; el token identifica el proceso y la identidad del firmante ante FirmaPlus.5
Firmante ingresa el OTP y firma el documento
En la interfaz de FirmaPlus, el firmante valida su identidad con el OTP recibido, revisa el documento y aplica su firma electrónica.
6
Estado actualizado a FIRMADO
Cuando todos los firmantes completan el proceso, FirmaPlus notifica el cambio (vía webhook o consulta activa del daemon). El estado de la solicitud se actualiza a
FIRMADO y queda lista para continuar el proceso de aprobación.Composable useFirmadoDigital
El composable useFirmadoDigital encapsula toda la lógica de interacción con los endpoints de firma desde el lado del cliente.
Estado reactivo
Propiedades computadas
Métodos principales
API FirmaPlus
El servicioserver/services/api-firmaplus.ts abstrae la comunicación con la plataforma FirmaPlus. Soporta autenticación Basic y por token Bearer, y en entorno dev (API_FIRMA_ENV=dev) retorna respuestas mock sin hacer llamadas reales.
Endpoints expuestos por FirmaPlus
Autenticación
Ejemplo — Enviar solicitud al endpoint signer
Respuesta de FirmaPlus
Monitoreo de Firmas
El composableuseMonitoreoFirmasRealTime es usado en la página /admin/firmas/monitor para seguir el estado de todas las solicitudes en proceso de firma desde el panel administrativo.
Polling automático
El monitor realiza polling cada 30 segundos de forma silenciosa (sin mostrar indicador de carga):Detección de cambios de estado
En cada ciclo, el composable compara el estado anterior con el nuevo y registra los cambios encambiosRecientes (máximo 10 entradas):
Estadísticas en tiempo real
Filtros de estado disponibles
Daemon nohup
El daemon es un proceso independiente del servidor Nuxt que consulta de forma recurrente el estado de las solicitudes enviadas a FirmaPlus.Arquitectura
Ciclo de trabajo
- Arranque → log
nohup: daemon de consulta FirmaPlus iniciado - Consulta solicitudes con
estado = "PENDIENTE_FIRMADO"en base de datos - Por cada solicitud lanza un worker con
numero_solicitudyfirmantesCount - Espera a que finalice el worker antes de procesar la siguiente (ejecución secuencial)
- Pausa 5 minutos
- Repite desde el paso 2
Ejecución
Ctrl+C. El proceso cierra el cliente Prisma limpiamente ante SIGINT o SIGTERM.
Logs
Ejemplos de entradas en
app.log:
LOG_LEVEL (DEBUG, INFO, WARN, ERROR).
Página Pública de Firma
La ruta/firma/:token es accesible sin autenticación en la aplicación y está destinada al afiliado o firmante que recibe el enlace por correo electrónico.