/
Consumo API /PROCESS V1 [Crear procesos de Firma]

Consumo API /PROCESS V1 [Crear procesos de Firma]

VERSIONAMIENTO DEL DOCUMENTO

Fecha

Versión

Autor

Descripción

31-10-2024

V1

Pablo Parra

Creación y documentación inicial

 

 

 

 

APROBACIONES DEL DOCUMENTO

Fecha

Versión

Aprobador

Área /Cargo

06-11-2024

V1

Juan Valbuena

Desarrollador Firma seguro

 

 

 

 

 

1. Introducción consumo de API

1.1Propósito

Este documento establece la definición de los métodos y los valores establecidos como parámetros para el consumo del aplicativo Firma Electrónica API en sistemas externos o aplicaciones clientes. También se evidencian consideraciones y prerrequisitos necesarios para realizar una integración con otras soluciones.En este documento se explicara el consumo del controlador “Process”

2. Requisitos Previos para consumo de API

2.1. Autenticación

2.1.1. Autenticación

Controlador “Auth” POST

2.1.3. Proceso para obtener la API Key o Token de acceso Bearer

Debe solicitar usuario y contraseña al área IT del operador del servicio el cual suministrará accesos para que pueda consumirlo. 

2.1.4. Seleccione la Versión del consumo “Process”

Existen diferencias por cada versión cuando se consume la API:

 

  • FS API V1: .El consumo de esta versión  asegura el consumo de saldos de la siguiente manera:

    • Método Create Full: Saldo por Firmas  

    • Método Create By documents: Saldo por documentos Haz clic en el enlace Swagger API APP v1 para acceder a la ejemplificación del consumo.

  • FS API V2: El consumo de esta versión asegura el consumo de saldos de la siguiente manera:

    •  Al consumir el servicio debe verificarse el Parámetro tipo integer “balanceTypeId”, donde al consumirlo deberá relacionar 1 [Saldo por firmas] o  2 [Saldo por documentos]. Haz clic en el enlace Swagger API APP v2 para acceder a la ejemplificación del consumo.

2.2. Entorno

  •  Se manejan dos entornos por marca DEMO y PRODUCCIÓN, con la siguiente estructura:

    https://[Personalizable ambiente].[Dominio_cliente].co/ Ejemplo 

    • DEMO:https://demo.firmaseguro.co/ 

    • PRODUCCIÓN: https://app.firmaseguro.co/ 

NOTA: Estos entornos pueden personalizarse según la necesidad del cliente.

3. Consumo POST

El controlador Process permite crear procesos de firmado de documentos de manera digital y manuscrita, ofreciendo flexibilidad a través de dos métodos principales: "Create-Full" y "Create-by-documents". Ambos métodos comparten el objetivo de gestionar el proceso de firma, pero con diferencias clave en la forma en que se procesan los documentos.


3.1. Continuación de la URL de Solicitud: 

Por Favor tenga en cuenta la Versión del Consumo [V1 o V2].

  •  /api/v1/Process/create-full

  • /api/v1/Process/create-by-documents

3.2. Parámetros de Solicitud: 

 A continuación explicaremos el objetivo, variaciones de uso y detalle técnico de los dos métodos "Create-Full" y "Create-by-documents":

3.2.1. Método "Create Full"

El método "Create Full" se utiliza para crear un proceso de firma sobre un único documento PDF en base 64, donde cada destinatario puede firmar el documento de forma digital y/o manuscrita. El proceso de firma se completa cuando el documento ha sido firmado por todos los destinatarios. Dependiendo de la configuración, "Create Full" ofrece varias opciones de personalización:

  • Sin plantilla (firma digital)[Ver punto 3.2.1.1]: Permite firmar el documento de forma digital, añadiendo una página al documento con las firmas digitales de todos los destinatarios, que contienen sus datos básicos. No se utiliza una plantilla predefinida, lo que lo hace ideal para escenarios en los que el uso de firmas manuscritas no es relevante.

  • Sin plantilla (firma manuscrita y digital)[Ver punto 3.2.1.2]: Permite firmar el documento de manera digital  añadiendo una página adicional con los datos básicos del firmante, y agregar una firma de evidencia manuscrita, utilizando un esquema de coordenadas que posiciona la firma.

  • Con plantilla PDF [Ver punto 3.2.1.3]: Este método permite firmar el documento utilizando una plantilla PDF predefinida, identificada por un ID. Las coordenadas para la firma manuscrita pueden ajustarse desde una consola de administración de plantillas, lo que permite definir la ubicación exacta de la firma. También se añade una página con la firma digital de cada destinatario y sus datos básicos.

  • Con plantilla HTML[Ver punto 3.2.1.4]: Utiliza una plantilla HTML identificada por un ID, que puede personalizarse mediante tags de texto y de firma para determinar tanto el contenido del documento como la ubicación de la firma manuscrita. Esta plantilla es modificable desde una consola de administración, y se agrega una página con las firmas digitales de todos los destinatarios, incluyendo sus datos básicos.

 

A continuación podrá verificar el detalle técnico del consumo:

3.2.1.1. Create Full - Sin plantilla (firma digital):

El código podría desglosarse en las siguientes partes:

  • Púrpura: Strings que identifica la configuración general de la solicitud

  • Rosa: Array de datos que identifica la informacion de los firmantes

  • Naranja: Strings que identifica los documentos añadidos al proceso de firma.

  • Lima: String que identifica la url para realizar callback del documento firmado.

  • Cyan:  Strings que identifica los mensajes que aparecerán en el Lay out del correo de notificación cuando el proceso sea activado.

  • Azul: Array de datos que identifica  un documento adjunto que se añadirá al correo de notificación cuando el proceso sea activado .

{

  "processTypeId": 0,

  "signatureMethodId": 0,

  "deadlineDays": 0,

  "isInOrder": true,

  "templateId": null,

  "isRead": true,

  "isSendByEmail": true,

  "isSendByWhatsApp": true,

  "language": "string",

  "isHandWritten": true,

  "isPhotographic": true,

  "signatures": [

    {

      "order": 0,

      "rol": "string",

      "processId": 0,

      "authenticationMethodId": 0,

      "contactInformation": {

        "phone": {

          "indicative": "string",

          "number": "string"

        },

        "email": "string",

        "person": {

          "firstName": "string",

          "firstLastName": "string",

          "identification": null,

          "identificationTypeId": 0,

          "typePersonId": 0

        }

      },

      "signatory_type": "string"

    }

  ],

  "documents": {

    "fileName": "string",

    "documentTypeId": 0,

    "base64String": "string"

  },

  "callback": "string",

  "subjectEmail": "string",

  "messageEmail": "string",

  "copyEmails": "string",

  "balanceTypeId": 0,

  "documentsOnlyRead": [

    {

      "fileName": "string",

      "base64String": "string"

    }

  ]

}

{

  "processTypeId": 0,

  "signatureMethodId": 0,

  "deadlineDays": 0,

  "isInOrder": true,

  "templateId": null,

  "isRead": true,

  "isSendByEmail": true,

  "isSendByWhatsApp": true,

  "language": "string",

  "isHandWritten": true,

  "isPhotographic": true,

  "signatures": [

    {

      "order": 0,

      "rol": "string",

      "processId": 0,

      "authenticationMethodId": 0,

      "contactInformation": {

        "phone": {

          "indicative": "string",

          "number": "string"

        },

        "email": "string",

        "person": {

          "firstName": "string",

          "firstLastName": "string",

          "identification": null,

          "identificationTypeId": 0,

          "typePersonId": 0

        }

      },

      "signatory_type": "string"

    }

  ],

  "documents": {

    "fileName": "string",

    "documentTypeId": 0,

    "base64String": "string"

  },

  "callback": "string",

  "subjectEmail": "string",

  "messageEmail": "string",

  "copyEmails": "string",

  "balanceTypeId": 0,

  "documentsOnlyRead": [

    {

      "fileName": "string",

      "base64String": "string"

    }

  ]

}

 

Por favor verifique  la ejemplificación del consumo en Swagger en versión 1 [Swagger API APP v1] y en Versión 2 [Swagger API APP v2]

 

Parámetro

Descripción

Tipo

Obligatoriedad

Ejemplo

processTypeId

Tipo de proceso a crear. Puede ser:

  • 1 (Solo Yo)

  • 2 (Otros y Yo)

  • 3 (Solo Otros)

Int

SI

3

signatureMethodId

Método de firma con el cual se creará el proceso.

  • 1 Firma electrónica simple.

  • 2 Firma electrónica certificada.

Int

SI

2

balanceTypeId

Método con tipo de saldo el cual asignará un valor.

  • 1 Saldo por firmas

  • 2 Saldo por documentos

[Verifique la Versión usada, según se explica en el punto 2.1.3]

Int

SI

1

deadlineDays

Plazo máximo en días para que todos los signatarios firmen el documento asociado al proceso.

Int

SI

30

isInOrder

Parámetro que permite que el proceso sea por orden de firmantes predefinido. Valores:

  • True, el proceso tendrá orden de firmantes.

  • False, el proceso no tendrá orden de firmantes.

Boolean

No

True

templateId

Parámetro que permite indicar el número del ID del template de documento que se desea asignar al proceso de firma. (Este valor lo entregara el Usuario Administrador)

Int

No

null

isRead

Parámetro que identifica si se  configurará una obligatoriedad de lectura al PDF para poder ser firmado. Valores:

  • True, con obligatoriedad de lectura

  • False, sin obligatoriedad de lectura.

Boolean

 

SI

True

isSendByEmail

Parámetro que  indica si la notificación cuando esté montado el proceso en la App será enviada por correo electrónico. Valores:

  • True, SI se envía la notificación por correo electrónico

  • False, NO se envía la notificación por correo electrónico

Boolean

 

SI

True

isSendByWhatsApp

Parámetro que  indica si la notificación cuando esté montado el proceso en la App será enviada por WhatsApp. Valores:

  • True, SI se envía la notificación por WhatsApp

  • False, NO se envía la notificación por WhatsApp

Boolean




Si

True

language

Parámetro que permite agregar el idioma en que se maneja del firma manuscrita. Valores:

  • en, Inglés

  • es, Español.

No es obligatorio, por defecto lo toma como español

String

Si

es

isHandWritten

Parámetro que permite agregar firma manuscrita. Valores:

  • True, proceso tendrá firma manuscrita

  • False, el proceso no tendrá firma manuscrita.

Boolean

No

True

isPhotographic

Parámetro que permite agregar firma fotográfica. Valores:

  • True, el proceso tendrá firma fotográfica.

  • False, el proceso no tendrá firma fotográfica.

Boolean

No

True

signatures[]

Este array determina el listado de firmantes vinculados al proceso, sujeto al tipo de proceso. Acepta máximo 10 firmantes por proceso

order

(parámetro del array signatures) El orden de cada firmante en el proceso

Int

Si el valor isOrden = True

1

rol

(parámetro del array signatures)  Determina el rol  que se le asigna al Firmante.El parámetro es obligatorio si se le asigna una plantilla al proceso de firma.

String

Si

Empleado

processId

(parámetro del array signatures) Debe tener como valor 0.

Int

No

0

authenticationMethodId

(parámetro del array signatures) Método de autenticación OTP (One-Time Password) con el cual el firmante validará su proceso de firma.

  • 1 OTP Llamada.

  • 2 OTP SMS.

  • 3 OTP Email.

  • 4 OTP Whatsapp.

Int

SI

3

contactInformation{}

(objeto del array signatures) Objeto que contiene la información de contacto del firmante asociado al proceso a crear.

-

SI

-

phone{}

(objeto de contactInformation) Objeto que contiene la información del número de celular asociado al firmante.

-

SI

-

indicative

(parámetro del objeto phone) Indicativo de país asociado al número de celular del firmante. Ejemplo para Colombia: 57.

String

SI

57

number

(parámetro del objeto phone) Número celular del firmante. Máximo de caracteres para Colombia: 10. Máximo de caracteres para números extranjeros: 20.

String

SI

3188273865

email

(parámetro de contactInformation) Correo electrónico del firmante. Máximo: 100 caracteres.

