Políticas basadas en OTP/SMS

Viafirma documents permite agregar políticas basadas en el uso de evidencias electrónicas del tipo OTP por SMS. Permiten añadir una evidencia basándose en el envío de una contraseña de tipo OTP (One time password) por SMS al número de teléfono del destinatario, garantizando que sólo él puede ver esa contraseña e introducirla a la hora de firmar el documento de la petición.

Podrás agregarlas directamente desde el diseñador visual de politicas para referenciarlas a partir de un identificador único de política, o bien podrás definirla al vuelo en tu servicio consumido vía API.

Uso de OTP/SMS

Configuración

Podrás definir las propiedades básicas para el uso de este tipo de evidencia.

También podrás incorporar en la configuración de tu política valores dinámicos, inyectándolos de distintas formas, por ejemplo:

  • solicitándolo en un formulario
  • pasándolo como metadato mediante API

Para hacer uso de un valor dinámico en el número de teléfono solo tendrás que activar la casilla 'Texto Libre'. De esta forma desactivaremos la validación del formato de número de teléfono, y podrás incluir el nombre de la variable que desees, haciendo uso de los limitadores doble llave, tal y como te mostramos a continuación:

Para el resto de configuración podrás hacer uso de variables directamente, por ejemplo:

Detalle de la ayuda: Introduce aquí el código que hemos enviado al número {{otpmail_phoneNumber}}
Texto del SMS: Usa este valor para validar y firmar tu nuevo contrato {{contract_name}}

Consumo vía API

Entre la lista de evidencias disponibles en las políticas debes agregar una evidencia del tipo OTP_SMS y formatearla a las necesidades de cada caso.

Atributo Descripción
evidences.type esta evidencia es de tipo "OTP_SMS"
evidences.helpText título de la cláusula o propiedad que queremos definir; se usará en las cabeceras de las ventanas emergentes
evidences.helpDetail 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 emergentes
evidences.positions lista de posiciones en la que imprimiremos el sello de verificación por OTP/SMS sobre el contenido del PDF. Podemos evitar el uso de posiciones si el PDF cuenta con marcas del tipo Acrofields, en cuyo caso usaremos el atributo positionsKey explicado más abajo. Cada posición debe informar lo siguiente:
evidences.positions.rectangle define el área de la marca a incrustar, indicando posición (x,y) y su tamaño (widht,height)
evidences.positions.page podrás definir hasta tres valores: "0" para imprimirla en todas las páginas, "1" para imprirmirla sólo en la primera página, "-1" para imprimirla sólo en la última y "-2" para imprimir la marca en una página en blanco insertada al final del documento original
evidences.typeFormatSign 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
evidences.positionsKey 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 el sello de verificación por OTP/SMS
evidences.base64Image Es opcional, y se usará para indicar la imagen que usaremos como sello de la evidencia, en formato base64. Si no informamos este atributo, la imagen utilizada para el sello será la asignada en la configuración del grupo propietario de la petición
metadataList En esta lista de pares "key"/"value" se deberá introducir el número de teléfono del destinatario del SMS en un objeto cuya "key" debe ser "phoneNumber" y cuyo "value" será el número de teléfono (con prefijo internacional) (ver ejemplo).

Ejemplo de política del tipo OTP/SMS:

{
  "policies" : [ {
    "evidences" : [ {
      "type" : "OTP_SMS",
      "helpText" : "Código SMS",
      "helpDetail" : "Código de verificación",
      "positions" : [ {
        "rectangle" : {
          "x" : 84,
          "y" : 423,
          "width" : 29,
          "height" : 27
        },
        "page" : 1
      } ],
      "typeFormatSign" : "XADES_B",
      "positionsKey" : "sms_place",
      "base64Image" : "iVBORw0KGgoAAAANSUhEU[...]ORK5CYII=",
      "metadataList": [
        {
            "key": "phoneNumber",
            "value": "+34666777888"
        }
      ]
    } ]
  } ]
}

results matching ""

    No results matching ""