Flujo de Firmas

El workflow completo de firma de dos partes: empresa y postulante

flujoworkflowprocesofirmaempresapostulanteestados

Flujo de Firmas

Entiende el proceso completo de firma digital de dos partes en la plataforma.

Vision General

Flujo de Firma de Dos Partes:

  1. EMPRESA: Crear Solicitud
  2. EMPRESA: Firmar documento
  3. Notificacion enviada al postulante
  4. POSTULANTE: Firmar documento
  5. SISTEMA: Constancia NOM-151
  6. Completado

Estados del Flujo

pending_company

Estado: Pendiente Empresa Color: Amarillo

Significado:

  • Solicitud recien creada
  • Esperando firma de la empresa
  • Postulante NO ha sido notificado
  • Documento aun no firmado por nadie

Acciones disponibles:

  • Empresa: Firmar documento
  • Empresa: Cancelar solicitud
  • Empresa: Ver documento
  • Postulante: No ve la solicitud aun

Siguiente paso: Empresa debe firmar

pending_postulant

Estado: Pendiente Postulante Color: Naranja

Significado:

  • Empresa ya firmo
  • Esperando firma del postulante
  • Postulante notificado (email + plataforma)
  • Documento tiene 1 de 2 firmas

Acciones disponibles:

  • Postulante: Firmar documento
  • Postulante: Ver documento
  • Empresa: Ver estado
  • Empresa: Cancelar (si necesario)
  • Empresa: Reenviar notificacion

Siguiente paso: Postulante debe firmar

pending_constancia

Estado: Pendiente Constancia Color: Azul

Significado:

  • Ambas partes firmaron
  • Esperando timestamp NOM-151
  • Proceso automatico en curso
  • Usualmente toma segundos

Acciones disponibles:

  • Ver estado de constancia
  • Esperar proceso automatico
  • En caso de error: reintentar

Siguiente paso: Sistema obtiene constancia automaticamente

completed

Estado: Completado Color: Verde

Significado:

  • Ambas firmas completadas
  • Constancia NOM-151 obtenida
  • Documento legalmente firmado
  • Proceso terminado exitosamente

Acciones disponibles:

  • Descargar documento firmado
  • Descargar evidencia forense (XML)
  • Ver link de verificacion publica
  • Enviar copia por email
  • Ver detalles de firmas

Siguiente paso: Ninguno - proceso completado

expired

Estado: Expirado Color: Gris

Significado:

  • Tiempo limite excedido
  • No se completo a tiempo
  • No se puede continuar
  • Requiere nueva solicitud

Acciones disponibles:

  • Ver historial
  • Crear nueva solicitud
  • No se puede firmar

Para resolver: Crear nueva solicitud

cancelled

Estado: Cancelado Color: Rojo

Significado:

  • Cancelado por la empresa
  • Razon de cancelacion registrada
  • Proceso terminado
  • Auditoria preservada

Acciones disponibles:

  • Ver razon de cancelacion
  • Ver historial
  • Crear nueva solicitud si necesario

No se puede: Revertir cancelacion

Paso a Paso

Paso 1: Crear Solicitud

Quien: Empresa (reclutador) Estado resultante: pending_company

Acciones:

  • Seleccionar documento PDF
  • Seleccionar candidato (contratado)
  • Definir titulo y descripcion
  • Establecer fecha de expiracion
  • Crear solicitud

Resultado:

  • Solicitud creada
  • Documento copiado a carpeta de firmas
  • Hash SHA-256 calculado
  • Esperando firma de empresa

Paso 2: Firma de Empresa

Quien: Usuario de la empresa Estado resultante: pending_postulant

Proceso:

  • Abrir solicitud
  • Ver documento completo
  • Seleccionar certificado e.firma
  • Proporcionar llave privada (.key)
  • Ingresar contrasena
  • Confirmar firma
  • Click en "Firmar"

Lo que sucede:

  • Hash del documento calculado
  • Firma CMS/PKCS#7 generada
  • IP y User-Agent registrados
  • Certificado snapshot guardado
  • Llave privada eliminada de memoria
  • DocumentSignature creado