String

SI

empresa.firma@empresa.com

person{}

(objeto de contactInformation) Objeto que contiene información básica asociada al firmante.

-

SI

-

firstName

(parámetro del objeto person) Primer nombre del firmante. Mínimo: 2 caracteres. Máximo: 100 caracteres.

String

SI

Pablo

secondName

(parámetro del objeto person) Segundo nombre del firmante. Mínimo: 2 caracteres. Máximo: 100 caracteres. (En caso de no enviarlo, su valor debe ser null.)

String

NO

Sebastian

firstLastName

(parámetro del objeto person) Primer apellido del firmante. Mínimo: 2 caracteres. Máximo: 100 caracteres.

String

SI

Parra

secondLastName

(parámetro del objeto person) Segundo apellido del firmante. Mínimo: 2 caracteres. Máximo: 100 caracteres. (En caso de no enviarlo, su valor debe ser null.)

String

NO

Manrique

identification

(parámetro del objeto person) Número de identificación del firmante. Mínimo: 5 caracteres (Cédula de Ciudadanía) o Máximo: 12 caracteres (Cédula Extranjera).

String

SI

1018444520

identificationTypeId

(parámetro del objeto person) Tipo de identificación del firmante.

  • 1 Cédula de Ciudadanía.

  • 2 Cédula Extranjera.

  • 3,NUI

  • 4,NIT

  • 5,Pasaporte

  • 6,Permiso por protección temporal

Int

SI

1

typePersonId

(parámetro del objeto person) Tipo de persona del firmante.

  • 1 Persona Natural.

  • 2 Persona Jurídica.

Int

SI

1

signatory_type

(objeto del array signatures) Tipo de firmante o Rol que se representa en la evidencia digital para cada firmante. 

String

No

Empleado

documents[]

Objeto que contiene la información del documento a firmar.

-

SI

-

filename

(parámetro del objeto documents) Nombre del documento PDF. Máximo: 100 caracteres.

String

SI

Contrato de Trabajo

documentTypeId

(parámetro del objeto documents) 

  • 1, Contrato

  • 2,  Arrendamiento

  • 3, Sarlaft

Int

SI

1

base64String

(parámetro del objeto documents) String con el documento PDF codificado en base64.

String

SI

TDQc5698fHGDI4DHD………

callback

URL donde se debe enviar el documento cuando el proceso se termine exitosamente. Este parámetro hace referencia a la estrategia callback mencionada en la sección 5.2

String

NO

Ver ejemplo en sección 5.2

subjectEmail

Asunto que se desea incluir en el correo electrónico con la solicitud de firma a los firmantes. (En caso de no enviarse, el asunto por defecto es "solicitud de firma.") Máximo: 150 caracteres.

String

NO

Solicitud de Firma

messageEmail

Mensaje que se desea incluir en el correo electrónico con la solicitud de firma a los firmantes. (En caso de no enviarse, no hay un mensaje por defecto.) Máximo: 500 caracteres.

String

NO

Por favor firmar este documento

copyEmails

Listado separado por comas de los correos electrónicos a los cuales se enviará una copia del documento una vez firmado por todos los involucrados. (No se incluyen correos asociados a los firmantes.) Máximo string: 255 caracteres. Máximo de correos electrónicos permitidos: 10.

String

NO

empresa.operaciones@empresa.com,empresa.contabilida@empresa.com

documentsOnlyRead []

Objeto que contiene  un documento que se le podría añadir a la notificación por correo electrónico cuando  el proceso haya sido montado en la APP

-

No

-

fileName

(parámetro del objeto documentsOnlyRead) Nombre del documento PDF. Máximo: 100 caracteres.

String

SI

Carta de instrucciones

base64String

(parámetro del objeto documentsOnlyRead) String con el documento PDF codificado en base64.

String

SI

TDQc5698fHGDI4DHD………

3.2.1.2. Create Full - Sin plantilla (firma manuscrita y digital):

El código podría desglosarse en las siguientes partes:

  • Púrpura: Strings que identifica la configuración general de la solicitud

  • Azul: Strings que identifica  la organización de  coordenadas para posicionar la firma manuscrita por medio del consumo.

  • Amarillo: Array de datos que identifica la informacion de lso firmantes

  • Naranja: Strings que identifica los documentos añadidos al proceso de firma.

  • Rosa: String que identifica la url para realizar callback del documento firmado.

  • Cyan:  Strings que identifica los mensajes que aparecerán en el Lay out del correo de notificación cuando el proceso sea activado.

  • Menta: Array de datos  que identifica  un documento adjunto que se añadirá al correo de notificación cuando el proceso sea activado .

{

  "processTypeId": 0,

  "signatureMethodId": 0,

  "deadlineDays": 0,

  "isInOrder": true,

  "templateId": null,

  "schema": [

    {

      "additionalProp1": {

        "type": "string",

        "backgroundColor": "string",

        "position": {

          "x": 0,

          "y": 0

        },

        "width": 0,

        "height": 0,

        "value": "string"

      },

      "additionalProp2": {

        "type": "string",

        "backgroundColor": "string",

        "position": {

          "x": 0,

          "y": 0

        },

        "width": 0,

        "height": 0,

        "value": "string"

      },

      "additionalProp3": {

        "type": "string",

        "backgroundColor": "string",

        "position": {

          "x": 0,

          "y": 0

        },

        "width": 0,

        "height": 0,

        "value": "string"

      }

    }

  ],  "isRead": true,

  "isSendByEmail": true,

  "isSendByWhatsApp": true,

  "language": "string",

  "isHandWritten": true,

  "isPhotographic": true,

  "signatures": [

    {

      "order": 0,

      "rol": "string",

      "processId": 0,

      "authenticationMethodId": 0,

      "contactInformation": {

        "phone": {

          "indicative": "string",

          "number": "string"

        },

        "email": "string",

        "person": {

          "firstName": "string",

          "firstLastName": "string",

          "identification": null,

          "identificationTypeId": 0,

          "typePersonId": 0

        }

      },

      "signatory_type": "string"

    }

  ],

  "documents": {

    "fileName": "string",

    "documentTypeId": 0,

    "base64String": "string"

  },

  "callback": "string",

  "subjectEmail": "string",

  "messageEmail": "string",

  "copyEmails": "string",

  "balanceTypeId": 0,

  "documentsOnlyRead": [

    {

      "fileName": "string",

      "base64String": "string"

    }

  ]

}

 

Por favor verifique  la ejemplificación del consumo en Swagger en versión 1 [Swagger API APP v1] y en Versión 2 [Swagger API APP v2]

 

Parámetro

Descripción

Tipo

Obligatoriedad

Ejemplo

processTypeId

Tipo de proceso a crear. Puede ser:

  • 1 (Solo Yo)

  • 2 (Otros y Yo)

  • 3 (Solo Otros)

Int

SI

3

signatureMethodId

Método de firma con el cual se creará el proceso.

  • 1 Firma electrónica simple.

  • 2 Firma electrónica certificada.

Int

SI

2

balanceTypeId

Método con tipo de saldo el cual asignará un valor.

  • 1 Saldo por firmas

  • 2 Saldo por documentos

[Verifique la Versión usada, según se explica en el punto 2.1.3]

Int

SI

1

deadlineDays

Plazo máximo en días para que todos los signatarios firmen el documento asociado al proceso.

Int

SI

30

isInOrder

Parámetro que permite que el proceso sea por orden de firmantes predefinido. Valores:

  • True, el proceso tendrá orden de firmantes.

  • False, el proceso no tendrá orden de firmantes.

Boolean

No

True

templateId

Parámetro que permite indicar el número del ID del template de documento que se desea asignar al proceso de firma. (Este valor lo entregara el Usuario Administrador)

Int

No

null

schema [] name

Marca el inicio de una sección en la solicitud, diseñada para definir la posición de cada firma en el documento. Este bloque de parámetros se puede repetir tantas veces como sea necesario para incluir múltiples roles de firma, lo cual permite especificar la ubicación y atributos de cada una. Recomendamos que nombre de manera diferente cada rol de firma (Empleado,Empleador) o use una secuencia de números para nombrar el inicio del bloque (EJ: additionalProp1, additionalProp2, additionalProp3 …)

Empleado

type

(parámetro del array schema) Define el tipo de contenido para el parámetro. por defecto coloque “signature”

String

Si

signature

backgroundColor 

(parámetro del array schema) Este parámetro especifica el color de fondo . Puede utilizar un valor hexadecimal para personalizar el fondo de la firma o elemento.

String

No

#958b8b

x

(parámetro del array schema) Representa la posición horizontal en el eje X, siendo 0 la posición inicial

String

Si

78.88

y

(parámetro del array schema) Representa la posición vertical en el eje Y, siendo 0 la posición inicial.

String

Si

78.77

width

(parámetro del array schema) Define el ancho del elemento, en píxeles, para ajustar el espacio ocupado en el documento.

String

Si

40

heigth

(parámetro del array schema) Define la altura del elemento, en píxeles, para especificar el espacio vertical ocupado.

String

Si

60

value

Debe colocar el nombre del Rol del firmante. Colocar el mismo dato que aparezca en schema [] name.

String

Si

Empleador

isRead

Parámetro que identifica si se  configurará una obligatoriedad de lectura al PDF para poder ser firmado. Valores:

  • True, con obligatoriedad de lectura

  • False, sin obligatoriedad de lectura.

Boolean

 

SI

True

isSendByEmail

Parámetro que  indica si la notificación cuando esté montado el proceso en la App será enviada por correo electrónico. Valores:

  • True, SI se envía la notificación por correo electrónico

  • False, NO se envía la notificación por correo electrónico

Boolean

 

SI

True

isSendByWhatsApp

Parámetro que  indica si la notificación cuando esté montado el proceso en la App será enviada por WhatsApp. Valores:

  • True, SI se envía la notificación por WhatsApp

  • False, NO se envía la notificación por WhatsApp

Boolean




Si

True

language

Parámetro que permite agregar el idioma en que se maneja del firma manuscrita. Valores:

  • en, Inglés

  • es, Español.

No es obligatorio, por defecto lo toma como español

String

Si

es

isHandWritten

Parámetro que permite agregar firma manuscrita. Valores:

  • True, proceso tendrá firma manuscrita

  • False, el proceso no tendrá firma manuscrita.

Boolean

No

True

isPhotographic

Parámetro que permite agregar firma fotográfica. Valores:

  • True, el proceso tendrá firma fotográfica.

  • False, el proceso no tendrá firma fotográfica.

Boolean

No

True

signatures[]

Este array determina el listado de firmantes vinculados al proceso, sujeto al tipo de proceso. Acepta máximo 10 firmantes por proceso

order

(parámetro del array signatures) El orden de cada firmante en el proceso

Int

Si el valor isOrden = True

1

rol

(parámetro del array signatures)  Determina el rol  que se le asigna al Firmante.El parámetro es obligatorio si se le asigna una plantilla al proceso de firma.

String

Si

Empleado

processId

(parámetro del array signatures) Debe tener como valor 0.

Int

No

0

authenticationMethodId

(parámetro del array signatures) Método de autenticación OTP (One-Time Password) con el cual el firmante validará su proceso de firma.

  • 1 OTP Llamada.

  • 2 OTP SMS.

  • 3 OTP Email.

  • 4 OTP Whatsapp.

Int

SI

3

contactInformation{}

(objeto del array signatures) Objeto que contiene la información de contacto del firmante asociado al proceso a crear.

-

SI

-

phone{}

(objeto de contactInformation) Objeto que contiene la información del número de celular asociado al firmante.

-

SI

-

indicative

(parámetro del objeto phone) Indicativo de país asociado al número de celular del firmante. Ejemplo para Colombia: 57.

String

SI

57

number

(parámetro del objeto phone) Número celular del firmante. Máximo de caracteres para Colombia: 10. Máximo de caracteres para números extranjeros: 20.

String

SI

3188273865

email

(parámetro de contactInformation) Correo electrónico del firmante. Máximo: 100 caracteres.

String

SI

empresa.firma@empresa.com

person{}

