Descripción general
Esta guía cataloga todas las páginas de error que pueden aparecer durante el proceso de verificación móvil de Liveform. Cada tabla alinea el código y la ruta orientados al desarrollador con el mensaje exacto que ven sus usuarios, para que los equipos de soporte, operadores y desarrolladores hablen con una sola voz.Todas las páginas de error se clasifican en una de cuatro rutas de renderizado:
/error-page/:errorType/error-page/token-*/face-retry/:faceErrorCode- Next.js
Error Boundary
Sistema de categorías de códigos de error
Formato del código de error:CATEGORY-5DIGITS (por ejemplo, NF-10000)
| Category | Prefix | Full name | Number range | Meaning |
|---|---|---|---|---|
| General | Developer code | Legacy | — | Definido por tipo de error según su código de desarrollador |
| Not Found | NF | Not Found | 10000s | Acceso directo a rutas no definidas |
| Quality Score | QS | Quality Score | 10000–30000 | Casos de error activados durante búsquedas de IP |
| Queueing Error | QE | Queueing Error | 20000s | Errores de sobrecarga de cola del motor |
| Error Reference | ER | Error Reference | 001+ | Identificadores de API y constantes para limitación de tasa, bloqueo y casos relacionados |
| Parameter Validation | PV | Parameter Validation | 40000s | Parámetros de query-string faltantes / valores no válidos / conflictos de opciones |
| Server Error | SE | Server Error | 50000s | Fallos en llamadas API o errores del servidor |
| Runtime | RT | Runtime Error | 60000s | Errores de tiempo de ejecución del front-end (React ErrorBoundary, excepciones try/catch) |
Páginas de error generales (/error-page/:errorType)
Errores de autenticación y autorización
| Type | Developer code | URL | User message | Occurrence |
|---|---|---|---|---|
| Page not found | page-not-found | /error-page/page-not-found | ”The page could not be found” | Aparece cuando un usuario escribe una URL inexistente o abre un marcador desactualizado. |
| Service blocked | service-blocked | /error-page/service-blocked | ”Submissions are temporarily paused” | Se muestra cuando un operador detiene temporalmente las solicitudes pero los usuarios siguen visitando el enlace. |
| Invalid path | bad-path | /error-page/bad-path | ”Invalid URL path” | Se activa si alguien edita el enlace compartido o navega a una ruta no incluida en la lista blanca. |
| Refresh detected | refresh | /error-page/refresh | ”Refresh detected” | Se muestra cuando el usuario actualiza o hace clic en atrás/adelante durante el flujo y la sesión se reinicia. |
| Unsupported browser | invalid-browser | /error-page/invalid-browser | ”Unsupported browser” | Aparece en navegadores antiguos o entornos sin soporte de WebAssembly; los usuarios deben cambiar a un navegador moderno. |
| Hash validation failure | hash_problem | /error-page/hash_problem | ”Hash validation issue” | Se muestra si múltiples pestañas o pasos omitidos rompen la integridad de los datos; el flujo debe reiniciarse. |
| Encrypted only | encrypted_only | /error-page/encrypted_only | ”Unencrypted access” | Aparece al acceder a un proyecto con option_encryptedOnly=true usando una cadena de consulta no cifrada, o cuando se incluyen parámetros de consulta distintos a pid, lang y encrypted. |
Errores de estado del proyecto
| Type | Developer code | URL | User message | Occurrence |
|---|---|---|---|---|
| Project closed | project-closed | /error-page/project-closed | ”This project is closed and access is restricted” | Los usuarios que reabren una campaña finalizada ven que no se permiten más solicitudes. |
| Period expired | period | /error-page/period | ”Project submission window expired” | Se activa cuando alguien visita después de que la ventana de envío permitida haya terminado. |
| Submission count limit | submission-number-limit | /error-page/submission-number-limit | ”You submitted more than 15 times” | Los proyectos de prueba detienen intentos adicionales una vez que se supera el límite de 15 envíos. |
Errores de estado de solicitud
| Type | Developer code | URL | User message | Occurrence |
|---|---|---|---|---|
| Already approved | already_approved | /error-page/already_approved | ”This device has already been verified” | Un dispositivo/navegador que ya completó la verificación queda bloqueado hasta que termine el período de espera. |
| Already rejected | already_rejected | /error-page/already_rejected | ”This submission was already rejected” | El usuario intenta de nuevo antes de que expire el período de enfriamiento del rechazo y se le indica que espere. |
| Pending review | already_pending | /error-page/already_pending | ”Your submission is under review” | Se intenta un nuevo envío mientras el anterior aún está en revisión. |
| Processed (approved) | processed_submission-approved | /error-page/processed_submission-approved | ”This submission was already processed (approved)“ | Reabrir un resultado aprobado simplemente recuerda al usuario que no se necesita ninguna acción adicional. |
| Processed (rejected) | processed_submission-rejected | /error-page/processed_submission-rejected | ”Verification was rejected” | Reabrir un resultado rechazado muestra el tiempo de espera restante antes de un reintento. |
| IP already approved | ip_already_approved | /error-page/ip_already_approved | ”This IP address has already been approved” | Otro usuario en la misma red intenta rehacer una verificación que ya fue exitosa. |
| IP already rejected | ip_already_rejected | /error-page/ip_already_rejected | ”This IP address has already been rejected” | La misma red falla repetidamente o aún está dentro del período de enfriamiento del rechazo; los usuarios deben cambiar de red. |
Errores relacionados con correo electrónico
| Type | Developer code | URL | User message | Occurrence |
|---|---|---|---|---|
| Email already rejected | email_already_rejected | /error-page/email_already_rejected | ”Verification rejected / This email was already rejected” | Reutilizar un correo electrónico que aún está dentro del período de espera de rechazo muestra el tiempo de enfriamiento restante. |
Seguridad y detección de fraude
| Type | Developer code | URL | User message | Occurrence |
|---|---|---|---|---|
| Suspected forgery | suspected-forgery | /error-page/suspected-forgery | ”Suspected forgery detected” | Se activa cuando el ID capturado se ve borroso, manipulado o de otra manera no auténtico; el usuario debe volver a fotografiar. |
| File upload not allowed | not-allow-file-upload | /error-page/not-allow-file-upload | ”File upload is not allowed” | Navegadores seguros, modo privado o permisos de cámara/archivos denegados impiden las cargas; los usuarios deben habilitar el acceso o cambiar de dispositivo. |
| Duplicate face detected | face_validation_error | /error-page/face_validation_error | ”Duplicate face detected” | El sistema detecta la misma cara de un envío anterior e indica al usuario que contacte a soporte. |
| Abnormal action | abnormal_action | /error-page/abnormal_action | ”Abnormal behavior detected” | Subir capturas de pantalla, imágenes excesivamente editadas o selfies idénticos activa este mensaje y fuerza un reintento adecuado. |
Errores de riesgo de IP
| Type | Developer code | URL | User message | Occurrence |
|---|---|---|---|---|
| Risky category | ipRisk_failCategory | /error-page/ipRisk_failCategory | ”IP risk category failed” | Las conexiones desde VPNs, Tor o centros de datos se bloquean hasta que los usuarios cambien de red. |
| Distance check failed | distanceChecks_ipGeo | /error-page/distanceChecks_ipGeo | ”IP distance check failed” | Cuando el GPS y la geolocalización de IP están muy separados (por ejemplo, GPS local pero VPN en el extranjero), el usuario debe desactivar la VPN. |
| Blacklisted country | blackliskCountries | /error-page/blackliskCountries | ”Blacklisted country” | El acceso desde países restringidos se deniega con la indicación de que el servicio no está disponible allí. |
| Risk duration lock | ipRisk_durationHours | /error-page/ipRisk_durationHours | ”IP risk duration limit” | Los intentos riesgosos repetidos bloquean la IP durante un período establecido; los usuarios solo pueden reintentar después de que el temporizador termine. |
Límite de tasa y bloqueo
| Type | Developer code | URL | User message | Occurrence |
|---|---|---|---|---|
| Rate limit exceeded | rate_limit_exceeded | /error-page/rate_limit_exceeded | ”Request limit exceeded” | Demasiadas actualizaciones o envíos en un corto período activan una pausa temporal. |
| Account locked | locked_out | /error-page/locked_out | ”Account locked” | Numerosos fallos o actividad sospechosa bloquean la cuenta hasta que expire el temporizador mostrado. |
| Traffic overload | traffic_overload | /error-page/traffic_overload | ”Traffic overload” | El sondeo del estado de envío supera los 32 intentos, indicando sobrecarga del servidor; se pide a los usuarios que intenten de nuevo más tarde. |
ER — Límite de tasa y bloqueo
Estos códigos se asignan a los mismos identificadores de API y constantes (RATE_LIMIT_EXCEEDED, LOCKED_OUT) y rutas que los códigos de desarrollador de Límite de tasa y bloqueo rate_limit_exceeded y locked_out en la tabla anterior.
| Error code | Identifier | URL | User message (EN) | Occurrence |
|---|---|---|---|---|
ER-001 | RATE_LIMIT_EXCEEDED | /error-page/rate_limit_exceeded | ”Request limit exceeded” | Demasiadas actualizaciones o envíos en un corto período activan una pausa temporal. |
ER-002 | LOCKED_OUT | /error-page/locked_out | ”Account locked” | Numerosos fallos o actividad sospechosa bloquean la cuenta hasta que expire el temporizador mostrado. |
NF — Not Found
Códigos de error para cuando no se puede encontrar una ruta.| Error code | URL | User message | Occurrence |
|---|---|---|---|
NF-10000 | /error-page/not-found | ”Page not found” The page you requested does not exist. Please check the URL and try again. | Acceso a una ruta no definida en el router. Tanto las rutas comodín (*) de móvil como de PC redirigen aquí. |
NF-10001 | /error-page/invalid-path | ”Invalid access path” You accessed an unauthorized path. Please try again with the correct URL. | La ruta URL existe pero no está en la lista de rutas iniciales permitidas (VALID_INITIAL_PATH). |
QS — Quality Score
Códigos de error activados durante búsquedas de IP.| Error code | URL | User message | Occurrence |
|---|---|---|---|
QS-10000 | /error-page/abnormal_verification_denied | ”Abnormal verification denied” Rapid risky attempts lowered the trust score. You must wait for the displayed timer to expire. | El verificador de IP emite una espera de 48 horas debido a comportamiento riesgoso repetido. |
QS-20000 | /error-page/abnormal_rejected | ”Abnormal rejection” Severe anomalies triggered an immediate rejection. Security issues must be resolved before retrying. | El verificador de IP detecta una puntuación de fraude de 90 o superior. |
QS-30000 | /error-page/ipqs_system_error | ”IPQS system error” The IP lookup failed due to a system error. Please try again later. | Ocurre un error de cliente o servidor en el verificador de IP. |
QE — Queueing Error
Códigos de error para situaciones de sobrecarga de cola del motor.| Error code | URL | User message | Occurrence |
|---|---|---|---|
QE-20000 | /error-page/queueing-timeout | ”Queue overload” We couldn’t process your submission due to unusually high traffic and an overloaded queue. Please try again in a moment. | La cola de procesamiento del motor está sobrecargada y el servidor no puede manejar los datos del usuario actual. |
PV — Parameter Validation
Códigos de error para parámetros de query-string faltantes, valores no válidos o conflictos de opciones.| Error code | URL | User message | Occurrence |
|---|---|---|---|
PV-40000 | /error-page/missing-pid | ”Required parameter is missing” The project ID (pid) is not included in the URL. Please access again via the correct link. | Falta el parámetro pid en la cadena de consulta de la URL. pid es obligatorio para todas las solicitudes. |
PV-40001 | /error-page/invalid-action | ”Invalid request” The action parameter value is invalid or required parameters are missing. | El parámetro action no es addveri, o action=addveri está establecido sin pid o sid. |
PV-40002 | /error-page/invalid-distance-option | ”Option configuration is invalid” The distance check option value is invalid. Please check the settings and try again. | Se proporciona distanceCheckSource pero distanceMaxDistanceKm no es un número válido. |
PV-40003 | /error-page/invalid-iprisk-option | ”Option configuration is invalid” The IP risk option value is invalid. Please check the settings and try again. | Se proporciona ipRiskCategory pero ipRiskDurationHours no es un número válido. |
PV-40004 | /error-page/conflicting-projection | ”Parameter configuration conflict” projectionName and projectionId cannot be used at the same time. Please configure only one of them. | Se especifican simultáneamente projectionName y projectionId. Solo se permite uno. |
PV-40010 | /error-page/blacklisted-country | ”Service is unavailable in this country” Identity verification service is not available in the selected country. | El país especificado en selectedIssuingCountry está en la lista negra del servicio. |
PV-40011 | /error-page/blacklisted-allowed-country | ”Allowed country configuration is invalid” The allowed country list includes a country with restricted service. Please check the settings and try again. | La lista allowedCountries contiene uno o más países en la lista negra. |
PV-40012 | /error-page/conflicting-universal-idtype | ”ID type option configuration conflict” Universal mode and specific ID type selection (selectedIdType) cannot be used together. Please check the settings and try again. | option_universal=true está establecido junto con selectedIdType, que son mutuamente excluyentes. |
PV-40013 | /error-page/missing-issuing-country | ”Issuing country information is missing” To specify an ID type, the issuing country must also be configured. Please check the settings and try again. | Se proporciona selectedIdType sin el selectedIssuingCountry requerido. |
PV-40014 | /error-page/conflicting-knowledge-idtype | ”Authentication method configuration conflict” In knowledge-based authentication mode, the ID type cannot be specified separately. Please check the settings and try again. | authType=knowledge está establecido junto con selectedIdType, que no son compatibles. |
PV-40015 | /error-page/missing-faceauth-pid | ”Authentication information is missing” Required parameters (pid or sid) for face authentication are missing. Please access again via the correct link. | Se ingresa al flujo faceAuth sin pid o sid. |
PV-40016 | /error-page/conflicting-knowledge-skip | ”Validation option configuration conflict” Skipping knowledge validation and disabling face comparison cannot be used together. Please check the settings and try again. | knowledgeField=skip está establecido junto con option_validationFaceCompare=false. |
PV-40017 | /error-page/conflicting-knowledge-field | ”Knowledge validation field configuration conflict” The skip option in knowledgeField cannot be used with other fields. Please set skip as a standalone option. | knowledgeField incluye tanto skip como otras opciones de campo. skip debe usarse solo. |
SE — Server Error
Códigos de error para fallos en llamadas API o errores del servidor.| Error code | URL | User message | Occurrence |
|---|---|---|---|
SE-50000 | /error-page/project-load-error | ”Unable to load project information” An error occurred while fetching project settings from the server. Please try again later. | La llamada API projectOptions falla durante la entrada inicial de la aplicación. |
SE-50001 | /error-page/token-check-error | ”An error occurred while verifying the token” A problem occurred while communicating with the server. Please try again later. | Ocurre una excepción durante la llamada API checkingToken. |
SE-50002 | /error-page/validation-api-error | ”Validation service error” A server error occurred during address validation. Please try again later. | La API de validación de dirección (/live/internal/validation) devuelve una respuesta de error. |
SE-50010 | /error-page/faceauth-preload-error | ”Face authentication initialization failed” A server error occurred while preparing face authentication. Please try again later. | La primera consulta API para la precarga de datos faceAuth falla. |
SE-50011 | /error-page/faceauth-preload-error-2 | ”Face authentication initialization failed” A server error occurred while loading additional face authentication data. Please try again later. | La segunda consulta API para la precarga de datos faceAuth falla. |
SE-50012 | /error-page/faceauth-submission-error | ”Failed to verify face authentication status” An error occurred while checking the authentication submission status. Please try again later. | La API checkSubmission responde pero result es falsy. |
SE-50013 | /error-page/faceauth-token-error | ”Face authentication token processing failed” An error occurred while registering the authentication token. Please try again later. | Ocurre una excepción durante la llamada API insertToken en faceAuth. |
SE-50014 | /error-page/faceauth-project-error | ”Unable to load face authentication project information” An error occurred while fetching project data from the server. Please try again later. | La llamada API para obtener datos del proyecto faceAuth falla. |
SE-50015 | /error-page/validation-code-error | ”Validation failed” An error code was returned from address validation. Please check your information and try again. | La respuesta de la API de validación de dirección contiene un campo errorCode. La API respondió pero la validación en sí falló. |
RT — Runtime Error
Códigos de error para errores de tiempo de ejecución del front-end.| Error code | URL | User message | Occurrence |
|---|---|---|---|
RT-60000 | /error-page/runtime-error | ”An error occurred” An unexpected error occurred. Please refresh the page or start over. | React ErrorBoundary se activa en las rutas /qr, /knowledge-qr o /face-auth-qr. |
RT-60001 | /error-page/token-runtime-error | ”An error occurred during token processing” An unexpected error occurred. Please refresh the page or start over. | Se captura una excepción en el bloque try/catch dentro del hook useTokenCheck. |
Páginas de error de token (/error-page/token-*)
| Type | Developer code | URL | User message | Occurrence |
|---|---|---|---|---|
| Token missing | token-missing | /error-page/token-missing | ”Token ID is not active” / “Try again on another mobile device” | Copiar un enlace sin su parámetro de token o abrir una URL incompleta activa esta página. |
| Token expired | token-expired | /error-page/token-expired | ”Token expired” / “Try again on another mobile device” | Enlaces muy antiguos o reutilizados muestran este mensaje; los usuarios necesitan un token nuevo. |
| Token already approved | token-approved | /error-page/token-approved | ”Token already approved” | Un token que ya completó la verificación se reabre, por lo que los duplicados se bloquean. |
| Token pending | token-pending | /error-page/token-pending | ”Token under review” | Se accede al mismo token mientras su solicitud aún está en revisión; los usuarios deben esperar. |
| Token rejected | token-rejected | /error-page/token-rejected | ”Token rejected” | El token falló previamente la verificación y requiere contactar a un operador antes de reintentar. |
Reintento facial (/face-retry/:faceErrorCode)
| Type | Developer code | URL | User message | Occurrence |
|---|---|---|---|---|
| Dynamic face reshoot | face-retry/:faceErrorCode | /face-retry/:faceErrorCode | Localizado por código de error / Botón: “Retake” | Mala iluminación, caras desalineadas u otros problemas de captura solicitan volver a fotografiar; ciertos códigos (por ejemplo, invalid_submission_status) ocultan completamente el botón de volver a fotografiar. |
Errores de tiempo de ejecución (Error Boundary)
| Type | Developer code | URL | User message | Occurrence |
|---|---|---|---|---|
| Runtime error | Next.js Error Boundary | — | Default: “Your request failed”, “KYC verification was rejected” Special: “Unsupported browser” (WebAssembly error), “This browser does not support storage functionality” | Caídas de red, actualizaciones forzadas o entornos con almacenamiento desactivado (modo privado) pueden hacer que la aplicación falle; los usuarios deben tocar “Retry” o cambiar a un navegador moderno/modo estándar. |
Use estas tablas para alinear scripts de soporte, alertas de monitoreo y escenarios de QA para que todas las partes interesadas describan la misma pantalla con el mismo vocabulario.