Modelo de Documentos

Cómo usar las políticas en viafirma documents

Revisión: 13-noviembre-2018

Como integrador tienes 2 alternativas para usar políticas:

  • uso implícito de políticas
  • uso explícito de políticas

Uso implícito de políticas

Como integrador podrás facilitar tu trabajo apuntando a un código de políticas que previamente ha sido diseñado y gestionado en el backend de viafirma documents. De esta forma, sólo tendrás que definir qué documento enviar y a quién.

Ejemplo de uso implícito de políticas

{
    "workflow": {
        "type": "APP"
    },
    "notification": {
        "text": "Nuevo contrato pendiente de firma",
        "detail": "Cliente con ref. A1882",
        "notificationType": "PUSH_IOS",
        "devices": [{
                "appCode": "com.viafirma.documents",
                "code": "customer_care_ipad01",
                "type": "IOS",
                "userCode": "jhon.doe@viafirma.com"
            }]
        },
        "document": {
            "templateReference": "https://www.viafirma.com/myPDF_sample.pdf",
            "templateType": "url",
            "policyCode": "myPolicyCode_sample_001"
    }
}

En el ejemplo anterior, el documento está referenciado en una URL, y se aplicará la política de firma con código "myPolicyCode_sample_001", política que previamente ha debido ser creada y diseñada en el backend de viafirma documents.

Uso explícito de políticas

Si no puedes referenciar a una política existente tendrás que definirla explícitamente en el servicio. Para ello tendrás que gestionar el objeto POLICY.

Ejemplo de uso implícito de políticas

Política de ejemplo que informaremos de forma explícita en nuestro mensaje:

"policies" : [ {
    "evidences" : [ {
      "type" : "SIGNATURE",
      "helpText" : "Firma de {{cliente}}",
      "typeFormatSign" : "XADES_T",
      "positionsKey" : "firma_place"
    } ],
    "signatures" : [ {
      "type" : "SERVER",
      "helpText" : "Sello electrónico",
      "typeFormatSign" : "PADES_LTA",
      "stampers" : [ {
        "type" : "QR_BARCODE128",
        "rotation" : "ROTATE_90",
        "positionsKey" : "stamper_place"
      } ]
    } ]
  } ]

El mensaje con la política usada de forma explícita quedaría de la siguiente forma:

{
  "workflow" : {
    "type" : "APP"
  },
  "notification" : {
    "text" : "Nuevo contrato pendiente de firma",
    "detail" : "Cliente con ref. A1882",
    "notificationType" : "PUSH_IOS",
     "devices" : [ {
       "appCode" : "com.viafirma.documents",
       "code" : "customer_care_ipad01",
       "type" : "IOS",
       "userCode" : "jhon.doe@viafirma.com"
      } ]
    },
  "document" : {
    "templateReference" : "https://www.viafirma.com/myPDF_sample.pdf",
    "templateType" : "url"
  },
  "policies" : [ {
      "evidences" : [ {
        "type" : "SIGNATURE",
        "helpText" : "Firma del cliente",
        "typeFormatSign" : "XADES_T",
        "positionsKey" : "signature_box"
      } ],
      "signatures" : [ {
        "type" : "SERVER",
        "helpText" : "Sello electrónico",
        "typeFormatSign" : "PADES_LTA",
        "stampers" : [ {
          "type" : "QR_BARCODE128",
          "rotation" : "ROTATE_90",
          "positionsKey" : "stamper_box"
        } ]
      } ]
    } ]
}