(objeto de contactInformation) Objeto que contiene información básica asociada al firmante.

-

SI

-

firstName

(parámetro del objeto person) Primer nombre del firmante. Mínimo: 2 caracteres. Máximo: 100 caracteres.

String

SI

Pablo

secondName

(parámetro del objeto person) Segundo nombre del firmante. Mínimo: 2 caracteres. Máximo: 100 caracteres. (En caso de no enviarlo, su valor debe ser null.)

String

NO

Sebastian

firstLastName

(parámetro del objeto person) Primer apellido del firmante. Mínimo: 2 caracteres. Máximo: 100 caracteres.

String

SI

Parra

secondLastName

(parámetro del objeto person) Segundo apellido del firmante. Mínimo: 2 caracteres. Máximo: 100 caracteres. (En caso de no enviarlo, su valor debe ser null.)

String

NO

Manrique

identification

(parámetro del objeto person) Número de identificación del firmante. Mínimo: 5 caracteres (Cédula de Ciudadanía) o Máximo: 12 caracteres (Cédula Extranjera).

String

SI

1018444520

identificationTypeId

(parámetro del objeto person) Tipo de identificación del firmante.

  • 1 Cédula de Ciudadanía.

  • 2 Cédula Extranjera.

  • 3,NUI

  • 4,NIT

  • 5,Pasaporte

  • 6,Permiso por protección temporal

Int

SI

1

typePersonId

(parámetro del objeto person) Tipo de persona del firmante.

  • 1 Persona Natural.

  • 2 Persona Jurídica.

Int

SI

1

signatory_type

(objeto del array signatures) Tipo de firmante o Rol que se representa en la evidencia digital para cada firmante. 

String

No

Empleado

documents[]

Objeto que contiene la información del documento a firmar.

-

SI

-

filename

(parámetro del objeto documents) Nombre del documento PDF. Máximo: 100 caracteres.

String

SI

Contrato de Trabajo

documentTypeId

(parámetro del objeto documents) 

  • 1, Contrato

  • 2,  Arrendamiento

  • 3, Sarlaft

Int

SI

1

base64String

(parámetro del objeto documents) String con el documento PDF codificado en base64.

String

SI

TDQc5698fHGDI4DHD………

callback

URL donde se debe enviar el documento cuando el proceso se termine exitosamente. Este parámetro hace referencia a la estrategia callback mencionada en la sección 5.2

String

NO

Ver ejemplo en sección 5.2

subjectEmail

Asunto que se desea incluir en el correo electrónico con la solicitud de firma a los firmantes. (En caso de no enviarse, el asunto por defecto es "solicitud de firma.") Máximo: 150 caracteres.

String

NO

Solicitud de Firma

messageEmail

Mensaje que se desea incluir en el correo electrónico con la solicitud de firma a los firmantes. (En caso de no enviarse, no hay un mensaje por defecto.) Máximo: 500 caracteres.

String

NO

Por favor firmar este documento

copyEmails

Listado separado por comas de los correos electrónicos a los cuales se enviará una copia del documento una vez firmado por todos los involucrados. (No se incluyen correos asociados a los firmantes.) Máximo string: 255 caracteres. Máximo de correos electrónicos permitidos: 10.

String

NO

empresa.operaciones@empresa.com,empresa.contabilida@empresa.com

balanceTypeId

Método con tipo de saldo el cual asignará un valor.

  • 1 Saldo por firmas

  • 2 Saldo por documentos

[Verifique la Versión usada, según se explica en el punto 2.1.3]

Int

SI

0

documentsOnlyRead []

Objeto que contiene  un documento que se le podría añadir a la notificación por correo electrónico cuando  el proceso haya sido montado en la APP

-

No

-

fileName

(parámetro del objeto documentsOnlyRead) Nombre del documento PDF. Máximo: 100 caracteres.

String

SI

Carta de instrucciones

base64String

(parámetro del objeto documentsOnlyRead) String con el documento PDF codificado en base64.

String

SI

TDQc5698fHGDI4DHD………



3.2.1.3. Create Full - Con plantilla PDF:

El código podría desglosarse en las siguientes partes:

  • Púrpura: Strings que identifica la configuración general de la solicitud

  • Amarillo: Array de datos que identifica la informacion de lso firmantes

  • Rosa: String que identifica la url para realizar callback del documento firmado.

  • Cyan:  Strings que identifica los mensajes que aparecerán en el Lay out del correo de notificación cuando el proceso sea activado.

  • Menta: Array de datos  que identifica  un documento adjunto que se añadirá al correo de notificación cuando el proceso sea activado .

{

  "processTypeId": 0,

  "signatureMethodId": 0,

  "deadlineDays": 0,

  "isInOrder": true,

  "templateId": 0,

  "isRead": true,

  "isSendByEmail": true,

  "isSendByWhatsApp": true,

  "language": "string",

  "isHandWritten": true,

  "isPhotographic": true,

  "signatures": [

    {

      "order": 0,

      "rol": "string",

      "processId": 0,

      "authenticationMethodId": 0,

      "contactInformation": {

        "phone": {

          "indicative": "string",

          "number": "string"

        },

        "email": "string",

        "person": {

          "firstName": "string",

          "firstLastName": "string",

          "identification": null,

          "identificationTypeId": 0,

          "typePersonId": 0

        }

      },

      "signatory_type": "string"

    }

  ],

  "documents": {

    "fileName": "string",

    "documentTypeId": “null”,

    "base64String": "null"

  },

  "callback": "string",

  "subjectEmail": "string",

  "messageEmail": "string",

  "copyEmails": "string",

  "balanceTypeId": 0,

  "documentsOnlyRead": [

    {

      "fileName": "string",

      "base64String": "string"

    }

  ]

}

 

Por favor verifique  la ejemplificación del consumo en Swagger en versión 1 [Swagger API APP v1] y en Versión 2 [Swagger API APP v2]

 

Parámetro

Descripción

Tipo

Obligatoriedad

Ejemplo

processTypeId

Tipo de proceso a crear. Puede ser:

  • 1 (Solo Yo)

  • 2 (Otros y Yo)

  • 3 (Solo Otros)

Int

SI

3

signatureMethodId

Método de firma con el cual se creará el proceso.

  • 1 Firma electrónica simple.

  • 2 Firma electrónica certificada.

Int

SI

2

balanceTypeId

Método con tipo de saldo el cual asignará un valor.

  • 1 Saldo por firmas

  • 2 Saldo por documentos

[Verifique la Versión usada, según se explica en el punto 2.1.3]

Int

SI

1

deadlineDays

Plazo máximo en días para que todos los signatarios firmen el documento asociado al proceso.

Int

SI

30

isInOrder

Parámetro que permite que el proceso sea por orden de firmantes predefinido. Valores:

  • True, el proceso tendrá orden de firmantes.

  • False, el proceso no tendrá orden de firmantes.

Boolean

No

True

templateId

Parámetro que permite indicar el número del ID del template de documento que se desea asignar al proceso de firma. (Este valor lo entregara el Usuario Administrador)

Int

No

023

isRead

Parámetro que identifica si se  configurará una obligatoriedad de lectura al PDF para poder ser firmado. Valores:

  • True, con obligatoriedad de lectura

  • False, sin obligatoriedad de lectura.

Boolean

 

SI

True

isSendByEmail

Parámetro que  indica si la notificación cuando esté montado el proceso en la App será enviada por correo electrónico. Valores:

  • True, SI se envía la notificación por correo electrónico

  • False, NO se envía la notificación por correo electrónico

Boolean

 

SI

True

isSendByWhatsApp

Parámetro que  indica si la notificación cuando esté montado el proceso en la App será enviada por WhatsApp. Valores:

  • True, SI se envía la notificación por WhatsApp

  • False, NO se envía la notificación por WhatsApp

Boolean




Si

True

language

Parámetro que permite agregar el idioma en que se maneja del firma manuscrita. Valores:

  • en, Inglés

  • es, Español.

No es obligatorio, por defecto lo toma como español

String

Si

es

isHandWritten

Parámetro que permite agregar firma manuscrita. Valores:

  • True, proceso tendrá firma manuscrita

  • False, el proceso no tendrá firma manuscrita.

Boolean

No

True

isPhotographic

Parámetro que permite agregar firma fotográfica. Valores:

  • True, el proceso tendrá firma fotográfica.

  • False, el proceso no tendrá firma fotográfica.

Boolean

No

True

signatures[]

Este array determina el listado de firmantes vinculados al proceso, sujeto al tipo de proceso. Acepta máximo 10 firmantes por proceso

order

(parámetro del array signatures) El orden de cada firmante en el proceso

Int

Si el valor isOrden = True

1

rol

(parámetro del array signatures)  Determina el rol  que se le asigna al Firmante.El parámetro es obligatorio si se le asigna una plantilla al proceso de firma.

String

Si

Empleado

processId

(parámetro del array signatures) Debe tener como valor 0.

Int

No

0

authenticationMethodId

(parámetro del array signatures) Método de autenticación OTP (One-Time Password) con el cual el firmante validará su proceso de firma.

  • 1 OTP Llamada.

  • 2 OTP SMS.

  • 3 OTP Email.

  • 4 OTP Whatsapp.

Int

SI

3

contactInformation{}

(objeto del array signatures) Objeto que contiene la información de contacto del firmante asociado al proceso a crear.

-

SI

-

phone{}

(objeto de contactInformation) Objeto que contiene la información del número de celular asociado al firmante.

-

SI

-

indicative

(parámetro del objeto phone) Indicativo de país asociado al número de celular del firmante. Ejemplo para Colombia: 57.

String

SI

57

number

(parámetro del objeto phone) Número celular del firmante. Máximo de caracteres para Colombia: 10. Máximo de caracteres para números extranjeros: 20.

String

SI

3188273865

email

(parámetro de contactInformation) Correo electrónico del firmante. Máximo: 100 caracteres.

String

SI

empresa.firma@empresa.com

person{}

(objeto de contactInformation) Objeto que contiene información básica asociada al firmante.

-

SI

-

firstName

(parámetro del objeto person) Primer nombre del firmante. Mínimo: 2 caracteres. Máximo: 100 caracteres.

String

SI

Pablo

secondName

(parámetro del objeto person) Segundo nombre del firmante. Mínimo: 2 caracteres. Máximo: 100 caracteres. (En caso de no enviarlo, su valor debe ser null.)

String

NO

Sebastian

firstLastName

(parámetro del objeto person) Primer apellido del firmante. Mínimo: 2 caracteres. Máximo: 100 caracteres.

String

SI

Parra

secondLastName

(parámetro del objeto person) Segundo apellido del firmante. Mínimo: 2 caracteres. Máximo: 100 caracteres. (En caso de no enviarlo, su valor debe ser null.)

String

NO

Manrique

identification

(parámetro del objeto person) Número de identificación del firmante. Mínimo: 5 caracteres (Cédula de Ciudadanía) o Máximo: 12 caracteres (Cédula Extranjera).

String

SI

1018444520

identificationTypeId

(parámetro del objeto person) Tipo de identificación del firmante.

  • 1 Cédula de Ciudadanía.

  • 2 Cédula Extranjera.

  • 3,NUI

  • 4,NIT

  • 5,Pasaporte

  • 6,Permiso por protección temporal

Int

SI

1

typePersonId

(parámetro del objeto person) Tipo de persona del firmante.

  • 1 Persona Natural.

  • 2 Persona Jurídica.

Int

SI

1

signatory_type

(objeto del array signatures) Tipo de firmante o Rol que se representa en la evidencia digital para cada firmante. 

String

No

Empleado

documents[]

Objeto que contiene la información del documento a firmar.

-

SI

-

filename

(parámetro del objeto documents) Nombre del documento PDF. Máximo: 100 caracteres.

String

SI

Contrato de Trabajo

documentTypeId

(parámetro del objeto documents) 

  • 1, Contrato

  • 2,  Arrendamiento

  • 3, Sarlaft

Int

SI

null

base64String

(parámetro del objeto documents) String con el documento PDF codificado en base64.

String

SI

null

callback

URL donde se debe enviar el documento cuando el proceso se termine exitosamente. Este parámetro hace referencia a la estrategia callback mencionada en la sección 5.2

String

NO

Ver ejemplo en sección 5.2

subjectEmail

Asunto que se desea incluir en el correo electrónico con la solicitud de firma a los firmantes. (En caso de no enviarse, el asunto por defecto es "solicitud de firma.") Máximo: 150 caracteres.

String

NO

Solicitud de Firma

messageEmail

Mensaje que se desea incluir en el correo electrónico con la solicitud de firma a los firmantes. (En caso de no enviarse, no hay un mensaje por defecto.) Máximo: 500 caracteres.

String

NO

Por favor firmar este documento

copyEmails

Listado separado por comas de los correos electrónicos a los cuales se enviará una copia del documento una vez firmado por todos los involucrados. (No se incluyen correos asociados a los firmantes.) Máximo string: 255 caracteres. Máximo de correos electrónicos permitidos: 10.

String

NO

empresa.operaciones@empresa.com,empresa.contabilida@empresa.com

documentsOnlyRead []

Objeto que contiene  un documento que se le podría añadir a la notificación por correo electrónico cuando  el proceso haya sido montado en la APP

-

No

-

fileName

(parámetro del objeto documentsOnlyRead) Nombre del documento PDF. Máximo: 100 caracteres.

String

SI

Carta de instrucciones

base64String

(parámetro del objeto documentsOnlyRead) String con el documento PDF codificado en base64.

String

SI

TDQc5698fHGDI4DHD………

 

 

3.2.1.4. Create Full - Con plantilla HTML:

El código podría desglosarse en las siguientes partes:

  • Púrpura: Strings que identifica la configuración general de la solicitud

  • Verde: Strings que identifica  los Tags  que se añadirán cuando se consume el método “Create-full” por medio de plantilla HTML.

  • Amarillo: Array de datos que identifica la informacion de lso firmantes

  • Naranja: Strings que identifica los documentos añadidos al proceso de firma.

  • Rosa: String que identifica la url para realizar callback del documento firmado.

  • Cyan:  Strings que identifica los mensajes que aparecerán en el Lay out del correo de notificación cuando el proceso sea activado.

  • Menta: Array de datos  que identifica  un documento adjunto que se añadirá al correo de notificación cuando el proceso sea activado .

{

  "processTypeId": 0,

  "signatureMethodId": 0,

  "deadlineDays": 0,

  "isInOrder": true,

  "templateId": null,

  "tags": [

    {

      "additionalProp1": "string",

      "additionalProp2": "string",

      "additionalProp3": "string"

    }

  ],

  "isRead": true,

  "isSendByEmail": true,

  "isSendByWhatsApp": true,

  "language": "string",

  "isHandWritten": true,

  "isPhotographic": true,

  "signatures": [

    {

      "order": 0,

      "rol": "string",

      "processId": 0,

      "authenticationMethodId": 0,

      "contactInformation": {

        "phone": {

          "indicative": "string",

          "number": "string"

        },

        "email": "string",

        "person": {

          "firstName": "string",

          "firstLastName": "string",

          "identification": null,

          "identificationTypeId": 0,

          "typePersonId": 0

        }

      },

      "signatory_type": "string"

    }

  ],

  "documents": {

    "fileName": "string",

    "documentTypeId": null,

    "base64String": "null"

  },

  "callback": "string",

  "subjectEmail": "string",

  "messageEmail": "string",

  "copyEmails": "string",

  "balanceTypeId": 0,

  "documentsOnlyRead": [

    {

      "fileName": "string",

      "base64String": "string"

    }

  ]

}

 

Por favor verifique  la ejemplificación del consumo en Swagger en versión 1 [Swagger API APP v1] y en Versión 2 [Swagger API APP v2]

 

Parámetro

Descripción

Tipo

Obligatoriedad

Ejemplo

processTypeId

Tipo de proceso a crear. Puede ser:

  • 1 (Solo Yo)

  • 2 (Otros y Yo)

  • 3 (Solo Otros)

Int

SI

3

signatureMethodId

Método de firma con el cual se creará el proceso.

  • 1 Firma electrónica simple.

  • 2 Firma electrónica certificada.

Int

SI

2

balanceTypeId

Método con tipo de saldo el cual asignará un valor.

  • 1 Saldo por firmas

  • 2 Saldo por documentos

[Verifique la Versión usada, según se explica en el punto 2.1.3]

Int

SI

1

deadlineDays

Plazo máximo en días para que todos los signatarios firmen el documento asociado al proceso.

Int

SI

30

isInOrder

Parámetro que permite que el proceso sea por orden de firmantes predefinido. Valores:

  • True, el proceso tendrá orden de firmantes.

  • False, el proceso no tendrá orden de firmantes.

Boolean

No

True

templateId

Parámetro que permite indicar el número del ID del template de documento que se desea asignar al proceso de firma. (Este valor lo entregara el Usuario Administrador)

Int

No

023

Tags []name

En este array podrá relacionar cada “Tag” que haya creado el usuario administrador cuando use una plantilla HTML. Recuerde que esta información debe proporcionarles el usuario administrador, donde le proporcionará el nombre del TAG y el contenido que debe ir en el mismo.

String

Si

{

      "Empleado.Nombre": "Juan Pablo Salazar",

      "Empleador.Nombre": "Ricardo Alfonzo Urrutia",

      "Empleado.Cedula": "1018444596"

    }

 

isRead

Parámetro que identifica si se  configurará una obligatoriedad de lectura al PDF para poder ser firmado. Valores:

  • True, con obligatoriedad de lectura

  • False, sin obligatoriedad de lectura.

Boolean

 

SI

True

isSendByEmail

Parámetro que  indica si la notificación cuando esté montado el proceso en la App será enviada por correo electrónico. Valores:

  • True, SI se envía la notificación por correo electrónico

  • False, NO se envía la notificación por correo electrónico

Boolean

 

SI

True

isSendByWhatsApp

Parámetro que  indica si la notificación cuando esté montado el proceso en la App será enviada por WhatsApp. Valores:

  • True, SI se envía la notificación por WhatsApp

  • False, NO se envía la notificación por WhatsApp

Boolean




Si

True

language

Parámetro que permite agregar el idioma en que se maneja del firma manuscrita. Valores:

  • en, Inglés

  • es, Español.

No es obligatorio, por defecto lo toma como español

String

Si

es

isHandWritten

Parámetro que permite agregar firma manuscrita. Valores:

  • True, proceso tendrá firma manuscrita

  • False, el proceso no tendrá firma manuscrita.

Boolean

No

True

isPhotographic

Parámetro que permite agregar firma fotográfica. Valores:

  • True, el proceso tendrá firma fotográfica.

  • False, el proceso no tendrá firma fotográfica.

Boolean

No

True

signatures[]

Este array determina el listado de firmantes vinculados al proceso, sujeto al tipo de proceso. Acepta máximo 10 firmantes por proceso

order

(parámetro del array signatures) El orden de cada firmante en el proceso

Int

Si el valor isOrden = True

1

rol

(parámetro del array signatures)  Determina el rol  que se le asigna al Firmante.El parámetro es obligatorio si se le asigna una plantilla al proceso de firma.

String

Si

Empleado

processId

(parámetro del array signatures) Debe tener como valor 0.

Int

No

0

authenticationMethodId

(parámetro del array signatures) Método de autenticación OTP (One-Time Password) con el cual el firmante validará su proceso de firma.

  • 1 OTP Llamada.

  • 2 OTP SMS.

  • 3 OTP Email.

  • 4 OTP Whatsapp.

Int

SI

3

contactInformation{}

(objeto del array signatures) Objeto que contiene la información de contacto del firmante asociado al proceso a crear.

-

SI

-

phone{}

(objeto de contactInformation) Objeto que contiene la información del número de celular asociado al firmante.

-

SI

-

indicative

(parámetro del objeto phone) Indicativo de país asociado al número de celular del firmante. Ejemplo para Colombia: 57.

String

SI

57

number

(parámetro del objeto phone) Número celular del firmante. Máximo de caracteres para Colombia: 10. Máximo de caracteres para números extranjeros: 20.

String

SI

3188273865

email

(parámetro de contactInformation) Correo electrónico del firmante. Máximo: 100 caracteres.

String

SI

empresa.firma@empresa.com

person{}

(objeto de contactInformation) Objeto que contiene información básica asociada al firmante.

-

SI

-

firstName

(parámetro del objeto person) Primer nombre del firmante. Mínimo: 2 caracteres. Máximo: 100 caracteres.

String

SI

Pablo

secondName

(parámetro del objeto person) Segundo nombre del firmante. Mínimo: 2 caracteres. Máximo: 100 caracteres. (En caso de no enviarlo, su valor debe ser null.)

String

NO

Sebastian

firstLastName

(parámetro del objeto person) Primer apellido del firmante. Mínimo: 2 caracteres. Máximo: 100 caracteres.

String

SI

Parra

secondLastName

(parámetro del objeto person) Segundo apellido del firmante. Mínimo: 2 caracteres. Máximo: 100 caracteres. (En caso de no enviarlo, su valor debe ser null.)

String

NO

Manrique

identification

(parámetro del objeto person) Número de identificación del firmante. Mínimo: 5 caracteres (Cédula de Ciudadanía) o Máximo: 12 caracteres (Cédula Extranjera).

String

SI

1018444520

identificationTypeId

(parámetro del objeto person) Tipo de identificación del firmante.

  • 1 Cédula de Ciudadanía.

  • 2 Cédula Extranjera.

  • 3,NUI

  • 4,NIT

  • 5,Pasaporte

  • 6,Permiso por protección temporal

Int

SI

1

typePersonId

(parámetro del objeto person) Tipo de persona del firmante.

  • 1 Persona Natural.

  • 2 Persona Jurídica.

Int

SI

1

signatory_type

(objeto del array signatures) Tipo de firmante o Rol que se representa en la evidencia digital para cada firmante. 

String

No

Empleado

documents[]

Objeto que contiene la información del documento a firmar.

-

SI

-

filename

(parámetro del objeto documents) Nombre del documento PDF. Máximo: 100 caracteres.

String

SI

Contrato de Trabajo

documentTypeId

(parámetro del objeto documents) 

  • 1, Contrato

  • 2,  Arrendamiento

  • 3, Sarlaft

Int

SI

null

base64String

(parámetro del objeto documents) String con el documento PDF codificado en base64.

String

SI

null

callback

URL donde se debe enviar el documento cuando el proceso se termine exitosamente. Este parámetro hace referencia a la estrategia callback mencionada en la sección 5.2

String

NO

Ver ejemplo en sección 5.2

subjectEmail

Asunto que se desea incluir en el correo electrónico con la solicitud de firma a los firmantes. (En caso de no enviarse, el asunto por defecto es "solicitud de firma.") Máximo: 150 caracteres.

String

NO

Solicitud de Firma

messageEmail

Mensaje que se desea incluir en el correo electrónico con la solicitud de firma a los firmantes. (En caso de no enviarse, no hay un mensaje por defecto.) Máximo: 500 caracteres.

String

NO

Por favor firmar este documento

copyEmails

Listado separado por comas de los correos electrónicos a los cuales se enviará una copia del documento una vez firmado por todos los involucrados. (No se incluyen correos asociados a los firmantes.) Máximo string: 255 caracteres. Máximo de correos electrónicos permitidos: 10.

String

NO

empresa.operaciones@empresa.com,empresa.contabilida@empresa.com

documentsOnlyRead []

Objeto que contiene  un documento que se le podría añadir a la notificación por correo electrónico cuando  el proceso haya sido montado en la APP

-

No

-

fileName

(parámetro del objeto documentsOnlyRead) Nombre del documento PDF. Máximo: 100 caracteres.

String

SI

Carta de instrucciones

base64String

(parámetro del objeto documentsOnlyRead) String con el documento PDF codificado en base64.

String

SI

TDQc5698fHGDI4DHD………

 

3.2.2. Método "Create-by-documents"

