Firma en App

Última revisión: 31 Octubre 2019

Se parte del caso de uso siguiente:

  • Origen de la solicitud. Aplicación web integrada con el API Viafirma.
  • Origen del PDF. Generado por Viafirma a partir de plantilla.
  • Destino. Firma en la app de Viafirma.
Descripción
SERVICIO MESSAGE
URL /api/v3/message/
SEGURIDAD
METHOD POST
CONTENT/APPLICATION JSON

{
"groupCode" : "string",
"workflow" : {
"type" : "APP"
},
"notification" : {
"text" : "string",
"detail" : "string",
"devices": [
{
"appCode": "string",
"code": "string",
"userCode": "string"
}
]
},
"document" : {
"templateCode" : “string”,
“readRequired” : “true|false”,
"watermarkText" : "string",
“formRequired” : “true|fasle”
},
"callbackMails" : "string",
"callbackURL" : "string"
}
PARAMS groupCode: código del grupo autorizado; el API debe tener permisos sobre el grupo indicado, y en caso de indicar un código de plantilla o de política, éstas deben estar autorizados al grupo.
workflow.type: para la firma presencial se debe usar el tipo “APP”. Este mecanismo está especialmente indicado si como integrador necesitas embeber la página de firma en tu aplicación web. Para otros mecanismos se puede usar “PRESENTIAL” y “WEB”.
• notification.text: (OPCIONAL) título de la notificación enviada a la app; también se usa para el título (1a línea) de la tarjeta mostrada en la bandeja de entrada. Si no se informa se usará por defecto el título configurado en la plantilla utilizada.
notification.detail: (OPCIONAL) descripción de la notificación enviada a la app; también se usa para la descripción (2a línea) de la tarjeta mostrada en la bandeja de entrada. Si no se informa se usará por defecto la descripción configurada en la plantilla utilizada.
Notification.devices.appCode: código de la app a la que se enviará el documento. La app por defecto de Viafirma es “com.viafirma.documents”, pero si tienes una app personalizada debes usar el código de tu app, por ejemplo “com.viafirma.documents.myPrivateApp”.
Notification.devices.code: se refiere al código del usuario autorizado en esa app, y se corresponde a user.UserCode.
document.templateCode: identificador de la plantilla gestionada por Viafirma. Una plantilla incluye documento, políticas, notificaciones, etc. Consulta las opciones de gestión de plantillas para conocer más posibilidades de uso. • document.readRequired: (OPCIONAL) se usa para forzar al avance de todas las páginas que tuviera el documento. Una vez realizado se habilita el panel de políticas que permite continuar con el proceso de firma. Si no se indica este param su valor por defecto es false. • Document.formRequired: (OPCIONAL) valores permitidos true y false, y si se habilita, muestra en la pantalla de firma el formulario previamente diseñado y asociado a la plantilla. • document.watermarkText: (OPCIONAL) se usa para pintar una marca de agua, en diagonal, sobre el visor del documento que se se desea firmar. Si no se indica este param su valor por defecto es “Preview”. • callbackMails: (OPCIONAL) se usa para informar mediante correo electrónico al finalizar el proceso. Se pueden usar varias direcciones de correo separadas por coma. El contenido del correo (asunto y cuerpo) se puede configurar en la plantilla (recomendado), y también se puede configurar en el propio servicio (ver objeto Customization en la documentación oficial del producto). Los estados por defecto en los que se notifica por email son SUCCESS, EXPIRED, ERROR y REJECTED. Para definir estados distintos sobre los que realizar el callbackMail revisar la configuración avanzada del Grupo afectado. • callbackURL: (OPCIONAL) se usa para informar mediante un POST a la URL indicada al finalizar el proceso. Se pueden usar URLs que estén securizadas con Basic Auth, en cuyo caso habría que usar el param “callbackAuthorization” (más información en https://doc.viafirma.com/documents/developer/callback.html). Este param también se puede configurar en los ajustes de la plantilla.
RESPONSE 200: HTTP status code 200/OK

Response content type: string

Recibirás el messageCode del proceso generado con el que podrás gestionarlo en el resto de servicios.
Respuestas alternativas en caso de fallo: se devolverán HTTP status codes distintos de 200/OK.
En ese caso siempre se devolverá un JSON que describe el problema:

    {
        "code": "string",
        "type": "string",
        "message": "string",
        "trace" : "string"
    }

POST SAMPLE

    {
      "groupCode" : "<here_your_groupCode>",
      "workflow" : {
          "type" : "APP"
      },
      "notification" : {
          "text" : "Nuevo contrato pendiente de firma.",
          "detail" : "Núm. Contrato AA9988",
          "devices": [
          {
          "appCode": "com.viafirma.documents",
          "code": "<here_your_registered_app",
          "userCode": "<here_your_registered_userCode"
          }
          ]
      },
      "document" : {
          "templateCode" : "<here_your_templateCode>",
          "readRequired" : false,
          "watermarkText" : "Preview",
          "formRequired" : false
      },
      "callbackMails" : "<here_your_email>",
      "callbackURL" : "<here_your_system_callback>"
    }

results matching ""

    No results matching ""