Skip to main content

Crear una Persona con Detección de Vida

Endpoint

POST https://api.verifik.co/v2/face-recognition/persons/search-live-face

Crea o actualiza una persona después de comprobar liveness en la(s) imagen(es) enviadas, ejecutar una búsqueda por similitud (min_score, search_mode) y la deduplicación asociada al collection_id. En producción, si ya existe un duplicado en esa colección, la API puede responder 409:duplicated_person.

Encabezados

NombreValor
Content-Typeapplication/json
AuthorizationBearer <token>

Parámetros (cuerpo JSON)

NombreTipoRequeridoDescripción
namestringNombre completo (el servidor elimina dígitos del nombre)
imagesstring[]Imágenes faciales en Base64 (sin prefijo data:)
genderstringM o F
date_of_birthstringFecha de nacimiento según validación OpenCV (típicamente YYYY-MM-DD)
nationalitystringNoNacionalidad opcional
collection_idstring_id único de la colección de destino (y ámbito de duplicados)
liveness_min_scorenumberPuntuación mínima de liveness entre 0.5 y 1
min_scorenumberPuntuación mínima para la búsqueda interna, entre 0.5 y 1
search_modestringFAST o ACCURATE

Solicitud

const fetch = require("node-fetch");

const collectionId = "65b9592267cc4f096dbe743d";

async function run() {
const res = await fetch(
"https://api.verifik.co/v2/face-recognition/persons/search-live-face",
{
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: `Bearer ${process.env.VERIFIK_TOKEN}`,
},
body: JSON.stringify({
name: "Jane Doe",
gender: "F",
date_of_birth: "1990-01-15",
nationality: "CO",
collection_id: collectionId,
liveness_min_score: 0.65,
min_score: 0.8,
search_mode: "FAST",
images: ["<base64>", "<base64>"],
}),
}
);
console.log(await res.json());
}

run();

Respuesta

{
"data": {
"_id": "65175da13e81e4fabc12345",
"name": "Jane Doe",
"gender": "F",
"date_of_birth": "1990-01-15T00:00:00.000Z",
"collections": ["65b9592267cc4f096dbe743d"],
"deleted": false,
"createdAt": "2024-01-30T20:16:34.841Z",
"updatedAt": "2024-01-30T20:16:34.841Z"
},
"signature": "…"
}

Notas

  • No uses POST .../persons/liveness: la ruta correcta es search-live-face bajo persons.
  • collection_id: un solo _id de colección (este flujo no acepta un arreglo collections en el cuerpo).
  • Fallo de liveness: puede devolverse 409 con mensaje que contiene liveness_failed.
  • Firma: las respuestas correctas pueden incluir signature según la configuración del middleware.