Viafirma Documents

Cómo construir un nuevo proceso de firma

Revisión: 05-diciembre-2018

En esta guía te explicamos todas las posibilidades que tienes para crear un nuevo proceso de firma, en función de criterios de negocio como:

  • destino: app iOS, app Android, Email, SMS, Link.
  • documento: generado por terceros, generado por viafirma, modelo híbrido.
  • políticas: firmas, evidencias, validaciones, etc.
  • respuestas: URL, email, transferencias, etc.
{
  "groupCode": "string",
  "callbackMails": "string",
  "workflow": {},
  "notification": {},
  "document": {}
}

Te lo explicamos por partes:

Atributos básicos del MESSAGE

Para configurar tu nuevo proceso de firma tendrás que usar los siguientes atributos que te explicamos a continuación:

{
  "groupCode": "string",
  "callbackMails": "string"
}
PARAM TYPE REQUIRED DESC
groupCode string False El grupo determinará comportamiento preconfigurado relativo factores como transferencias automáticas, hojas de estilos, permisos, etc. Es importante que el grupoCode coincida con el grupo con el que pretendes completar tu proceso de negocio. Para más información puedes consultar la documentación del producto para la gestión y configuracion de grupos. Su uso es recomendado.
callbackMails string False Aquí podrás informar una cuenta de correo, o varias separadas por coma, a las que informaremos automáticamente cuando tu proceso haya finalizado, pudiendo incluir como anexo el documento firmado y con un mensaje y estilo personalizado. Para más información puedes revisar la documentación sobre el uso de Callbacks.

Ejemplo:

{
  "groupCode": "acme_group01",
  "callbackMails": "jhon.doe@acme.com"
}

Para conocer más posibilidades de uso de este objeto MESSAGE revisa esta otra guía detallada:

Objeto Workflow

{
  "workflow": {
    "type": "string"
  }
}
PARAM TYPE REQUIRED DESC
type string False 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.

Ejemplo:

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

Para conocer más posibilidades de uso de este objeto WORKFLOW y los tipos de procesos soportados revisa esta otra guía detallada:

Objeto Notification

Este objeto sólo será requerido para los workflow.type APP y WEB, y en él podrás definir cómo notificar al usuario al vamos a enviarle el documento que debe firmar.

{
  "notification": {
    "text": "string",
    "detail": "string",
    "notificationType": "string",
    "devices": [
      {
        "appCode": "string",
        "code": "string",
        "userCode": "string"
      }
    ]
  }
}
PARAM TYPE REQUIRED DESC
text string False Si la notificación pertenece a un proceso type=APPel valor informado en este atributo text se usará para el título de la notificación PUSH remitida al dispositivo móvil.
detail string False Si la notificación pertenece a un proceso type=APPel valor informado en este atributo detail se usará para la descripción del proceso, mostrado en el nuevo elemento de la bandeja de entrada en la app.
notificationType string False Debes usar los valores PUSH_IOS o PUSH_ANDROID para cada caso.
devices.appCode string True Identificador de la app a la que se enviará el proceso de firma. El identificador de la app se configura en el Panel de Control > Aplicaciones. Por ejemplo: com.viafirma.documents. Dado que viafirma permite apps custom para distribución privada, este valor podrá tomar tantos valores como apps estén dadas de alta en el sistema, por ejemplo com.viafirma.documents.acme.
devices.code string True Identificador del dispositivo al que se desea enviar el proceso de firma. Dado que el sistema permite permite hacer uso de distintos dispositivos por un mismo usuario de forma concurrente, el código de dispositivo podrá ser igual al código de usuario o distinto en función de la configuración habilitada. En concreto: si se permiten sesiones concurrentes, el devices.appCode y el devices.userCode podrán ser distintos; por ejemplo: appCode = ipad03 y userCode = jhon.doe@acme.com. En caso no estar permitidas las sesiones concurrentes, ambos atributos siempre serán iguales. Es decir, devices.appCode siempre será igual al devices.userCode. Para obtener la lista de dispositivos de un usuario podrás usar el servicio GET /v3/devices/user/{userCode}.
devices.userCode string True Identificador del usuario, por ejemplo jhon.doe@acme.com

Ejemplo:

{
  "notification": {
    "text": "Nuevo contrato",
    "detail": "Ref. AA82 Isabel Romero Gil",
    "notificationType": "PUSH_IOS",
    "devices": [
      {
        "appCode": "com.viafirma.com.documnents",
        "code": "jhon.doe@acme.com",
        "userCode": "jhon.doe@acme.com"
      }
    ]
  }
}

Para conocer más posibilidades de uso de este objeto NOTIFICATION revisa esta otra guía detallada:

Objeto Document

Con este objeto nos informarás cuál es el documento a firmar, y tendrás varias posibilidades:

  • tu sistema genera el documento (PDF) y lo pasas por referencia (URL o Base64).
  • o viafirma construye el documento (PDF) a partir de una plantilla que nos indicas por referencia.

Su estructura básica es como la siguiente:

{
    "document": {
    "templateCode": "string"
  }
}
PARAM TYPE REQUIRED DESC
templateCode string True Código de la plantilla previamente configurada en el sistema. Para más información revisa la guía de uso de plantillas.

Ejemplo:

{
    "document": {
    "templateCode": "newContract_policy_v1"
  }
}

Para conocer más posibilidades de uso de este objeto DOCUMENT revisa esta otra guía detallada: