¿Cómo crear un proceso de firma?

Dirígete a la sección “Process” y en la lista de métodos disponibles, selecciona “create-full” el cual te proporcionará las características y la estructura base necesaria para su consumo. A continuación, encontrarás el request:

Solicitud (Request):

  • Método: POST

  • URL de Solicitud: https://demo.firmaseguro.co/api/v1/Process/create-full

  • Encabezados (Headers):

    • Authorization: Bearer Token - Token de autenticación Bearer.

  • Parámetros

{ "processTypeId": 0, "signatureMethodId": 0, "deadlineDays": 0, "isInOrder": true, "language": "string", "isHandWritten": true, "isPhotographic": true, "signatures": [ { "order": 0, "processId": 0, "authenticationMethodId": 0, "contactInformation": { "phone": { "indicative": "string", "number": "string" }, "phoneId": 0, "email": "string", "personId": 0, "person": { "firstName": "string", "secondName": null, "firstLastName": "string", "secondLastName": null, "identification": null, "identificationTypeId": 0, "typePersonId": 0, "pathHandWritten": "string", "fileNameHandWritten": "string" } }, "signatory_type": "string" } ], "documents": { "fileName": "string", "documentTypeId": 0, "base64String": "string" }, "callback": "string", "subjectEmail": "string", "messageEmail": "string", "copyEmails": "string", "balanceTypeId": 0 }

 


Descripción de parámetros

Parámetro

Descripción

Tipo

Obligatorio

processTypeId

Tipo de proceso a crear. Puede ser:

  • 1 (Solo Yo)

  • 2 (Otros y Yo)

  • 3 (Solo Otros)

Int

SI

balanceTypeId

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

  1. Saldo por firmas

  2. Saldo por documentos

Int

SI

signatureMethodId

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

  1. Firma electrónica simple.

  2. Firma electrónica certificada.

Int

SI

isHandWritten

Parámetro que permite agregar firma manuscrita. Valores:

  • True, proceso tendrá firma manuscrita

  • False, el proceso no tendrá firma manuscrita.

Boolean

No

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

isInOrden

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

deadlineDays

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

Int

SI

signatures[]

Listado de firmantes vinculados al proceso, sujeto al tipo de proceso.

-

SI

order

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

Int

Si el valor isOrden = True

processId

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

Int

SI

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

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

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

phoneId

(parámetro de contactInformation) Debe tener como valor 0.

Int

SI

email

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

String

SI

personId

(parámetro de contactInformation) Debe tener como valor 0.

Int

SI

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

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

firstLastName

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

String

SI

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

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

identificationTypeId

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

  1. Cédula de Ciudadanía.

  2. Cédula Extranjera.

Int

SI

typePersonId

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

  1. Persona Natural.

  2. Persona Jurídica.

Int

SI

pathHandWritten

(parámetro del objeto person) Ruta de donde se encuentra almacenada la firma manuscrita del firmante.

String

NO

fileNameHandWritten

(parámetro del objeto person) Nombre del archivo de la firma manuscrita del firmante.

String

No

signatory_type

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

String

No

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

documentTypeId

(parámetro del objeto documents) Debe tener como valor 1.

Int

SI

base64String

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

String

SI

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 1.3.

String

NO

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

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

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

Ejemplos de Request

 

Ejecutar request ProcessCreateFull: Sólo yo

Nota importante: En el tipo de proceso “Solo yo”, la persona que firma debe ser la misma que está autenticada en la API. Esto garantiza la seguridad y la integridad del proceso.

 

Tipo de proceso “Solo yo”: Único firmante - con firma manuscrita y
fotográfica.

{ "processTypeId": 1, "signatureMethodId": 2, "isHandWritten": true, "isPhotographic": true, "deadlineDays": 11, "signatures": [ { "processId": 0, "authenticationMethodId": 3, "contactInformation": { "phone": { "indicative": "57", "number": "3108783885" }, "phoneId": 0, "email": "jhon.doe@email.com", "personId": 0, "person": { "firstName": "Jhon", "secondName": null, "firstLastName": "Doe", "secondLastName": null, "identification": "1012402467", "identificationTypeId": 1, "typePersonId": 1 } } } ], "documents": { "fileName": "contrato prueba", "documentTypeId": 1, "base64String": "Reemplazar por un string base64 pdf" }, "callback": "", "subjectEmail": "Prueba demo mi primera firma", "messageEmail": "primera firma desde la api firmaseguro", "copyEmails": "juan.perez@email.com, nina.tul@email.com" }

Ejecutar request ProcessCreateFull: Otros y yo

Nota importante: En el tipo de proceso “Otros y yo”, la persona que firma y desempeña el papel de “yo”, debe ser la misma que está autenticada en la API. Esto garantiza la seguridad y la integridad del proceso.

 

Tipo de proceso “Otros y yo”: Mínimo 2 firmantes, máximo 10

{ "processTypeId": 2, "signatureMethodId": 1, "isHandWritten": false, "isPhotographic": false, "deadlineDays": 23, "signatures": [ { "processId": 0, "authenticationMethodId": 2, "contactInformation": { "phone": { "indicative": "57", "number": "3108783885" }, "phoneId": 0, "email": "jhon.doe@email.com", "personId": 0, "person": { "firstName": "Jhon", "secondName": null, "firstLastName": "Doe", "secondLastName": null, "identification": "1012402467", "identificationTypeId": 1, "typePersonId": 1 } } }, { "processId": 0, "authenticationMethodId": 1, "contactInformation": { "phone": { "indicative": "57", "number": "3114567894" }, "phoneId": 0, "email": "juan.perez@email.com", "personId": 0, "person": { "firstName": "Juan", "secondName": "Manuel", "firstLastName": "Perez", "secondLastName": "Ortiz", "identification": "45784415", "identificationTypeId": 1, "typePersonId": 1 } } } ], "documents": { "fileName": "contrato prueba", "documentTypeId": 1, "base64String": "Reemplazar por un string base64 pdf" }, "callback": "", "subjectEmail": "Prueba demo mi primera firma", "messageEmail": "primera firma desde la api firmaseguro", "copyEmails": "" }

Ejecutar request ProcessCreateFull: Sólo otros

Nota importante: En el tipo de proceso “Sólo otros”, las personas que firman son otras personas distintas de la persona que está autenticada.

 

Tipo de proceso “Solo otros”: Mínimo 1 firmante, máximo 10

Ejemplo de Response