Por otro lado, el método "Create-by-documents" se utiliza cuando se necesita gestionar la firma de múltiples documentos PDF en base 64 dentro de una sola solicitud. A diferencia de "Create Full", dónde se firma un solo documento, en "Create-by-documents" se permite la firma de 10 documentos asociados a un único proceso. El proceso de firma como solictud no se completa hasta que todos los documentos hayan sido firmados por todos los destinatarios. Las variantes de este método son similares a las de "Create Full", pero aplicadas a múltiples documentos. Este método solo está disponible en la V1[Swagger API APP v1] :

  • Sin plantilla (firma digital)[Ver punto  3.2.2.1]: Permite firmar múltiples documentos de manera digital, añadiendo  a cada documento una página  al final  con firmas electrónicas de los destinatarios, que contienen sus datos básicos. No se utiliza una plantilla, lo que lo hace adecuado para firmar varios documentos, cuando no es relevante que estos posean firmas manuscritas. El proceso no finaliza hasta que todos los documentos hayan sido firmados.

  • Sin plantilla (firma manuscrita y digital)[Ver punto 3.2.2.2]: Permite firmar varios documentos utilizando tanto firmas manuscritas como digitales. Se pueden definir coordenadas específicas para la firma manuscrita en cada documento. Además, se añade al final una página con las firmas digitales de todos los destinatarios y sus datos, de cada uno de los documentos. El proceso no finaliza hasta que todos los documentos hayan sido firmados

  • Con plantilla PDF [Ver punto 3.2.2.3]: Este método permite firmar varios documentos utilizando plantillas PDF predefinidas para cada uno, identificadas por un ID. Las coordenadas de las firmas manuscritas se pueden ajustar desde la consola de administración de plantillas, y se agrega una página adicional en cada documento con las firmas digitales de los destinatarios. El proceso no finaliza hasta que todos los documentos hayan sido firmados.

  • Con plantilla HTML[Ver punto 3.2.2.4]: Se basa en plantillas HTML, identificadas por un ID, que se personalizan mediante tags de texto y firma que determinan el contenido y la ubicación de las firmas manuscritas en cada documento. El proceso no finaliza hasta que todos los documentos hayan sido firmados, y se añade una página adicional en cada documento con las firmas digitales de los destinatarios.

A continuación podrá verificar el detalle técnico del consumo:

3.2.2.1. Create-by-documents - Sin plantilla (firma digital):

El código podría desglosarse en las siguientes partes:

  • Púrpura: Strings que identifica la configuración general de la solicitud

  • Amarillo: Array de datos que identifica la informacion de lso firmantes

  • Naranja: Array que identifica los documentos añadidos al proceso de firma.

  • Rosa: String que identifica la url para realizar callback del documento firmado.

  • Cyan:  Strings que identifica los mensajes que aparecerán en el Lay out del correo de notificación cuando el proceso sea activado.

  • Menta: Array de datos  que identifica  un documento adjunto que se añadirá al correo de notificación cuando el proceso sea activado .

{

  "processTypeId": 0,

  "signatureMethodId": 0,

  "deadlineDays": 0,

  "isInOrder": true,

  "isRead": true,

  "isSendByEmail": true,

  "isSendByWhatsApp": true,

  "isHandWritten": true,

  "isPhotographic": true,

 "nit": "string",

  "email_user": null, 

  "signatures": [

    {

      "order": 0,

      "rol": "string",

      "processId": 0,

      "authenticationMethodId": 0,

      "contactInformation": {

        "phone": {

          "indicative": "string",

          "number": "string"

        },

        "email": "string",

        "person": {

          "firstName": "string",

          "firstLastName": "string",

          "identification": null,

          "identificationTypeId": 0,

          "typePersonId": 0

        }

      },

      "signatory_type": "string"

    }

  ],

  "documents": [

    {

      "templateId": null,

      "fileName": "string",

      "documentTypeId": 0,

       "base64String": "string"

    }

  ],

  "callback": "string",

  "subjectEmail": "string",

  "messageEmail": "string",

  "copyEmails": "string",

  "documentsOnlyRead": [

    {

      "fileName": "string",

      "base64String": "string"

    }

  ]

}

 

