Saltar al contenido principal

Registrar Dispositivo Biométrico

Registra un dispositivo biométrico para el usuario autenticado. Requiere deviceId (UUID), publicKey y algorithm = P-256.


POST/auth/biometry/register

Registra un dispositivo biométrico para el usuario

📤 Respuesta

{
"code": 1021,
"message": "Biometric device registered successfully.",
"data": {
  "deviceId": "550e8400-e29b-41d4-a716-446655440000",
  "deviceName": "iPhone 15",
  "platform": "iOS",
  "registeredAt": "2025-01-20T14:45:00.000Z",
  "status": "active"
}
}

Headers

HeaderValue
AuthorizationBearer <JWT>
Content-Typeapplication/json

Body

{
"deviceId": "550e8400-e29b-41d4-a716-446655440000",
"deviceName": "iPhone 15",
"platform": "iOS",
"publicKey": "BASE64_PUBLIC_KEY",
"algorithm": "P-256"
}

Campos

CampoTipoRequeridoDescripción
deviceIdstringDebe ser un UUID válido
deviceNamestringNombre del dispositivo
platform"iOS""Android"
publicKeystringClave pública en formato string
algorithm"P-256"Debe ser exactamente "P-256"

Response (200)

Dispositivo registrado

code 1021 — Biometric device registered successfully.

{
"code": 1021,
"message": "Biometric device registered successfully.",
"data": {
"deviceId": "550e8400-e29b-41d4-a716-446655440000",
"deviceName": "iPhone 15",
"platform": "iOS",
"registeredAt": "2025-01-20T14:45:00.000Z",
"status": "active"
}
}

data

CampoTipoDescripción
deviceIdstringID del dispositivo registrado
deviceNamestringNombre del dispositivo
platformstring"iOS" o "Android"
registeredAtstringTimestamp ISO 8601
status"active"Estado fijo "active"

Errores

Datos inválidos

HTTP 400code 4006.

Campos requeridos / algoritmo inválido

{
"code": 4006,
"message": "All fields are required and algorithm must be P-256"
}

deviceId inválido (no UUID)

{
"code": 4006,
"message": "Invalid deviceId format. Must be a valid UUID"
}

platform inválida

{
"code": 4006,
"message": "Platform must be iOS or Android"
}

Dispositivo ya registrado

HTTP 400code 4002.

{
"code": 4002,
"message": "Device already registered for this user"
}

Usuario no encontrado

HTTP 404code 4001.

{
"code": 4001,
"message": "User not found."
}

No autorizado

HTTP 401 — Token JWT inválido, expirado o ausente.

{
"statusCode": 401,
"message": "Unauthorized"
}

Error interno

HTTP 500code 5001.

{
"code": 5001,
"message": "Failed to save user to the database.",
"details": "..."
}

Ejemplo (cURL)

curl -X POST 'https://api.swapbits.co/auth/biometry/register' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer YOUR_JWT_TOKEN' \
-d '{
"deviceId": "550e8400-e29b-41d4-a716-446655440000",
"deviceName": "iPhone 15",
"platform": "iOS",
"publicKey": "BASE64_PUBLIC_KEY",
"algorithm": "P-256"
}'

⚡ Quick Test

POSThttps://api.swapbits.co/auth/biometry/register
curl -X POST 'https://api.swapbits.co/auth/biometry/register' \
  -H 'Content-Type: application/json' \
  -d '{
"deviceId": "550e8400-e29b-41d4-a716-446655440000",
"deviceName": "iPhone 15",
"platform": "iOS",
"publicKey": "BASE64_PUBLIC_KEY",
"algorithm": "P-256"
}'