Variantes del origen del documento

Última revisión: 7 Mayo 2024

A efectos de facilitar las pruebas, en todos los casos de uso descritos en los capítulos anteriores se ha utilizado la opción donde Viafirma es quien genera el PDF a partir de una plantilla previamente definida. El Documento que será enviado al firmante podrá ser construido de varias formas:

  • 01 - Documento previamente subido al sistema (recomendado)
  • 02 -ocumento publicado en una URL
  • 03 -Documento generado a partir de una plantilla
  • 04 -Documento previamente firmado en Viafirma

El único cambio a tener en cuenta a la hora de definir el servicio afecta al objeto document:

01 - PDF previamente subido

Este mecanismo necesita de dos pasos previos a la creación de la solcitud:

  • solicitar link
  • subida del documento al link obtenido
  • crear solicitud de firma

Paso 1 de 3: solicitar LINK para el upload

Para subir un documento necesitamos pedir vía API un link al que subir el documento.

GET {{endpoint}}/uploads/link/pdf

Response:

{
    "link": "string",
    "token": "string",
    "expires": 999999999
}

donde:

  • link: URL securizada que debes usar para la subida del documento.
  • token: identificador único asociado a cada documento que desees firmar.
  • expires: caducidad del link expresada en milliseconds. En un entorno de producción la caducidad por defecto es de 3h pero podrá ser modificado.

Paso 2 de 3: upload del documento

Subimos el fichero con un PUT al link obtenido en la respuesta anterior.

PUT link

Ejemplo:

PUT https://s3.eu-west-1.amazonaws.com/sandbox-documents-viafirma/uploads/1715072084149_bc...cffb1

IMPORTANTE: asegúrate que tu método PUT no tenga activada la securización del servicio REST. El servicio al que será subido el documento ya se ocupa de verificar la firma incluida en el link generado.

Ejemplo de uso desde Postman:

Ejemplo de uso desde Postman

Paso 3 de 3: solicitud de firma

En tu llamada habitual al servicio SET para crear nuevas solicitudes de firma debes utilizar el token obtenido. Si en tu política incluyes N documentos tendrás que asociarle a cada uno de ellos el token obtenido en su correspondiente upload.

"document" : {
  "templateType" : "string",
  "templateReference" : "string"
}

donde:

  • templateType: debes indicar uploaded
  • templateReference: debes indicar el token asociado al documento subido anteriormente.

Ejemplo:

"document" : {
  "templateType" : "uploaded",
  "templateReference" : "eyJ0eXAiOiJKV1QiLCJhbiBpcmVzIjoiMTcxNTA4NTEyMTU4M[...]XTYUQ",
}

Ejemplo de un payload completo para solictar un nuevo SET:

{
"groupCode": "myGroupDemo-AA002",
"recipients": [
    {
      "key": "signer01",
      "name" : "John Doe"
      "presential" : true
    }
  ], 
 "messages" : [{
        "document" : {
            "templateType": "uploaded",
            "templateReference": "eyJ0eXAiOiJKV1QiLCJhbiBpcmVzIjoiMTcxNTA4NTEyMTU4M[...]XTYUQ"
        },
        "policies" : [ {
            "signatures" : [ {
                "type" : "CLIENT",
                "recipientKey" : "signer01"
            } ]
        } ]
    }]
}

Ejemplo de un payload completo para solictar un nuevo SET con 2 documentos:

{
"groupCode": "myGroupDemo-AA002",
"recipients": [
    {
      "key": "signer01",
      "name" : "John Doe"
      "presential" : true
    }
  ], 
 "messages" : [{
        "document" : {
            "templateType": "uploaded",
            "templateReference": "eyJ0eXAiOiJKV1QiLCJhbiBpcmVzIjoiMTcxNTA4NTEyMTU4M[...]XTYUQ"
        },
        "policies" : [ {
            "signatures" : [ {
                "type" : "CLIENT",
                "recipientKey" : "signer01"
            } ]
        } ]
    },{
        "document" : {
            "templateType": "uploaded",
            "templateReference": "mVzIjoiMTcxNTA4NTEyMeyJ0eXAiOiJKV1QiLCJhbiBpcTU4M[...]XTYUQ"
        },
        "policies" : [ {
            "signatures" : [ {
                "type" : "CLIENT",
                "recipientKey" : "signer01"
            } ]
        } ]
    }]
}

02 - PDF publicado en URL

El integrador publica el PDF en una URL en la que Viafirma lo recuperará para su procesamiento, en cuyo caso la configuración del objeto document debe definirse de la siguiente manera:

"document" : {
  "templateType" : "url",
  "templateReference" : "<here_your_url"
}

Para agilizar tus pruebas aquí te dejamos un PDF disponible en una URL pública:

https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf

03 - PDF basado en plantilla

El integrador indica el código de la plantilla que se usará para construir el documento. Esta plantilla debe existir previamente en Viafirma.

"document" : {
  "templateType" : "pdf",
  "templateCode" : "your_template_code"
}

04 - PDF previamente firmado en Viafirma

El integrador puede hacer referencia a un proceso de firma de Viafirma, usando el PDF firmado en dicho proceso para volver a ser enviado y firmado.

"document" : {
  "templateType" : "message",
  "templateReference" : "<your_messageCode>"
}

En la colección postman que puedes descargar para probar el API de viafirma tienes un set de pruebas con estas modalidades llamado "Variantes del origen del PDF".

results matching ""

    No results matching ""