Skip to main content

Crear una Validación de Vivacidad de Documento

Endpoint​

POST https://api.verifik.co/v2/document-liveness

Una Validación de Vivacidad de Documento es el resultado de todas las validaciones realizadas sobre un documento enviado como imagen en base64. Tenemos cuatro tipos de validaciones que ejecutamos sobre el documento: Reproducción en Pantalla (Screen Replay), Copia Impresa (Printed Copy), Sustitución de Retrato (Portrait Substitution) y Manipulación Digital (Digital Manipulation). También puedes decidir almacenar el base64 en nuestro CDN para poder recuperar la imagen que probaste.

Encabezados​

Content-Type​

Tipo: String
Requerido: Sí

application/json

Authorization​

Tipo: String
Requerido: Sí

Bearer <token>

Parámetros de Cuerpo​

image​

Tipo: Blob
Requerido: Sí

El documento a probar en formato base64.

saveImage​

Tipo: Boolean
Requerido: No

Este booleano define si guardamos la imagen o no para futuras inspecciones.

validateScreenReplay​

Tipo: Boolean
Requerido: No

Realiza una validación para comprobar si el ataque provino de una reproducción en pantalla.

validatePrintedCopy​

Tipo: Boolean
Requerido: No

Realiza una validación para comprobar si el ataque provino de una copia impresa.

validatePortraitSubstitution​

Tipo: Boolean
Requerido: No

Realiza una validación para comprobar si el ataque provino de una sustitución de retrato.

validateDigitalManipulation​

Tipo: Boolean
Requerido: No

Realiza una validación para comprobar si el ataque provino de una manipulación digital.

screenReplayCalibration​

Tipo: String
Requerido: No

Puedes ajustar la calibración entre SOFT, REGULAR o HARD. El valor por defecto es REGULAR.

printedCopyCalibration​

Tipo: String
Requerido: No

Puedes ajustar la calibración entre SOFT, REGULAR o HARD. El valor por defecto es REGULAR.

portraitSubstitutionCalibration​

Tipo: String
Requerido: No

Puedes ajustar la calibración entre SOFT, REGULAR o HARD. El valor por defecto es REGULAR.

ignoreDocumentCroppedValidation​

Tipo: Boolean
Requerido: No

Ignora si el documento fue recortado.

ignoreColourLessValidation​

Tipo: Boolean
Requerido: No

Ignora la falta de color en el documento.

Solicitud​

import axios from 'axios';

const options = {
method: 'POST',
url: 'https://api.verifik.co/v2/document-liveness',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer <your_token>'
},
data: {
image: 'base64_encoded_document_image',
saveImage: true,
validatePrintedCopy: true,
validateScreenReplay: true,
validatePortraitSubstitution: true,
validateDigitalManipulation: true,
screenReplayCalibration: 'REGULAR',
printedCopyCalibration: 'REGULAR',
portraitSubstitutionCalibration: 'REGULAR',
ignoreDocumentCroppedValidation: false,
ignoreColourLessValidation: false
}
};

try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}

Respuesta​

{
"data": {
"client": "68f18d25aafc7dbd2a0bd416",
"imageSaved": true,
"imageUrl": "https://cdn.verifik.co/document-liveness/document-liveness-1761614605009",
"validateScreenReplay": true,
"validatePrintedCopy": true,
"validatePortraitSubstitution": false,
"validateDigitalManipulation": false,
"sreenReplayScore": 0.20818532,
"printedCopyScore": 2.725058,
"portraitSubstitutionScore": 0,
"digitalManipulationScore": 0,
"screenReplayProbability": 0.0008,
"printedCopyProbability": 0.0001,
"portraitSubstitutionProbability": 0,
"digitalManipulationProbability": 0,
"sreenReplayCalibration": "REGULAR",
"printedCopyCalibration": "REGULAR",
"portraitSubstitutionCalibration": "REGULAR",
"digitalManipulationCalibration": "REGULAR",
"ignoreDocumentCroppedValidation": false,
"ignoreColourLessValidation": false,
"screenReplayWarnings": ["GLARE_ON_IMAGE", "IMAGE_IS_TOO_COMPRESSED", "IMAGE_TOO_BLURRY"],
"printedCopyWarnings": ["GLARE_ON_IMAGE", "IMAGE_IS_TOO_COMPRESSED", "IMAGE_TOO_BLURRY"],
"portraitSubstitutionWarnings": [],
"digitalManipulationWarnings": [],
"screenReplayErrors": [],
"printedCopyErrors": [],
"portraitSubstitutionErrors": [],
"digitalManipulationErrors": [],
"aggregatedScore": 0.0004,
"isLive": false,
"aggregateWarnings": ["GLARE_ON_IMAGE", "IMAGE_IS_TOO_COMPRESSED", "IMAGE_TOO_BLURRY"],
"_id": "69001b0d3440483cbaae2d68",
"updatedAt": "2025-10-28T01:23:59.928Z",
"createdAt": "2025-10-28T01:23:59.928Z",
"__v": 0,
"chargesCount": 2,
"rawResponse": {
"pipeline_results": [
{
"pipeline_name": "screen-replay_2024-09",
"liveness_score": 0.20818532,
"liveness_probability": "0.0008",
"is_live": false,
"image_quality_warnings": ["GLARE_ON_IMAGE", "IMAGE_IS_TOO_COMPRESSED", "IMAGE_TOO_BLURRY"],
"status": "success"
},
{
"pipeline_name": "printed-copy_2024-09",
"liveness_score": 2.725058,
"liveness_probability": "0.0001",
"is_live": false,
"image_quality_warnings": ["GLARE_ON_IMAGE", "IMAGE_IS_TOO_COMPRESSED", "IMAGE_TOO_BLURRY"],
"status": "success"
}
],
"charges_count": 2,
"aggregate_liveness_probability": "0.0004",
"aggregate_is_live": false,
"aggregate_image_quality_warnings": ["GLARE_ON_IMAGE", "IMAGE_IS_TOO_COMPRESSED", "IMAGE_TOO_BLURRY"]
}
},
"signature": {
"dateTime": "October 28, 2025 1:24 AM",
"message": "Certified by Verifik.co"
},
"id": "8YISP"
}