Saltar al contenido principal

Códigos de Respuesta del Sistema

Documentación completa de todos los códigos de respuesta utilizados en el sistema SwapBits, organizados por categorías y tipos de resultado.


Índice


Formato General de Respuestas

Respuesta Exitosa

{
"code": 1000,
"message": "Operación exitosa",
"data": {
// contenido específico del resultado
}
}
  • code: Identificador numérico del resultado
  • message: Mensaje descriptivo en inglés
  • data: Contenido de la respuesta (solo en éxito)

Respuesta de Error

{
"code": 4001,
"message": "User not found.",
"id": "123-HN-I98"
}
  • code: Identificador numérico del error
  • message: Descripción del error
  • id: Identificador único para trazabilidad y soporte

Códigos de Éxito (1xxx)

Registro y Autenticación

1000Registration completed successfully.

El proceso de registro de usuario se completó correctamente con todos los datos validados.

1001Login successful.

El usuario fue autenticado exitosamente. Proceder con verificación si es requerida.

1011Login successful.

Login exitoso con bypass de validaciones adicionales.

Gestión de Contraseña

1002Password reset link sent successfully.

Se envió correctamente el enlace de restablecimiento de contraseña al email del usuario.

1003Password updated successfully.

La contraseña del usuario fue actualizada correctamente en el sistema.

1013Password changed successfully.

Contraseña cambiada exitosamente por el usuario autenticado.

Gestión de Usuario

1004User deleted successfully.

La cuenta del usuario fue eliminada completamente del sistema.

1005User updated successfully.

Los datos del perfil del usuario fueron actualizados correctamente.

1006Image uploaded successfully.

La imagen del usuario fue subida y procesada correctamente.

1012Account deleted successfully.

Cuenta de usuario eliminada exitosamente mediante soft delete.

Autenticación de Dos Factores (2FA)

1007OTP disabled successfully.

La autenticación de dos factores (2FA) fue desactivada para el usuario.

1008OTP code is valid.

El código OTP proporcionado es válido y fue verificado correctamente.

Mensajería y Verificación

1009Your message has been successfully sent!

El mensaje o comunicación fue enviado exitosamente al destinatario.

1010Verification code sent successfully.

Se envió correctamente el código de verificación al método configurado. También usado para sesión de cambio de contraseña creada.

1014Registration code resent successfully.

Código de registro reenviado exitosamente al usuario.

Sistema PIN

1015PIN configured successfully.

PIN de seguridad configurado correctamente para el usuario.

1016PIN verified successfully.

PIN verificado correctamente, acceso autorizado.

1017PIN updated successfully.

PIN actualizado exitosamente.

1018PIN status retrieved successfully.

Estado del PIN obtenido correctamente.

1019PIN enabled successfully.

PIN habilitado correctamente para el usuario.

1020PIN disabled successfully.

PIN deshabilitado correctamente.

Biometría

1021Biometric device registered successfully.

Dispositivo biométrico registrado exitosamente.

1022Biometric device revoked successfully.

Dispositivo biométrico revocado correctamente.

1023Biometric challenge generated successfully.

Challenge biométrico generado exitosamente.


Códigos de Operaciones Exitosas (2xxx)

Transacciones y QR

2000Transaction processed successfully.

La transacción financiera fue procesada y confirmada correctamente.

2001QR code request processed successfully.

Solicitud de código QR procesada exitosamente.

2002QR login approved successfully.

Login mediante código QR aprobado correctamente.

OTP (One-Time Password)

2003Two-factor authentication generated successfully.

Autenticación de dos factores generada exitosamente.

2004Two-factor authentication status retrieved successfully.

Estado de autenticación de dos factores obtenido correctamente.


Códigos de Verificación (3xxx)

Verificaciones Exitosas

3000KYC verification completed successfully.

El proceso de verificación de identidad (KYC) fue completado exitosamente.

3001Email verified successfully.

La dirección de correo electrónico fue verificada y confirmada.


Códigos de Error de Cliente (4xxx)

Errores de Email

4000The provided email is invalid.

El formato del email proporcionado no es válido o contiene caracteres no permitidos.

4002The email is already registered.

Ya existe una cuenta registrada con esta dirección de correo electrónico.

4009Token email does not match provided email.

