Crear una Validación Biométrica de Inicio de Sesión de Aplicación
Endpoint
POST https://api.verifik.co/v2/biometric-validations/app-login
Descripción General
Una Validación Biométrica es una instancia dentro del sistema de Verifik que te permite procesar y validar identidades de usuarios mediante reconocimiento facial y detección de vida durante el proceso de inicio de sesión. Este endpoint está diseñado específicamente para usuarios que están en medio de un flujo de inicio de sesión de aplicación.
Encabezados
| Nombre | Valor |
|---|---|
| Content-Type | application/json |
| Authorization | Bearer {YOUR_ACCESS_TOKEN} |
warning
El Token JWT que debes usar al crear Validaciones Biométricas de Inicio de Sesión de Aplicación es proporcionado por el Inicio de Sesión de Aplicación en la creación.
Parámetros
| Nombre | Tipo | Requerido | Descripción |
|---|---|---|---|
project | string | Sí | El identificador único del proyecto donde se utilizará esta validación biométrica. |
projectFlow | string | Sí | El identificador único para la configuración del flujo del proyecto. |
identifier | string | Sí | Un identificador único para el usuario o sesión (por ejemplo, correo electrónico, teléfono o ID personalizado). |
type | string | Sí | Debe establecerse en login para este endpoint. |
expiresAt | string | No | Fecha de expiración opcional para la sesión de validación. |
redirectUrl | string | No | URL opcional para redirección después de la validación. |
webhookUrl | string | No | URL de webhook opcional para notificaciones de validación. |
requires2FA | boolean | No | Bandera opcional que indica si se requiere autenticación de dos factores. |
ipAddress | string | No | Dirección IP opcional del usuario. |
sendViaEmail | boolean | No | Bandera opcional para enviar enlace de validación por correo electrónico. |
email | string | No | Dirección de correo electrónico para enviar el enlace de validación (requerido si sendViaEmail es true). |
language | string | No | Idioma para plantillas de correo electrónico (en/es). Por defecto es "en". |
Solicitud
- JavaScript
- Python
- PHP
- Swift
import axios from 'axios';
const options = {
method: 'POST',
url: 'https://api.verifik.co/v2/biometric-validations/app-login',
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer <your_token>'
},
data: {
project: '507f1f77bcf86cd799439011',
projectFlow: '507f1f77bcf86cd799439015',
identifier: 'user@example.com',
type: 'login',
expiresAt: '2024-12-31T23:59:59.000Z',
redirectUrl: 'https://yourapp.com/success',
webhookUrl: 'https://yourapp.com/webhook',
requires2FA: false,
ipAddress: '192.168.1.1',
sendViaEmail: true,
email: 'user@example.com',
language: 'en'
}
};
try {
const { data } = await axios.request(options);
console.log(data);
} catch (error) {
console.error(error);
}
import http.client
import json
conn = http.client.HTTPSConnection("api.verifik.co")
payload = json.dumps({
"project": "507f1f77bcf86cd799439011",
"projectFlow": "507f1f77bcf86cd799439015",
"identifier": "user@example.com",
"type": "login",
"expiresAt": "2024-12-31T23:59:59.000Z",
"redirectUrl": "https://yourapp.com/success",
"webhookUrl": "https://yourapp.com/webhook",
"requires2FA": False,
"ipAddress": "192.168.1.1",
"sendViaEmail": True,
"email": "user@example.com",
"language": "en"
})
headers = {
'Content-Type': 'application/json',
'Authorization': 'Bearer <your_token>'
}
conn.request("POST", "/v2/biometric-validations/app-login", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
<?php
$client = new \GuzzleHttp\Client();
$response = $client->request('POST', 'https://api.verifik.co/v2/biometric-validations/app-login', [
'headers' => [
'Content-Type' => 'application/json',
'Authorization' => 'Bearer <your_token>',
],
'json' => [
'project' => '507f1f77bcf86cd799439011',
'projectFlow' => '507f1f77bcf86cd799439015',
'identifier' => 'user@example.com',
'type' => 'login',
'expiresAt' => '2024-12-31T23:59:59.000Z',
'redirectUrl' => 'https://yourapp.com/success',
'webhookUrl' => 'https://yourapp.com/webhook',
'requires2FA' => false,
'ipAddress' => '192.168.1.1',
'sendViaEmail' => true,
'email' => 'user@example.com',
'language' => 'en'
]
]);
echo $response->getBody();
import Foundation
let headers = [
"Content-Type": "application/json",
"Authorization": "Bearer <your_token>"
]
let parameters = [
"project": "507f1f77bcf86cd799439011",
"projectFlow": "507f1f77bcf86cd799439015",
"identifier": "user@example.com",
"type": "login",
"expiresAt": "2024-12-31T23:59:59.000Z",
"redirectUrl": "https://yourapp.com/success",
"webhookUrl": "https://yourapp.com/webhook",
"requires2FA": false,
"ipAddress": "192.168.1.1",
"sendViaEmail": true,
"email": "user@example.com",
"language": "en"
] as [String : Any]
let postData = try JSONSerialization.data(withJSONObject: parameters, options: [])
let request = NSMutableURLRequest(url: NSURL(string: "https://api.verifik.co/v2/biometric-validations/app-login")! as URL,
cachePolicy: .useProtocolCachePolicy,
timeoutInterval: 10.0)
request.httpMethod = "POST"
request.allHTTPHeaderFields = headers
request.httpBody = postData as Data
let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
if (error != nil) {
print(error as Any)
} else {
let httpResponse = response as? HTTPURLResponse
print(httpResponse)
}
})
dataTask.resume()
Respuesta
- 200
- 403
- 409
- 404
{
"data": {
"livenessSession": {
"_id": "674de8df21c72be3cc42b8a7",
"identifier": "user@example.com",
"client": "507f1f77bcf86cd799439013",
"project": "507f1f77bcf86cd799439011",
"projectFlow": "507f1f77bcf86cd799439015",
"status": "active",
"expiresAt": "2024-12-02T17:15:35.000Z",
"createdAt": "2024-12-02T17:05:36.788Z",
"updatedAt": "2024-12-02T17:05:36.788Z"
},
"biometricValidation": {
"_id": "674de8df21c72be3cc42b8a8",
"client": "507f1f77bcf86cd799439013",
"project": "507f1f77bcf86cd799439011",
"projectFlow": "507f1f77bcf86cd799439015",
"status": "new",
"livenessSession": "674de8df21c72be3cc42b8a7",
"type": "login",
"url": "https://access.verifik.co/sign-in/507f1f77bcf86cd799439011?type=liveness",
"assignedCollection": "507f1f77bcf86cd799439016",
"collectionCode": "col_12345",
"redirectUrl": null,
"webhook": null,
"requires2FA": false,
"createdAt": "2024-12-02T17:05:36.788Z",
"updatedAt": "2024-12-02T17:05:36.788Z"
},
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."
}
}
{
"code": "token_not_right",
"message": "403:token_not_right"
}
{
"code": "MissingParameter",
"message": "falta proyecto"
}
{
"code": "Project_not_found_or_featured_disabled",
"message": "404:Project_not_found_or_featured_disabled"
}
Características
- Validación Específica para Inicio de Sesión: Diseñada específicamente para flujos de validación biométrica de inicio de sesión de aplicación
- Detección de Vida: Reconocimiento facial avanzado con tecnología anti-suplantación
- Sesiones Seguras: Creación automática de sesiones de vida seguras con expiración
- Múltiples Lenguajes de Programación: Soporte para JavaScript, Python, PHP y Swift
- Integración de Correo Electrónico: Notificaciones por correo electrónico opcionales con enlaces de validación
- Soporte de Webhook: Notificaciones en tiempo real para eventos de validación
- Plantillas Multi-idioma: Soporte para plantillas de correo electrónico en inglés y español
- Características de Seguridad: Seguimiento de dirección IP y soporte para 2FA