Uso de evidencias tipo Checks vía API

Revisión: 08-marzo-2019

En las políticas podrás agregar un array con todas las EVIDENCES que necesites:

{
  "policies" : [ {
    "evidences" : [ {} ]
  } ]
}

A continuación te explicamos cómo configurar una evidencia del tipo CHECK.

{
  "type": "string",
  "id": "string",
  "enabled": true,
  "optional": true,
  "helpText": "string",
  "helpDetail": "string",
  "enabledExpression": "string",
  "addLink": true,
  "typeFormatSign": "string",
  "base64Image": "string",
  "positionsKey": "string",
  "positions": [
    {
      "rectangle": {
        "x": 0,
        "y": 0,
        "width": 0,
        "height": 0
      },
      "page": 0
    }
  ],
  "metadataList": [
    {
      "key": "string",
      "value": "string"
    }
  ]
}
Param Required Type Desc
type true string hasta la fecha están soportadas tres tipos de evidencias: IMAGE,SIGNATURE,FINGERPRINT,GENERIC. Para las evidencias del tipo CHECK que nos ocupa en esta documentación usaremos el tipo GENERIC.
id false string Si no se informa un id el sistema genera uno de forma aleatoria. El ID de la evidencia te servirá para definir reglas de validación haciendo uso del atributo enabledExpression.
enabled false boolean podrás habilitar o deshabilitar su uso en función de criterios propios o bien ayudándote de las reglas de validación haciendo uso del atributo enabledExpression.
optional false boolean Indica si la evidencia es opcional o no. En caso de no informar este atributo toda evidencia siempre será obligatoria.
helpText false string título de la cláusula o propiedad que queremos definir; se usará en las cabeceras de las ventanas informativas.
helpDetail false string subtítulo de la cláusula o propiedad que queremos definir, que podremos usar a modo de "asunto"; se usará en la segunda línea de las cabeceras de las ventanas informativas.
enabledExpression false boolean reglas de validación que determinan si la evidencia se tomará en cuenta, con independencia del valor dado al atributo enabled.
addLink false boolean activando esta propiedad el usuario final podrá hacer doble click sobre el CHECK estampado en el PDF, llevándolo a una URL pública donde se muestran las propiedades del documento firmado. Si esta propiedad vale false o no se informa, el comportamiento por defecto al hacer doble click sobre el check será abrir el XML asociado a la evidencia y que está anexo al PDF.
typeFormatSign false string la evidencia se construye y envuelve en un formato XML, el cual es firmado con certificado digital. Con typeFormatSign definimos el formato de la firma, pudiendo usar los distintos valores: XADES_B y XADES_LTA, este último consume sello de tiempo, el cual debería estar previamente configurado en las propiedades generales del servicio.
base64Image false string Es opcional, y se usará para indicar la imagen que usaremos como marca "checked", en formato base64. Si no informamos este atributo, la imagen utilizada para la marca checked será la definida en la configuración de estilos.
positionsKey false string Podemos evitar el uso de posiciones si el PDF cuenta con marcas del tipo Acrofields, en cuyo caso usaremos este atributo para indicar el nombre del acroField que usaremos para imprimir la marca "checked". Te lo explicamos más abajo.
positions false Array[Positions] Podrás definir posiciones absolutas sobre el docuemnto. Te lo explicamos más abajo.
metadataList false Array[Param] Podrás definir posiciones absolutas sobre el docuemnto. Te lo explicamos más abajo.

Positions

El check irá asociado a una imagen por defecto que usaremos como stamper, y que podrás posicionar mediante dos mecanismos:

  • posición absoluta
  • posición acrofield

Posición absoluta

Tendrás que ayudarte del objeto positions con la siguiente configuración:

Param Required Desc
rectangle true define el área de la marca a incrustar, indicando posición (x,y) y su tamaño (widht,height)
page true podrás definir los siguientes valores: 0 para imprimirla en todas las páginas, 1 para imprimirla sólo en la primera página, -1 para imprimirla sólo en la última, -2 para imprimir la marca en una página en blanco insertada al final del documento original o el número que coincida con la página del PDF en la que desees imprimir el sello.
{
  "positions" : [ {
    "rectangle" : {
        "x" : 0,
        "y" : 0,
        "width" : 0,
        "height" : 0
    },
    "page" : 0
  } ]
}

Posición acrofield

Tendrás que ayudarte del atributo positionsKey y usar una plantilla del tipo PDF que contenga un campo de formulario (acrofield) el mismo identificador que informes el atributo.

MetadataList

La evidencia del tipo CHECK permitirá el uso de los siguientes metadatos que te ayudarán a un uso avanzado para:

{
  "metadataList": [
    {
      "key": "string",
      "value": "string"
    }
  ]
}
key desc
text Texto que mostraremos al usuario asociado al check. El contenido de este texto se registrará como parte de la evidencia en el XML anexo al PDF junto a otra información.
groupCode Sólo para checks agrupados; te permitirá identificar el grupo de checks al que quieres asociar tu evidencia.
groupTitle Sólo para checks agrupados; título del grupo de checks, y podrás informarlo únicamente en uno de los checks que formen parte del mismo grupo.
groupDesc Sólo para checks agrupados; descripción del grupo de checks, y podrás informarlo únicamente en uno de los checks que formen parte del mismo grupo, por ejemplo en la evidencia check done haya definido el metadato groupTitle.
requiredValue podrás forzar a que el check esté activado (true) o desactivado (false).
defaultValue podrás informar de un valor predefindo (true o false); si el usuario no accede a la evidencia su valor será null.

Ejemplos de Uso

Ejemplo de política del tipo check:

{
  "evidences" : [ {
  "type" : "GENERIC",
  "providerId" : "Check",
  "helpText" : "Art. 22.- Uso Datos Biométricos.",
  "helpDetail" : "Confidencialidad de los datos biométricos y protección de la información conforme al GDPR.",
  "positions" : [ {
    "rectangle" : {
      "x" : 84,
      "y" : 423,
      "width" : 29,
      "height" : 27
    },
    "page" : 1
  } ],
  "typeFormatSign" : "XADES_B",
  "positionsKey" : "check_place",
  "base64Image" : "iVBORw0KGgoAAAANSUhEU[...]ORK5CYII="
  } ]
}