El email del token no coincide con el email proporcionado.

4020Invalid email format.

El formato del email no cumple con los estándares RFC para direcciones de correo.

Errores de Usuario

4001User not found.

No existe un usuario registrado con los datos proporcionados.

4040User not found.

Usuario no encontrado en el sistema (usado en endpoints de cambio de contraseña).

Errores de Autenticación

4007The provided password is incorrect.

La contraseña ingresada no coincide con la registrada para este usuario.

4008The provided password does not meet the required criteria.

La contraseña no cumple con los requisitos mínimos de seguridad (longitud, caracteres, etc.).

4013Invalid email or password.

Las credenciales proporcionadas (email y/o contraseña) son incorrectas.

⚠️
4014Two-factor authentication is required.

El usuario tiene 2FA habilitado. Se requiere código de autenticación adicional.

4029New password cannot be the same as current password.

La nueva contraseña no puede ser igual a la contraseña actual.

4034Two-factor authentication code is required for users with 2FA enabled.

Se requiere código 2FA para usuarios que tienen habilitada la autenticación de dos factores.

Errores de Código/Token

4003The OTP code has expired.

El código de autenticación de dos factores ha expirado y debe solicitarse uno nuevo.

4004The verification token is invalid.

El token de verificación proporcionado no es válido o ha sido comprometido.

4005Invalid verification code.

El código de verificación ingresado no coincide con el esperado. También usado para código 2FA inválido.

4010Code expired or invalid.

El código ha expirado o es inválido.

4015Invalid token.

El token de sesión proporcionado no es válido o ha expirado.

4016Token is required for this operation.

Esta operación requiere un token de autenticación válido que no fue proporcionado.

4021Session token not found in the payload.

Token de sesión no encontrado en el payload de la petición.

4022Token not provided or invalid.

No se proporcionó token de autenticación o el token enviado no es válido.

4023The token has expired due to inactivity.

El token de sesión expiró por inactividad. Se requiere nueva autenticación.

4031Validation token is required. Please request password change first.

Se requiere token de validación. Debe ejecutarse el paso de solicitud primero.

4032Invalid or expired validation token.

Token de validación inválido o expirado (más de 5 minutos).

4033Validation token does not match current user.

El token de validación no pertenece al usuario actual.

Errores de Sesión

4024Session is not authorized.

La sesión no está autorizada para realizar esta operación.

4027Your session has expired. We have sent you a new email to authorize this location.

Sesión expirada, se envió nuevo email de autorización.

Errores de Seguridad y Bloqueo

4025This device was previously revoked. Please check your email to authorize it again.

Dispositivo revocado previamente, requiere nueva autorización.

4026New location detected. Please check your email to authorize access.

Nueva ubicación detectada, se requiere autorización por email.

4028This location has not been authorized yet. Please check your email and authorize access first.

Ubicación no autorizada, debe revisar email y autorizar primero.

4030Your account has been temporarily blocked. Please contact support.

Cuenta bloqueada temporalmente. También usado para PIN bloqueado por intentos fallidos.

Errores de PIN

4031PIN not configured or not active.

El PIN no está configurado o no está activo para el usuario.

Errores de Datos

4006Missing required data.

Faltan campos obligatorios en la petición. Verificar documentación del endpoint. También usado para datos inválidos.

4017New password is required.

Se requiere proporcionar una nueva contraseña.

Errores de QR y WebAuthn

4018Invalid or expired QR code.

Código QR inválido o expirado.

4019WebAuthn challenge not found or expired.

Challenge de WebAuthn no encontrado o expirado.


Códigos de Error del Servidor (5xxx)

Errores de Transacciones

5000Transaction processing failed.

Error interno al procesar la transacción. Contactar soporte con el ID del error.

Errores de Base de Datos

5001Failed to save user to the database.

Error al guardar los datos del usuario en la base de datos. Problema interno del servidor.

5003Error deleting user.

Error interno al intentar eliminar la cuenta del usuario del sistema.

5004Error updating user.

Error interno al actualizar los datos del usuario en el sistema.

5007Error updating user image.

Error interno al procesar o guardar la imagen del usuario.

Errores de KYC

5002The user has not completed KYC.

El usuario debe completar el proceso de verificación de identidad antes de continuar.