Por favor verifique  la ejemplificación del consumo en Swagger en versión 1 [Swagger API APP v1

Parámetro

Descripción

Tipo

Obligatoriedad

Ejemplo

processTypeId

Tipo de proceso a crear. Puede ser:

  • 1 (Solo Yo)

  • 2 (Otros y Yo)

  • 3 (Solo Otros)

Int

SI

3

signatureMethodId

Método de firma con el cual se creará el proceso.

  • 1 Firma electrónica simple.

  • 2 Firma electrónica certificada.

Int

SI

2

deadlineDays

Plazo máximo en días para que todos los signatarios firmen el documento asociado al proceso.

Int

SI

30

isInOrder

Parámetro que permite que el proceso sea por orden de firmantes predefinido. Valores:

  • True, el proceso tendrá orden de firmantes.

  • False, el proceso no tendrá orden de firmantes.

Boolean

No

True

isRead

Parámetro que identifica si se  configurará una obligatoriedad de lectura al PDF para poder ser firmado. Valores:

  • True, con obligatoriedad de lectura

  • False, sin obligatoriedad de lectura.

Boolean

 

SI

True

isSendByEmail

Parámetro que  indica si la notificación cuando esté montado el proceso en la App será enviada por correo electrónico. Valores:

  • True, SI se envía la notificación por correo electrónico

  • False, NO se envía la notificación por correo electrónico

Boolean

 

SI

True

isSendByWhatsApp

Parámetro que  indica si la notificación cuando esté montado el proceso en la App será enviada por WhatsApp. Valores:

  • True, SI se envía la notificación por WhatsApp

  • False, NO se envía la notificación por WhatsApp

Boolean




Si

True

isHandWritten

Parámetro que permite agregar firma manuscrita. Valores:

  • True, proceso tendrá firma manuscrita

  • False, el proceso no tendrá firma manuscrita.

Boolean

No

True

isPhotographic

Parámetro que permite agregar firma fotográfica. Valores:

  • True, el proceso tendrá firma fotográfica.

  • False, el proceso no tendrá firma fotográfica.

Boolean

No

True

nit

  

 

Parámetro que identifica el NIT de una cuenta Administradora ya creada en la plataforma de firma electrónica. Este proceso se activa para heredar los derechos de manejo del proceso de firma que se está creando a un tercero , por medio del consumo de la API y solo lo podrá usar un usuario administrador hacia otro usuario dentro de la misma cuenta a la cual pertenece . El consumo de saldo será descontado de la cuenta que se está relacionando. Este campo sólo podrá ser usado si el servicio se consume por medio de un token generado por un Usuario que le deben ser otorgados permisos por el Administrador de la plataforma de Firma. La gestión de permisos deberá hacerse por medio del gerente del proyecto. 

String

No

51933622

email_user

Parámetro que identifica el usuario de una cuenta Administradora ya creada en la plataforma de firma electrónica. Este proceso se activa para heredar los derechos de manejo del proceso de firma que se está creando a un tercero , por medio del consumo de la API y solo lo podrá usar un usuario administrador hacia otro usuario dentro de la misma cuenta a la cual pertenece . El consumo de saldo será descontado de la cuenta que se está relacionando. Este campo sólo podrá ser usado si el servicio se consume por medio de un token generado por un Usuario que le deben ser otorgados permisos por el Administrador de la plataforma de Firma. La gestión de permisos deberá hacerse por medio del gerente del proyecto. 

 

String

No

persona.tranferir@empresa.com

signatures[]

Este array determina el listado de firmantes vinculados al proceso, sujeto al tipo de proceso. Acepta máximo 10 firmantes por proceso

order

(parámetro del array signatures) El orden de cada firmante en el proceso

Int

Si el valor isOrden = True

1

rol

(parámetro del array signatures)  Determina el rol  que se le asigna al Firmante.El parámetro es obligatorio si se le asigna una plantilla al proceso de firma.

String

Si

Empleado

processId

(parámetro del array signatures) Debe tener como valor 0.

Int

No

0

authenticationMethodId

(parámetro del array signatures) Método de autenticación OTP (One-Time Password) con el cual el firmante validará su proceso de firma.

  • 1 OTP Llamada.

  • 2 OTP SMS.

  • 3 OTP Email.

  • 4 OTP Whatsapp.

Int

SI

3

contactInformation{}

(objeto del array signatures) Objeto que contiene la información de contacto del firmante asociado al proceso a crear.

-

SI

-

phone{}

(objeto de contactInformation) Objeto que contiene la información del número de celular asociado al firmante.

-

SI

-

indicative

(parámetro del objeto phone) Indicativo de país asociado al número de celular del firmante. Ejemplo para Colombia: 57.

String

SI

57

number

(parámetro del objeto phone) Número celular del firmante. Máximo de caracteres para Colombia: 10. Máximo de caracteres para números extranjeros: 20.

String

SI

3188273865

email

(parámetro de contactInformation) Correo electrónico del firmante. Máximo: 100 caracteres.

String

SI

empresa.firma@empresa.com

person{}

(objeto de contactInformation) Objeto que contiene información básica asociada al firmante.

-

SI

-

firstName

(parámetro del objeto person) Primer nombre del firmante. Mínimo: 2 caracteres. Máximo: 100 caracteres.

String

SI

Pablo

firstLastName

(parámetro del objeto person) Primer apellido del firmante. Mínimo: 2 caracteres. Máximo: 100 caracteres.

String

SI

Parra

identification

(parámetro del objeto person) Número de identificación del firmante. Mínimo: 5 caracteres (Cédula de Ciudadanía) o Máximo: 12 caracteres (Cédula Extranjera).

String

SI

1018444520

identificationTypeId

(parámetro del objeto person) Tipo de identificación del firmante.

  • 1 Cédula de Ciudadanía.

  • 2 Cédula Extranjera.

  • 3,NUI

  • 4,NIT

  • 5,Pasaporte

  • 6,Permiso por protección temporal

Int

SI

1

typePersonId

(parámetro del objeto person) Tipo de persona del firmante.

  • 1 Persona Natural.

  • 2 Persona Jurídica.

Int

SI

1

signatory_type

(objeto del array signatures) Tipo de firmante o Rol que se representa en la evidencia digital para cada firmante. 

String

No

Empleado

documents[]

Objeto que contiene la información del documento a firmar.

-

SI

-

templateId

Parámetro que permite indicar el número del ID del template de documento que se desea asignar al proceso de firma. (Este valor lo entregara el Usuario Administrador)

Int

No

null

filename

(parámetro del objeto documents) Nombre del documento PDF. Máximo: 100 caracteres.

String

SI

Contrato de Trabajo

documentTypeId

(parámetro del objeto documents) 

  • 1, Contrato

  • 2,  Arrendamiento

  • 3, Sarlaft

Int

SI

1

base64String

(parámetro del objeto documents) String con el documento PDF codificado en base64.

String

SI

TDQc5698fHGDI4DHD………

callback

URL donde se debe enviar el documento cuando el proceso se termine exitosamente. Este parámetro hace referencia a la estrategia callback mencionada en la sección 5.2

String

NO

Ver ejemplo en sección 5.2

subjectEmail

Asunto que se desea incluir en el correo electrónico con la solicitud de firma a los firmantes. (En caso de no enviarse, el asunto por defecto es "solicitud de firma.") Máximo: 150 caracteres.

String

NO

Solicitud de Firma

messageEmail

Mensaje que se desea incluir en el correo electrónico con la solicitud de firma a los firmantes. (En caso de no enviarse, no hay un mensaje por defecto.) Máximo: 500 caracteres.

String

NO

Por favor firmar este documento

copyEmails

Listado separado por comas de los correos electrónicos a los cuales se enviará una copia del documento una vez firmado por todos los involucrados. (No se incluyen correos asociados a los firmantes.) Máximo string: 255 caracteres. Máximo de correos electrónicos permitidos: 10.

String

NO

empresa.operaciones@empresa.com,empresa.contabilida@empresa.com

documentsOnlyRead []

Objeto que contiene  un documento que se le podría añadir a la notificación por correo electrónico cuando  el proceso haya sido montado en la APP

-

No

-

fileName

(parámetro del objeto documentsOnlyRead) Nombre del documento PDF. Máximo: 100 caracteres.

String

SI

Carta de instrucciones

base64String

(parámetro del objeto documentsOnlyRead) String con el documento PDF codificado en base64.

String

SI

TDQc5698fHGDI4DHD………

 

3.2.2.2. Create-by-documents - Sin plantilla (firma manuscrita y digital):

El código podría desglosarse en las siguientes partes:

  • Púrpura: Strings que identifica la configuración general de la solicitud

  • Azul: Strings que identifica  la organización de  coordenadas para posicionar la firma manuscrita por medio del consumo.

  • Amarillo: Array de datos que identifica la informacion de lso firmantes

  • Naranja: Strings que identifica los documentos añadidos al proceso de firma.

  • Rosa: String que identifica la url para realizar callback del documento firmado.

  • Cyan:  Strings que identifica los mensajes que aparecerán en el Lay out del correo de notificación cuando el proceso sea activado.

  • Menta: Array de datos  que identifica  un documento adjunto que se añadirá al correo de notificación cuando el proceso sea activado .

{

  "processTypeId": 0,

  "signatureMethodId": 0,

  "deadlineDays": 0,

  "isInOrder": true,

  "isRead": true,

  "isSendByEmail": true,

  "isSendByWhatsApp": true,

  "isHandWritten": true,

  "isPhotographic": true,

 "nit": "string",

  "email_user": null, 

  "signatures": [

    {

      "order": 0,

      "rol": "string",

      "processId": 0,

      "authenticationMethodId": 0,

      "contactInformation": {

        "phone": {

          "indicative": "string",

          "number": "string"

        },

        "email": "string",

        "person": {

          "firstName": "string",

          "firstLastName": "string",

          "identification": null,

          "identificationTypeId": 0,

          "typePersonId": 0

        }

      },

      "signatory_type": "string"

    }

  ],

  "documents": [

    {

      "templateId": null,

      "fileName": "string",

      "documentTypeId": 0,

      "schema": [

        {

          "additionalProp1": {

            "type": "string",

            "backgroundColor": "string",

            "position": {

              "x": 0,

              "y": 0

            },

            "width": 0,

            "height": 0,

            "value": "string"

          },

          "additionalProp2": {

            "type": "string",

            "backgroundColor": "string",

            "position": {

              "x": 0,

              "y": 0

            },

            "width": 0,

            "height": 0,

            "value": "string"

          },

          "additionalProp3": {

            "type": "string",

            "backgroundColor": "string",

            "position": {

              "x": 0,

              "y": 0

            },

            "width": 0,

            "height": 0,

            "value": "string"

          }

        }

      ],

      "base64String": "string"

    }

  ],

  "callback": "string",

  "subjectEmail": "string",

  "messageEmail": "string",

  "copyEmails": "string",

  "documentsOnlyRead": [

    {

      "fileName": "string",

      "base64String": "string"

    }

  ]

}

 

Por favor verifique  la ejemplificación del consumo en Swagger en versión 1 [Swagger API APP v1

Parámetro

Descripción

Tipo

Obligatoriedad

Ejemplo

processTypeId

Tipo de proceso a crear. Puede ser:

  • 1 (Solo Yo)

  • 2 (Otros y Yo)

  • 3 (Solo Otros)

Int

SI

3

signatureMethodId

Método de firma con el cual se creará el proceso.

  • 1 Firma electrónica simple.

  • 2 Firma electrónica certificada.

Int

SI

2

deadlineDays

Plazo máximo en días para que todos los signatarios firmen el documento asociado al proceso.

Int

SI

30

isInOrder

Parámetro que permite que el proceso sea por orden de firmantes predefinido. Valores:

  • True, el proceso tendrá orden de firmantes.

  • False, el proceso no tendrá orden de firmantes.

Boolean

No

True

isRead

Parámetro que identifica si se  configurará una obligatoriedad de lectura al PDF para poder ser firmado. Valores:

  • True, con obligatoriedad de lectura

  • False, sin obligatoriedad de lectura.

Boolean

 

SI

True

isSendByEmail

Parámetro que  indica si la notificación cuando esté montado el proceso en la App será enviada por correo electrónico. Valores:

  • True, SI se envía la notificación por correo electrónico

  • False, NO se envía la notificación por correo electrónico

Boolean

 

SI

True

isSendByWhatsApp

Parámetro que  indica si la notificación cuando esté montado el proceso en la App será enviada por WhatsApp. Valores:

  • True, SI se envía la notificación por WhatsApp

  • False, NO se envía la notificación por WhatsApp

Boolean




Si

True

isHandWritten

Parámetro que permite agregar firma manuscrita. Valores:

  • True, proceso tendrá firma manuscrita

  • False, el proceso no tendrá firma manuscrita.

Boolean

No

True

isPhotographic

Parámetro que permite agregar firma fotográfica. Valores:

  • True, el proceso tendrá firma fotográfica.

  • False, el proceso no tendrá firma fotográfica.

Boolean

No

True

nit

  

 

Parámetro que identifica el NIT de una cuenta Administradora ya creada en la plataforma de firma electrónica. Este proceso se activa para heredar los derechos de administración y manejo a un tercero  de el proceso que se está  montando por medio del consumo de la API

String

No

51933622

email_user

Parámetro que identifica el usuario de una cuenta Administradora ya creada en la plataforma de firma electrónica. Este proceso se activa para heredar los derechos de administración y manejo a un tercero  de el proceso que se está  montando por medio del consumo de la API. El consumo de saldo será descontado de la cuenta que se está relacionando.

String

No

persona.tranferir@empresa.com

signatures[]

Este array determina el listado de firmantes vinculados al proceso, sujeto al tipo de proceso. Acepta máximo 10 firmantes por proceso

order

(parámetro del array signatures) El orden de cada firmante en el proceso

Int

Si el valor isOrden = True

1

rol

(parámetro del array signatures)  Determina el rol  que se le asigna al Firmante.El parámetro es obligatorio si se le asigna una plantilla al proceso de firma.

String

Si

Empleado

processId

(parámetro del array signatures) Debe tener como valor 0.

Int

No

0

authenticationMethodId

(parámetro del array signatures) Método de autenticación OTP (One-Time Password) con el cual el firmante validará su proceso de firma.

  • 1 OTP Llamada.

  • 2 OTP SMS.

  • 3 OTP Email.

  • 4 OTP Whatsapp.

Int

SI

3

contactInformation{}

(objeto del array signatures) Objeto que contiene la información de contacto del firmante asociado al proceso a crear.

-

SI

-

phone{}

(objeto de contactInformation) Objeto que contiene la información del número de celular asociado al firmante.

-

SI

-

indicative

(parámetro del objeto phone) Indicativo de país asociado al número de celular del firmante. Ejemplo para Colombia: 57.

String

SI

57

number

(parámetro del objeto phone) Número celular del firmante. Máximo de caracteres para Colombia: 10. Máximo de caracteres para números extranjeros: 20.

String

SI

3188273865

email

(parámetro de contactInformation) Correo electrónico del firmante. Máximo: 100 caracteres.

String

SI

empresa.firma@empresa.com

person{}

(objeto de contactInformation) Objeto que contiene información básica asociada al firmante.

-

SI

-

firstName

(parámetro del objeto person) Primer nombre del firmante. Mínimo: 2 caracteres. Máximo: 100 caracteres.

String

SI

Pablo

firstLastName

(parámetro del objeto person) Primer apellido del firmante. Mínimo: 2 caracteres. Máximo: 100 caracteres.

String

SI

Parra

identification

(parámetro del objeto person) Número de identificación del firmante. Mínimo: 5 caracteres (Cédula de Ciudadanía) o Máximo: 12 caracteres (Cédula Extranjera).

String

SI

1018444520

identificationTypeId

(parámetro del objeto person) Tipo de identificación del firmante.

  • 1 Cédula de Ciudadanía.

  • 2 Cédula Extranjera.

  • 3,NUI

  • 4,NIT

  • 5,Pasaporte

  • 6,Permiso por protección temporal

Int

SI

1

typePersonId

(parámetro del objeto person) Tipo de persona del firmante.

  • 1 Persona Natural.

  • 2 Persona Jurídica.

Int

SI

1

signatory_type

(objeto del array signatures) Tipo de firmante o Rol que se representa en la evidencia digital para cada firmante. 

String

No

Empleado

documents[]

Objeto que contiene la información del documento a firmar.

-

SI

-

templateId

Parámetro que permite indicar el número del ID del template de documento que se desea asignar al proceso de firma. (Este valor lo entregara el Usuario Administrador)

Int

No

null

filename

(parámetro del objeto documents) Nombre del documento PDF. Máximo: 100 caracteres.

String

SI

Contrato de Trabajo

documentTypeId

(parámetro del objeto documents) 

  • 1, Contrato

  • 2,  Arrendamiento

  • 3, Sarlaft

Int

SI

1

schema [] name

Marca el inicio de una sección en la solicitud, diseñada para definir la posición de cada firma en el documento. Este bloque de parámetros se puede repetir tantas veces como sea necesario para incluir múltiples roles de firma, lo cual permite especificar la ubicación y atributos de cada una. Recomendamos que nombre de manera diferente cada rol de firma (Empleado,Empleador) o use una secuencia de números para nombrar el inicio del bloque (EJ: additionalProp1, additionalProp2, additionalProp3 …)

Empleado

type

(parámetro del array schema) Define el tipo de contenido para el parámetro. por defecto coloque “signature”

String

Si

signature

backgroundColor 

(parámetro del array schema) Este parámetro especifica el color de fondo . Puede utilizar un valor hexadecimal para personalizar el fondo de la firma o elemento.

String

No

#958b8b

x

(parámetro del array schema) Representa la posición horizontal en el eje X, siendo 0 la posición inicial

String

Si

78.88

y

(parámetro del array schema) Representa la posición vertical en el eje Y, siendo 0 la posición inicial.

String

Si

78.77

width

(parámetro del array schema) Define el ancho del elemento, en píxeles, para ajustar el espacio ocupado en el documento.

String

Si

40

heigth

(parámetro del array schema) Define la altura del elemento, en píxeles, para especificar el espacio vertical ocupado.

String

Si

60

value

Debe colocar el nombre del Rol del firmante. Colocar el mismo dato que aparezca en schema [] name.

String

Si

Empleador

base64String

(parámetro del objeto documents) String con el documento PDF codificado en base64.

String

SI

TDQc5698fHGDI4DHD………

callback

URL donde se debe enviar el documento cuando el proceso se termine exitosamente. Este parámetro hace referencia a la estrategia callback mencionada en la sección 5.2

String

NO

Ver ejemplo en sección 5.2

subjectEmail

Asunto que se desea incluir en el correo electrónico con la solicitud de firma a los firmantes. (En caso de no enviarse, el asunto por defecto es "solicitud de firma.") Máximo: 150 caracteres.

String

NO

Solicitud de Firma

messageEmail

Mensaje que se desea incluir en el correo electrónico con la solicitud de firma a los firmantes. (En caso de no enviarse, no hay un mensaje por defecto.) Máximo: 500 caracteres.

String

NO

Por favor firmar este documento

copyEmails

Listado separado por comas de los correos electrónicos a los cuales se enviará una copia del documento una vez firmado por todos los involucrados. (No se incluyen correos asociados a los firmantes.) Máximo string: 255 caracteres. Máximo de correos electrónicos permitidos: 10.

String

NO

empresa.operaciones@empresa.com,empresa.contabilida@empresa.com

documentsOnlyRead []

Objeto que contiene  un documento que se le podría añadir a la notificación por correo electrónico cuando  el proceso haya sido montado en la APP

-

No

-

fileName

(parámetro del objeto documentsOnlyRead) Nombre del documento PDF. Máximo: 100 caracteres.

String

SI

Carta de instrucciones

base64String

(parámetro del objeto documentsOnlyRead) String con el documento PDF codificado en base64.

String

SI

TDQc5698fHGDI4DHD………

 

3.2.2.3. Create-by-documents - Con plantilla PDF:

El código podría desglosarse en las siguientes partes:

  • Púrpura: Strings que identifica la configuración general de la solicitud

  • Amarillo: Array de datos que identifica la informacion de lso firmantes

  • Naranja: Strings que identifica los documentos añadidos al proceso de firma.

  • Rosa: String que identifica la url para realizar callback del documento firmado.

  • Cyan:  Strings que identifica los mensajes que aparecerán en el Lay out del correo de notificación cuando el proceso sea activado.

  • Menta: Array de datos  que identifica  un documento adjunto que se añadirá al correo de notificación cuando el proceso sea activado .

{

  "processTypeId": 0,

  "signatureMethodId": 0,

  "deadlineDays": 0,

  "isInOrder": true,

  "isRead": true,

  "isSendByEmail": true,

  "isSendByWhatsApp": true,

  "isHandWritten": true,

  "isPhotographic": true,

 "nit": "string",

  "email_user": null, 

  "signatures": [

    {

      "order": 0,

      "rol": "string",

      "processId": 0,

      "authenticationMethodId": 0,

      "contactInformation": {

        "phone": {

          "indicative": "string",

          "number": "string"

        },

        "email": "string",

        "person": {

          "firstName": "string",

          "firstLastName": "string",

          "identification": null,

          "identificationTypeId": 0,

          "typePersonId": 0

        }

      },

      "signatory_type": "string"

    }

  ],

  "documents": [

    {

      "templateId": null,

      "fileName": "string",

      "documentTypeId": 0,

      "base64String": "null"

    }

  ],

  "callback": "string",

  "subjectEmail": "string",

  "messageEmail": "string",

  "copyEmails": "string",

  "documentsOnlyRead": [

    {

      "fileName": "string",

      "base64String": "string"

    }

  ]

}

 

Por favor verifique  la ejemplificación del consumo en Swagger en versión 1 [Swagger API APP v1

Parámetro

Descripción

Tipo

Obligatoriedad

Ejemplo

processTypeId

Tipo de proceso a crear. Puede ser:

  • 1 (Solo Yo)

  • 2 (Otros y Yo)

  • 3 (Solo Otros)

Int

SI

3

signatureMethodId

Método de firma con el cual se creará el proceso.

  • 1 Firma electrónica simple.

  • 2 Firma electrónica certificada.

Int

SI

2

deadlineDays

Plazo máximo en días para que todos los signatarios firmen el documento asociado al proceso.

Int

SI

30

isInOrder

Parámetro que permite que el proceso sea por orden de firmantes predefinido. Valores:

  • True, el proceso tendrá orden de firmantes.

  • False, el proceso no tendrá orden de firmantes.

Boolean

No

True

isRead

Parámetro que identifica si se  configurará una obligatoriedad de lectura al PDF para poder ser firmado. Valores:

  • True, con obligatoriedad de lectura

  • False, sin obligatoriedad de lectura.

Boolean

 

SI

True

isSendByEmail

Parámetro que  indica si la notificación cuando esté montado el proceso en la App será enviada por correo electrónico. Valores:

  • True, SI se envía la notificación por correo electrónico

  • False, NO se envía la notificación por correo electrónico

Boolean

 

SI

True

isSendByWhatsApp

Parámetro que  indica si la notificación cuando esté montado el proceso en la App será enviada por WhatsApp. Valores:

  • True, SI se envía la notificación por WhatsApp

  • False, NO se envía la notificación por WhatsApp

Boolean




Si

True

isHandWritten

Parámetro que permite agregar firma manuscrita. Valores:

  • True, proceso tendrá firma manuscrita

  • False, el proceso no tendrá firma manuscrita.

Boolean

No

True

isPhotographic

Parámetro que permite agregar firma fotográfica. Valores:

  • True, el proceso tendrá firma fotográfica.

  • False, el proceso no tendrá firma fotográfica.

Boolean

No

True

nit

  

 

Parámetro que identifica el NIT de una cuenta Administradora ya creada en la plataforma de firma electrónica. Este proceso se activa para heredar los derechos de administración y manejo a un tercero  de el proceso que se está  montando por medio del consumo de la API. El consumo de saldo será descontado de la cuenta que se está relacionando.

String

No

51933622

email_user

Parámetro que identifica el usuario de una cuenta Administradora ya creada en la plataforma de firma electrónica. Este proceso se activa para heredar los derechos de administración y manejo a un tercero  de el proceso que se está  montando por medio del consumo de la API. El consumo de saldo será descontado de la cuenta que se está relacionando.

String

No

persona.tranferir@empresa.com

signatures[]

Este array determina el listado de firmantes vinculados al proceso, sujeto al tipo de proceso. Acepta máximo 10 firmantes por proceso

order

(parámetro del array signatures) El orden de cada firmante en el proceso

Int

Si el valor isOrden = True

1

rol

(parámetro del array signatures)  Determina el rol  que se le asigna al Firmante.El parámetro es obligatorio si se le asigna una plantilla al proceso de firma.

String

Si

Empleado

processId

(parámetro del array signatures) Debe tener como valor 0.

Int

No

0

authenticationMethodId

(parámetro del array signatures) Método de autenticación OTP (One-Time Password) con el cual el firmante validará su proceso de firma.

  • 1 OTP Llamada.

  • 2 OTP SMS.

  • 3 OTP Email.

  • 4 OTP Whatsapp.

Int

SI

3

contactInformation{}

(objeto del array signatures) Objeto que contiene la información de contacto del firmante asociado al proceso a crear.

-

SI

-

phone{}

(objeto de contactInformation) Objeto que contiene la información del número de celular asociado al firmante.

-

SI

-

indicative

(parámetro del objeto phone) Indicativo de país asociado al número de celular del firmante. Ejemplo para Colombia: 57.

String

SI

57

number

(parámetro del objeto phone) Número celular del firmante. Máximo de caracteres para Colombia: 10. Máximo de caracteres para números extranjeros: 20.

String

SI

3188273865

email

(parámetro de contactInformation) Correo electrónico del firmante. Máximo: 100 caracteres.

String

SI

empresa.firma@empresa.com

person{}

(objeto de contactInformation) Objeto que contiene información básica asociada al firmante.

-

SI

-

firstName

(parámetro del objeto person) Primer nombre del firmante. Mínimo: 2 caracteres. Máximo: 100 caracteres.

String

SI

Pablo

firstLastName

(parámetro del objeto person) Primer apellido del firmante. Mínimo: 2 caracteres. Máximo: 100 caracteres.

String

SI

Parra

identification

(parámetro del objeto person) Número de identificación del firmante. Mínimo: 5 caracteres (Cédula de Ciudadanía) o Máximo: 12 caracteres (Cédula Extranjera).

String

SI

1018444520

identificationTypeId

(parámetro del objeto person) Tipo de identificación del firmante.

  • 1 Cédula de Ciudadanía.

  • 2 Cédula Extranjera.

  • 3,NUI

  • 4,NIT

  • 5,Pasaporte

  • 6,Permiso por protección temporal

Int

SI

1

typePersonId

(parámetro del objeto person) Tipo de persona del firmante.

  • 1 Persona Natural.

  • 2 Persona Jurídica.

Int

SI

1

signatory_type

(objeto del array signatures) Tipo de firmante o Rol que se representa en la evidencia digital para cada firmante. 

String

No

Empleado

documents[]

Objeto que contiene la información del documento a firmar.

-

SI

-

templateId

Parámetro que permite indicar el número del ID del template de documento que se desea asignar al proceso de firma. (Este valor lo entregara el Usuario Administrador)

Int

No

023

filename

(parámetro del objeto documents) Nombre del documento PDF. Máximo: 100 caracteres.

String

SI

Contrato de Trabajo

documentTypeId

(parámetro del objeto documents) 

  • 1, Contrato

  • 2,  Arrendamiento

  • 3, Sarlaft

Int

SI

1

base64String

(parámetro del objeto documents) String con el documento PDF codificado en base64.

String

SI

null

callback

URL donde se debe enviar el documento cuando el proceso se termine exitosamente. Este parámetro hace referencia a la estrategia callback mencionada en la sección 5.2

String

NO

Ver ejemplo en sección 5.2

subjectEmail

Asunto que se desea incluir en el correo electrónico con la solicitud de firma a los firmantes. (En caso de no enviarse, el asunto por defecto es "solicitud de firma.") Máximo: 150 caracteres.

String

NO

Solicitud de Firma

messageEmail

Mensaje que se desea incluir en el correo electrónico con la solicitud de firma a los firmantes. (En caso de no enviarse, no hay un mensaje por defecto.) Máximo: 500 caracteres.

String

NO

Por favor firmar este documento

copyEmails

Listado separado por comas de los correos electrónicos a los cuales se enviará una copia del documento una vez firmado por todos los involucrados. (No se incluyen correos asociados a los firmantes.) Máximo string: 255 caracteres. Máximo de correos electrónicos permitidos: 10.

String

NO

empresa.operaciones@empresa.com,empresa.contabilida@empresa.com

documentsOnlyRead []

Objeto que contiene  un documento que se le podría añadir a la notificación por correo electrónico cuando  el proceso haya sido montado en la APP

-

No

-

fileName

(parámetro del objeto documentsOnlyRead) Nombre del documento PDF. Máximo: 100 caracteres.

String

SI

Carta de instrucciones

base64String

(parámetro del objeto documentsOnlyRead) String con el documento PDF codificado en base64.

String

SI

TDQc5698fHGDI4DHD………

 

3.2.2.4. Create-by-documents - Con plantilla HTML:

El código podría desglosarse en las siguientes partes:

  • Púrpura: Strings que identifica la configuración general de la solicitud

  • Azul: Strings que identifica  la organización de  coordenadas para posicionar la firma manuscrita por medio del consumo.

  • Verde: Strings que identifica  los Tags  que se añadirán cuando se consume el método “Create -by-documents” por medio de plantilla HTML.

  • Amarillo: Array de datos que identifica la informacion de los firmantes

  • Naranja: Strings que identifica los documentos añadidos al proceso de firma.

  • Rosa: String que identifica la url para realizar callback del documento firmado.

  • Cyan:  Strings que identifica los mensajes que aparecerán en el Lay out del correo de notificación cuando el proceso sea activado.

  • Menta: Array de datos que identifica  un documento adjunto que se añadirá al correo de notificación cuando el proceso sea activado .

{

  "processTypeId": 0,

  "signatureMethodId": 0,

  "deadlineDays": 0,

  "isInOrder": true,

  "isRead": true,

  "isSendByEmail": true,

  "isSendByWhatsApp": true,

  "isHandWritten": true,

  "isPhotographic": true,

 "nit": "string",

  "email_user": null, 

  "signatures": [

    {

      "order": 0,

      "rol": "string",

      "processId": 0,

      "authenticationMethodId": 0,

      "contactInformation": {

        "phone": {

          "indicative": "string",

          "number": "string"

        },

        "email": "string",

        "person": {

          "firstName": "string",

          "firstLastName": "string",

          "identification": null,

          "identificationTypeId": 0,

          "typePersonId": 0

        }

      },

      "signatory_type": "string"

    }

  ],

  "documents": [

    {

      "templateId": null,

      "fileName": "string",

      "documentTypeId": 0,

      "tags": [

        {

          "additionalProp1": "string",

          "additionalProp2": "string",

          "additionalProp3": "string"

        }

      ],

      "base64String": "null"

    }

  ],

  "callback": "string",

  "subjectEmail": "string",

  "messageEmail": "string",

  "copyEmails": "string",

  "documentsOnlyRead": [

    {

      "fileName": "string",

      "base64String": "string"

    }

  ]

}

 

Por favor verifique  la ejemplificación del consumo en Swagger en versión 1 [Swagger API APP v1

 

Parámetro

Descripción

Tipo

Obligatoriedad

Ejemplo

processTypeId

Tipo de proceso a crear. Puede ser:

  • 1 (Solo Yo)

  • 2 (Otros y Yo)

  • 3 (Solo Otros)

Int

SI

3

signatureMethodId

Método de firma con el cual se creará el proceso.

  • 1 Firma electrónica simple.

  • 2 Firma electrónica certificada.

Int

SI

2

deadlineDays

Plazo máximo en días para que todos los signatarios firmen el documento asociado al proceso.

Int

SI

30

isInOrder

Parámetro que permite que el proceso sea por orden de firmantes predefinido. Valores:

  • True, el proceso tendrá orden de firmantes.

  • False, el proceso no tendrá orden de firmantes.

Boolean

No

True

isRead

Parámetro que identifica si se  configurará una obligatoriedad de lectura al PDF para poder ser firmado. Valores:

  • True, con obligatoriedad de lectura

  • False, sin obligatoriedad de lectura.

Boolean

 

SI

True

isSendByEmail

Parámetro que  indica si la notificación cuando esté montado el proceso en la App será enviada por correo electrónico. Valores:

  • True, SI se envía la notificación por correo electrónico

  • False, NO se envía la notificación por correo electrónico

Boolean

 

SI

True

isSendByWhatsApp

Parámetro que  indica si la notificación cuando esté montado el proceso en la App será enviada por WhatsApp. Valores:

  • True, SI se envía la notificación por WhatsApp

  • False, NO se envía la notificación por WhatsApp

Boolean




Si

True

isHandWritten

Parámetro que permite agregar firma manuscrita. Valores:

  • True, proceso tendrá firma manuscrita

  • False, el proceso no tendrá firma manuscrita.

Boolean

No

True

isPhotographic

Parámetro que permite agregar firma fotográfica. Valores:

  • True, el proceso tendrá firma fotográfica.

  • False, el proceso no tendrá firma fotográfica.

Boolean

No

True

nit

  

 

Parámetro que identifica el NIT de una cuenta Administradora ya creada en la plataforma de firma electrónica. Este proceso se activa para heredar los derechos de administración y manejo a un tercero  de el proceso que se está  montando por medio del consumo de la API. El consumo de saldo será descontado de la cuenta que se está relacionando.

String

No

51933622

email_user

Parámetro que identifica el usuario de una cuenta Administradora ya creada en la plataforma de firma electrónica. Este proceso se activa para heredar los derechos de administración y manejo a un tercero  de el proceso que se está  montando por medio del consumo de la API. El consumo de saldo será descontado de la cuenta que se está relacionando.

String

No

persona.tranferir@empresa.com

signatures[]

Este array determina el listado de firmantes vinculados al proceso, sujeto al tipo de proceso. Acepta máximo 10 firmantes por proceso

order

(parámetro del array signatures) El orden de cada firmante en el proceso

Int

Si el valor isOrden = True

1

rol

(parámetro del array signatures)  Determina el rol  que se le asigna al Firmante.El parámetro es obligatorio si se le asigna una plantilla al proceso de firma.

String

Si

Empleado

processId

(parámetro del array signatures) Debe tener como valor 0.

Int

No

0

authenticationMethodId

(parámetro del array signatures) Método de autenticación OTP (One-Time Password) con el cual el firmante validará su proceso de firma.

  • 1 OTP Llamada.

  • 2 OTP SMS.

  • 3 OTP Email.

  • 4 OTP Whatsapp.

Int

SI

3

contactInformation{}

(objeto del array signatures) Objeto que contiene la información de contacto del firmante asociado al proceso a crear.

-

SI

-

phone{}

(objeto de contactInformation) Objeto que contiene la información del número de celular asociado al firmante.

-

SI

-

indicative

(parámetro del objeto phone) Indicativo de país asociado al número de celular del firmante. Ejemplo para Colombia: 57.

String

SI

57

number

(parámetro del objeto phone) Número celular del firmante. Máximo de caracteres para Colombia: 10. Máximo de caracteres para números extranjeros: 20.

String

SI

3188273865

email

(parámetro de contactInformation) Correo electrónico del firmante. Máximo: 100 caracteres.

String

SI

empresa.firma@empresa.com

person{}

(objeto de contactInformation) Objeto que contiene información básica asociada al firmante.

-

SI

-

firstName

(parámetro del objeto person) Primer nombre del firmante. Mínimo: 2 caracteres. Máximo: 100 caracteres.

String

SI

Pablo

firstLastName

(parámetro del objeto person) Primer apellido del firmante. Mínimo: 2 caracteres. Máximo: 100 caracteres.

String

SI

Parra

identification

(parámetro del objeto person) Número de identificación del firmante. Mínimo: 5 caracteres (Cédula de Ciudadanía) o Máximo: 12 caracteres (Cédula Extranjera).

String

SI

1018444520

identificationTypeId

(parámetro del objeto person) Tipo de identificación del firmante.

  • 1 Cédula de Ciudadanía.

  • 2 Cédula Extranjera.

  • 3,NUI

  • 4,NIT

  • 5,Pasaporte

  • 6,Permiso por protección temporal

Int

SI

1

typePersonId

(parámetro del objeto person) Tipo de persona del firmante.

  • 1 Persona Natural.

  • 2 Persona Jurídica.

Int

SI

1

signatory_type

(objeto del array signatures) Tipo de firmante o Rol que se representa en la evidencia digital para cada firmante. 

String

No

Empleado

documents[]

Objeto que contiene la información del documento a firmar.

-

SI

-

templateId

Parámetro que permite indicar el número del ID del template de documento que se desea asignar al proceso de firma. (Este valor lo entregara el Usuario Administrador)

Int

No

023

filename

(parámetro del objeto documents) Nombre del documento PDF. Máximo: 100 caracteres.

String

SI

Contrato de Trabajo

documentTypeId

(parámetro del objeto documents) 

  • 1, Contrato

  • 2,  Arrendamiento

  • 3, Sarlaft

Int

SI

1

Tags []name

En este array podrá relacionar cada “Tag” que haya creado el usuario administrador cuando use una plantilla HTML. Recuerde que esta información debe proporcionarles el usuario administrador, donde le proporcionará el nombre del TAG y el contenido que debe ir en el mismo.

String

Si

{

      "Empleado.Nombre": "Juan Pablo Salazar",

      "Empleador.Nombre": "Ricardo Alfonzo Urrutia",

      "NombreEmpresa": "Porvenir SAS"

    }

 

base64String

(parámetro del objeto documents) String con el documento PDF codificado en base64.

String

SI

null

callback

URL donde se debe enviar el documento cuando el proceso se termine exitosamente. Este parámetro hace referencia a la estrategia callback mencionada en la sección 5.2

String

NO

Ver ejemplo en sección 5.2

subjectEmail

Asunto que se desea incluir en el correo electrónico con la solicitud de firma a los firmantes. (En caso de no enviarse, el asunto por defecto es "solicitud de firma.") Máximo: 150 caracteres.

String

NO

Solicitud de Firma

messageEmail

Mensaje que se desea incluir en el correo electrónico con la solicitud de firma a los firmantes. (En caso de no enviarse, no hay un mensaje por defecto.) Máximo: 500 caracteres.

String

NO

Por favor firmar este documento

copyEmails

Listado separado por comas de los correos electrónicos a los cuales se enviará una copia del documento una vez firmado por todos los involucrados. (No se incluyen correos asociados a los firmantes.) Máximo string: 255 caracteres. Máximo de correos electrónicos permitidos: 10.

String

NO

empresa.operaciones@empresa.com,empresa.contabilida@empresa.com

documentsOnlyRead []

Objeto que contiene  un documento que se le podría añadir a la notificación por correo electrónico cuando  el proceso haya sido montado en la APP

-

No

-

fileName

(parámetro del objeto documentsOnlyRead) Nombre del documento PDF. Máximo: 100 caracteres.

String

SI

Carta de instrucciones

base64String

(parámetro del objeto documentsOnlyRead) String con el documento PDF codificado en base64.

String

SI

TDQc5698fHGDI4DHD………

4. Obtener Respuesta del Consumo:

Obtendrá la respuesta de la solicitud dependiendo del método que consumió:

4.1. Parámetros de respuesta: 

Podrá obtener los siguientes parámetros de respuesta.

 

4.1.1. Create Full


"uuid": "string",  "statusCode": 200
}

Parámetro

Descripción

Ejemplo

uuid

Valor devuelto que identifica el proceso creado en la aplicación de Firma Electrónica

1ee83f3073ae4ee09c183fef4c683b

statusCode

Código que identifica el estado de la respuesta HTTP

200

 

4.1.2. Create by Documents

{
  "uuid": "string",  "requestId": 200
}

Parámetro

Descripción

Ejemplo

requestId

Valor devuelto que identifica el proceso creado en la aplicación de Firma Electrónica

1ee83f3073ae4ee09c183fef4c683b

statusCode

Código que identifica el estado de la respuesta HTTP

200



4.2 Códigos de respuesta

Igualmente podrá  obtener los siguientes códigos de respuesta:

Estado

Descripción

Solución

200

Respuesta exitosa.

No aplica

401

Debes Autenticarte

Revise  los parámetros de entrada

500

Error interno del servidor.

Ocurrió un error en el servidor.  Comuníquese con el Área de Soporte o intente más tarde.

5. Consideraciones para ejemplificación

5.1. Pruebas en Swagger

  • Para autorizar las transacciones  debe usar token el token proporcionado desde el Método “Sign In”.  Adicionalmente podrá ejecutar por medio de Swagger el servicio para efectos de ejemplificación, dando click en el botón “Authorize”



  • Ingrese luego el token. Recuerde que antes de ingresar el token, debes anteponer la palabra 'Bearer' seguida de un espacio para que la autorización sea efectiva.



  • Una vez hecha la autorización se puede evidenciar como el icono del candado se cierra, lo cual permitirá que consuma la ejemplificación del servicio.

 

5.2. Estrategia Call back:

Este endpoint permite al cliente almacenar en su sistema los documentos asociados a diversos procesos utilizando el parámetro de callback que proporcionaron al crear el proceso de firma:


  • PASO 1 Preparar tu Servidor Web : Para comenzar, necesitas configurar un servidor web capaz de recibir solicitudes HTTP POST. Puedes elegir un lenguaje o marco de programación de tu preferencia, como Express.js (Node.js), Flask (Python), o cualquier otro que te resulte cómodo.

  • PASO 2 Crear un Endpoint para la Solicitud: Crea un endpoint en tu servidor web que escuche las solicitudes POST. Cuando recibas una solicitud, asegúrate de analizar el cuerpo JSON para extraer los siguientes campos:

    {
      "uuid": "string",
    "document": "Base64String"
    }

  • PASO 3 Procesar la Solicitud: Luego de extraer los datos de la solicitud, procede a realizar el procesamiento necesario. Ten en cuenta que la solicitud incluye un uuid y un documento en formato Base64. Decodifica el documento y procesa los datos de acuerdo con tus necesidades específicas.

  • PASO 4 Generar la Respuesta: Una vez que hayas completado el procesamiento de la solicitud, debes generar una respuesta JSON con el siguiente formato proporcionado:


    "Message":"El documento de guardo correctamente",
    "Code": 200
    }

  • PASO 5 Gestión de Errores (Opcional): Para garantizar una experiencia robusta, considera implementar un manejo de errores que aborde situaciones inesperadas, como solicitudes incorrectas o errores en el procesamiento. Esto puede incluir respuestas de error personalizadas y registros de errores.

6. Límite y uso de cuotas del consumo

  •  Actualmente no existe un límite máximo de peticiones

  •  Solo está habilitado el consumo según el Token obtenido desde el método “Auth”, que estará habilitado 30 días calendario UTC/GMT -5 horas. se especifica fecha y hora del vencimiento en el consumo.

7. Soporte:

En caso de requerir ayuda adicional por favor comunicarse  con el área de Soporte por medio de estos canales:

 

  • Canal de WhatsApp: +57 321 6795099, donde deberá seguir las instrucciones para identificarse y ser atendido. 

  • Hub Spot: Botón con forma de burbuja de diálogo ubicado en la esquina inferior derecha cuando se ingresa  al ala plicacio con un usuario administrativo y operativo.Abrirá un chat que te permitirá solventar tus dudas con un Agente de soporte.

  • Abrirá un chat que te permitirá solventar tus dudas con un Agente de soporte.

Related content