Notificaciones enviadas:

  • Email al postulante
  • Notificacion en plataforma
  • WebSocket (si esta conectado)

Paso 3: Firma de Postulante

Quien: Candidato/postulante Estado resultante: pending_constancia

Proceso:

  • Recibir notificacion (email/plataforma)
  • Acceder a la solicitud
  • Leer documento completo
  • Seleccionar su certificado e.firma
  • Proporcionar llave privada (.key)
  • Ingresar contrasena
  • Confirmar firma
  • Click en "Firmar"

Lo que sucede:

  • Hash del documento calculado
  • Firma CMS/PKCS#7 generada
  • IP y User-Agent registrados
  • Certificado snapshot guardado
  • Llave privada eliminada de memoria
  • DocumentSignature creado
  • Trigger para constancia NOM-151

Paso 4: Constancia NOM-151

Quien: Sistema automaticamente Estado resultante: completed

Proceso:

  • Calcular hash final del documento
  • Enviar a PSCWorld (proveedor NOM-151)
  • Recibir timestamp RFC 3161
  • Almacenar constancia
  • Actualizar estado

Lo que sucede:

  • finalDocumentHashHex calculado
  • Request a PSCWorld API
  • TimeStampToken (TST) recibido
  • constanciaTimestampResp guardado
  • constanciaStatus = valid
  • Estado = completed

Notificaciones:

  • Email a empresa con documento
  • Email a postulante con documento
  • Notificaciones en plataforma
  • Evento para automatizacion

Diagrama de Estados

           INICIO
              |
              v
      pending_company
       /     |     \
      v      v      v
  CANCELAR  FIRMAR  EXPIRAR
      |    EMPRESA     |
      v      |         v
  cancelled  |     expired
             v
     pending_postulant
       /     |     \
      v      v      v
  CANCELAR  FIRMAR  EXPIRAR
      |  POSTULANTE    |
      v      |         v
  cancelled  |     expired
             v
    pending_constancia
             |
             v
        completed

Tiempos Tipicos

Tiempos estimados:

PasoTiempo
Crear solicitudInmediato
Firma empresaDepende del usuario (Recomendado: Mismo dia)
Notificacion1-5 minutos (email), Instantaneo (plataforma)
Firma postulanteTipico: 1-3 dias
Constancia NOM-151Tipico: 5-30 segundos
CompletadoInmediato despues de constancia

Tiempo total tipico: 1-5 dias

Notificaciones del Flujo

Email a postulante (paso 2):

  • Asunto: "Documento para firmar: [titulo]"
  • Contenido:
    • Nombre del documento
    • Empresa solicitante
    • Fecha limite
    • Link para firmar
  • Cuando: Al completar firma de empresa

Email de completado (paso 4):

  • Para: Empresa y postulante
  • Adjuntos:
    • Documento firmado (PDF)
    • Evidencia forense (XML)
  • Contenido:
    • Confirmacion de firma
    • Link de verificacion
    • Instrucciones de archivo
  • Cuando: Al obtener constancia

Notificaciones plataforma:

  • Al crear: Solo empresa
  • Al firmar empresa: Postulante
  • Al firmar postulante: Empresa
  • Al completar: Ambos

Manejo de Errores

Error en Constancia

Si PSCWorld falla:

  • Estado: pending_constancia (se mantiene)
  • constanciaStatus: failed
  • constanciaErrorMessage: [detalle del error]

Acciones:

  • Sistema reintenta automaticamente
  • Admin puede reintentar manualmente
  • Si persiste: contactar soporte
  • Firmas siguen siendo validas

Expiracion Durante Proceso

Si expira antes de completar:

Estado actual -> expired

Posibles escenarios:

  • Expiro antes de firma empresa -> Crear nueva solicitud
  • Expiro antes de firma postulante -> Crear nueva solicitud (empresa firma de nuevo)
  • Ambos casos requieren reinicio

Proximos Pasos

¿No encontraste lo que buscabas?

Nuestro equipo de soporte está listo para ayudarte.

Contactar Soporte