Errores de Biometría

5010Invalid challenge or signature.

Challenge o firma biométrica inválida.

5011Challenge expired or already used.

Challenge expirado o ya utilizado.

5012Device not registered or revoked.

Dispositivo biométrico no registrado o revocado.

Errores Generales del Servidor

5005Error fetching user profile.

Error interno al obtener los datos del perfil del usuario.

5008Unauthorized access.

Acceso no autorizado. El usuario no tiene permisos para realizar esta acción.


Implementación en Frontend

Guía de Manejo de Códigos

Reglas importantes:

  • code define el tipo de respuesta. Nunca dependas solo del texto
  • message puede mostrarse al usuario o registrarse para análisis
  • data solo está presente en respuestas exitosas
  • id se usa únicamente en errores y debe guardarse para trazabilidad

TypeScript/JavaScript

Manejo recomendado de respuestas
interface ApiResponse<T = any> {
code: number;
message: string;
data?: T;
id?: string;
}

const handleApiResponse = <T>(response: ApiResponse<T>) => {
if (response.code >= 1000 && response.code < 4000) {
// Respuesta exitosa (códigos 1xxx-3xxx)
showSuccessNotification(response.message);
return { success: true, data: response.data };
}
else if (response.code >= 4000 && response.code < 5000) {
// Error de cliente/validación (códigos 4xxx)
showErrorNotification(response.message);
logClientError(response.id, response.code);
return { success: false, error: response.message };
}
else if (response.code >= 5000) {
// Error de servidor (códigos 5xxx)
showErrorNotification('Error interno del servidor');
logServerError(response.id, response.code, response.message);
return { success: false, error: 'Error interno' };
}
};

// Ejemplo de uso
const loginUser = async (email: string, password: string) => {
const response = await apiCall('/auth/login', { email, password });
return handleApiResponse(response);
};

Códigos Especiales de Atención

Código 4014 - 2FA Requerido

Este código NO es un error, sino una indicación de que se requiere un paso adicional de autenticación. El frontend debe redirigir al usuario a la pantalla de verificación 2FA.

Código 1010 - Múltiples Usos

El código 1010 se usa tanto para "código de verificación enviado" como para "sesión de cambio de contraseña creada". Verificar el contexto del endpoint para determinar el significado exacto.

Códigos de Validación Token

Los códigos 4031, 4032, 4033 son específicos del flujo de cambio de contraseña:

  • 4031: Token no proporcionado (ejecutar Paso 1)
  • 4032: Token expirado (más de 5 minutos)
  • 4033: Token no pertenece al usuario actual

Resumen por Categorías

Rangos de Códigos

Códigos de Éxito:

  • 1000-1999: Operaciones exitosas generales (registro, autenticación, gestión)
  • 2000-2999: Operaciones específicas exitosas (transacciones, QR, OTP)
  • 3000-3999: Verificaciones exitosas (KYC, email)

Códigos de Error:

  • 4000-4999: Errores del cliente (validación, autenticación, autorización)
  • 5000-5999: Errores del servidor (base de datos, procesamiento interno)

Estadísticas

CategoríaRangoTotal
Registro y Autenticación1000-10113 códigos
Gestión de Contraseña1002-10133 códigos
Gestión de Usuario1004-10124 códigos
2FA1007-10082 códigos
Mensajería1009-10143 códigos
Sistema PIN1015-10206 códigos
Biometría1021-10233 códigos
Transacciones y QR2000-20023 códigos
OTP2003-20042 códigos
Verificaciones3000-30012 códigos
Errores Email4000-40204 códigos
Errores Usuario4001-40402 códigos
Errores Autenticación4007-40346 códigos
Errores Código/Token4003-403311 códigos
Errores Sesión4024-40272 códigos
Errores Seguridad4025-40304 códigos
Errores PIN40311 código
Errores Datos4006-40172 códigos
Errores QR/WebAuthn4018-40192 códigos
Errores Servidor5000-501210 códigos

Total de códigos documentados: 67 códigos

  • Códigos de éxito: 29 códigos (1xxx-3xxx)
  • Códigos de error cliente: 28 códigos (4xxx)
  • Códigos de error servidor: 10 códigos (5xxx)

Última actualización: 18 de octubre de 2025