Workflow de Firmantes

Última revisión: 10 Jun 2022

IMPORTANTE: este procedimiento solo está soportado en procesos de firma simples, basados en el método del API /messages . Si haces uso de procesos compuestos con el método del API /set te recomendamos que hagas uso de las distintas opciones disponibles en las propiedades del firmante (recipient), como las que definen el orden (order) y obligatoriedad (optional). Revisa el capítulo "Uso de SET de mensajes".

Introducción

Si necesitas establecer un orden de firmantes en tus proceso de firma podrás incluir un código de workflow previamente configurado por el administrador de tu grupo de trabajo. A continuación te explicamos cómo hacerlo.

Cómo importar un flujo

Si eres administrador de un grupo verás una opción en el menú llamada "Flujos". Ahí podrás importar las definiciones de flujo que podrán usarse en todos los procesos vinculados a este grupo.

importar workflow de firmantes al grupo

La definición de los flujos es sencilla, y te lo explicamos a continuación:

El fichero de configuración del flujo debe ser un JSON, y tendrá la siguiente estructura:

{
    "title":"string",
    "steps":[
    {
        "order":"1",
        "policyCode":"{{callto_policyCode}}",
        "type": "WEB",
        "recipients":"{{signer_2}}"
    }]
}

Podrás agregar los pasos (steps) que necesites, y para cada paso, al menos, tendrás que definir lo siguiente:

Atributo Descripción
title string; es OPCIONAL y se usa para mostrarlo en la interfaz de usuario a la hora de seleccionarlo o importarlo.
order "string"; define el orden de los pasos a ejecutar.
policyCode "string"; código de la plantilla que se usará para el proceso de firma. Si la plantilla incorpora políticas de firma, notificaciones, configuración, etc. será respetada en el proceso.
type "string"; podrás indicar "WEB" para procesos remotos en los que notificas al firmante mediante email y/o SMS, y "APP" si quieres enviar el documento a la app de Viafirma.
recipients "string"; aquí debes indicar el destinatario de la notifiación, que normalmente será el firmante. Por ejemplo, "[email protected]".

Valores dinámicos

Como habrás podido comprobar en el ejemplo, la definición del JSON soporta el uso de variables dinámicas que te ayudarán a simplificar el trabajo. Solo tendrás que informar dichos valores en el metadataList o en el formulario de tus solicitudes, por ejemplo:

{
   "groupCode": "apisample",
   "workflow": {
     "type": "WEB",
     "referenceCode":"firma-RRHH"
   },
   "notification": {
     "sharedLink" : {
         "email" : "[email protected]"
     }
   },
   "document": {
       "templateCode": "firma-empleado-template"
   },
   "metadataList": [
   {
       "key": "signer_1",
       "value": "[email protected]"
   },
   {
       "key": "callbackMail_1",
       "value": "[email protected]"
   },
   {
       "key": "signer_2",
       "value": "[email protected]"
   },
   {
       "key": "callbackMail_2",
       "value": "[email protected]"
   },
   {
       "key": "callto_policyCode",
       "value": "firma-RRHH"
   }
   ]
 }

Entre los valores incluidiso en la lista de metadata se encuentran los valores para policyCode y recipients esperados en la definición del flujo, además de otros valores que hemos configurado en la plantilla a nivel de notificaciones realizadas durante el ciclo de vida del proceso de firma, por ejemplo:

El empleado {{signer_1}} ya ha firmado el contrato laboral y está disponible para la revisión y firma de RRHH.

o para automatizar el callbackMail y poder adjuntar el contrato firmado por las dos partes:

Direcciones de email (separadas por coma) que serán notificadas tras finalizar: {{callbackMail_1}},{{callbackMail_2}}

Atributos opcionales

La definición del flujo permite el uso de más atributos que permiten ajustar las necesidades de cada caso, pero te recomendamos usar la mínima lógica posible en el workflow y extraer el grueso de lógica a configuración externa, por ejemplo, en la propia plantilla o en la definición de tu llamada (POST).

Para procesos enviados a la APP de Documents tendrás que agregar los atributos necesarios que nos permitirán identificar al dispositivo y usuario al que le enviaremos la PUSH con el documento que debe firmar.

{
    "title":"string",
    "steps":[
    {
        "order":"1",
        "policyCode":"{{callto_policyCode}}",
        "type": "APP",
        "appCode": "string",
                "code": "string",
                "userCode": "string",
        "recipients": "{{signer_2}}"
    }]
}

Por ejemplo:

{
    "title":"string",
    "steps":[
    {
        "order":"1",
        "policyCode":"{{callto_policyCode}}",
        "type": "APP",
        "appCode": "com.viafirma.documents",
                "code": "john.doe",
                "userCode": "john.doe",
        "recipients": "{{signer_2}}"
    }]
}

results matching ""

    No results matching ""