Viafirma Documents

WORKFLOW: configuración y uso

Revisión: 5-junio-2019

Cuando crees un nuevo proceso de firma podrás optar por varios tipo de procesos. Por defecto el flujo predefinido será APP, que consiste en enviar el documento a una app iOS o Android.

{
  "workflow": {
    "type": "string",
    "expires": "string"
  }
}
PARAM TYPE REQUIRED DESC
type string True Por defecto el type esperado es APP, por lo que el proceso espera un objeto Device al que poder enviar el documento que debe ser firmado. Los workflow.type admitidos son: APP, WEB y PRESENTIAL.
expires timestamp False Fecha y hora límite para completar el proceso. Una vez expirado el proceso ya no podrá continuarse. Este valor podrá ser definido por el integrador cuando realiza la solicitud del proceso, y en su defecto se aplica la caducidad asociada al grupo al que pertenece la petición. En caso de no tener un grupo asociado o no tener indicada la caducidad en la configuración del grupo se aplicará la caducidad indicada en la configuración del API o APP propietaria del proceso.

Ejemplo:

{
  "workflow": {
    "type": "APP"
  }
}

Firma en apps

Debes usar el tipo de proceso APP, y para este tipo de procesos es obligatorio informar a qué dispositivo enviarás el documento, y para ello te ayudarás del objeto NOTIFICACION.DEVICES.

{
  "workflow": {
    "type": "APP"
  }
}

En el siguiente link te dejamos un ejemplo detallado de un proceso de firma enviado a una app de viafirma.

Firma Web

Debes usar el tipo de proceso WEB, y para este tipo de procesos es obligatorio informar un mecanismo de notificación mediante el cual el firmante podrá acceder a una página web de firma, y para ello te ayudarás del objeto NOTIFICACION.SHARELINK.

{
  "workflow": {
    "type": "WEB"
  }
}

En el siguiente link te dejamos un ejemplo detallado para solicitar firmas web.

Firma Embebida

Si necesitas embeber en tu aplicación web o móvil la página de firma generada por viafirma tendrás que usar el tipo de proceso PRESENTIAL y hacer uso del atributo link asignado a tu proceso.

{
  "workflow": {
    "type": "PRESENTIAL"
  }
}

En el siguiente link te dejamos un ejemplo detallado para embeber en tu aplicación nuestra página de firma.

Firma con Pads de firma tipo Wacom

Para firmas delegadas en Pads de firma externos, como los del fabricante Wacom, tendrás que usar el tipo de proceso PRESENTIAL y hacer uso del atributo scheme asignado a la app que se lanzará por protocolo para interactuar con la Wacom.

{
  "workflow": {
    "type": "PRESENTIAL"
  }
}

En el siguiente link te dejamos un ejemplo detallado para firmar con Wacom.

Opciones Extendidas

A continuación te mostramos todas las posibilidades de uso, configuración y tratamiento proceso de firma (workflow):

"workflow": {
  "code": "string",
  "current": "string",
  "next": "string",
  "history": [
    {
      "start": "2018-11-04T21:10:46.779Z",
      "ends": "2018-11-04T21:10:46.779Z",
      "taskName": "string",
      "order": 0,
      "error": {
        "code": 0,
        "type": "string",
        "message": "string",
        "trace": "string"
      }
    }
  ],
  "initiate": "2018-11-04T21:10:46.780Z",
  "lastUpdated": "2018-11-04T21:10:46.780Z",
  "expires": "2018-11-04T21:10:46.780Z",
  "type": "APP"
}

Consulta del estado del proceso

Con GET api/v3/messages/status/{messageCode} tendrás el estado actual del proceso y la fecha de la última actualización.

{
  "status": "{string}",
  "lastUpdated": "{timestamp}"
}

Consulta detallada del proceso

Si consultas el estado de tu mensaje con GET api/v3/messages/{messageCode} obtendrás un detalle del proceso en función del estado del ciclo de vida en el que se encuentre en ese momento tu proceso.

"workflow": {
  "current": "string",
  "next": "string",
  "history": [
    {
      "start": "2018-11-04T21:10:46.779Z",
      "ends": "2018-11-04T21:10:46.779Z",
      "taskName": "string",
      "order": 0,
      "error": {
        "code": 0,
        "type": "string",
        "message": "string",
        "trace": "string"
      }
    }
  ],
  "initiate": "2018-11-04T21:10:46.780Z",
  "lastUpdated": "2018-11-04T21:10:46.780Z",
  "expires": "2018-11-04T21:10:46.780Z",
  "type": "APP"
}
PARAM TYPE REQUIRED DESC
current string True Indica el estado actual de tu proceso.
next string True Indica el próximo estado por el que debería pasar tu proceso cuando se finalice la tarea en curso.
initiate timestamp True Fecha y hora de inicio del proceso.
lastupdate timestamp True Fecha y hora de la última actualización del proceso.
expires timestamp True Fecha y hora límite para completar el proceso. Una vez expirado el proceso ya no podrá continuarse. Este valor podrá ser definido por el integrador cuando realiza la solicitud del proceso, y en su defecto se aplica la caducidad asociada a la configuración del API o APP propietaria del proceso.
type string True Indica el tipo de proceso: APP, WEB o PRESENTIAL.
history list True Lista de estados por los que ha pasado el proceso, indicando para cada uno de ellos el nombre de la tarea, fecha de inicio y fin, y el registro de errores en caso de producirse.