Códigos de error Cada código de negocio, cuándo aparece y cómo resolverlo.
Los errores de negocio traen un code estable en el cuerpo. Úsalo en tu lógica en lugar
del message, que puede cambiar. La estructura del error está en
convenciones .
const res = await fetch (url, opciones);
if ( ! res.ok) {
const error = await res. json ();
switch (error.code) {
case 'HALLAZGOS_PENDIENTES' :
return mostrar ( 'Justifica los hallazgos pendientes antes de certificar.' );
case 'DOCUMENTO_NO_LISTO' :
return reintentarEnUnosSegundos ();
default :
throw new Error ( `${ error . statusCode }: ${ error . message }` );
}
}
Código HTTP Cuándo Cómo resolverlo PDF_INVALIDO400El base64 no contiene un PDF (p. ej. una imagen o un archivo dañado). Envía el PDF original, codificado completo. PDF_PROTEGIDO400El PDF está cifrado con contraseña. Quita la protección antes de subirlo. FOLIO_NO_DETECTADO422El PDF no trae un folio legible en la carátula. Revisa la carátula del PDF y vuelve a subirlo. FOLIO_YA_EXISTE409Ya hay un avalúo con ese folio (el enviado o el leído del PDF). Consúltalo con GET /v1/avaluos/{folio} o sube una versión nueva con POST …/documento. FOLIO_NO_COINCIDE422El PDF re-subido es de otro folio. Sube el PDF correcto o usa el folio de ese PDF. DOCUMENTO_DUPLICADO409El PDF re-subido es igual a una versión ya subida a ese avalúo. Sube el documento con las correcciones. TIPO_INMUEBLE_NO_DETECTADO422No se pudo leer el campo 1.10 del PDF. Revisa que el campo esté completo. TIPO_INMUEBLE_NO_VALIDO422El tipo de inmueble del PDF no está activo en el catálogo. Ver tipos de inmueble .
En POST /v1/avaluos, una institution o property_type que no existe en el catálogo
responde 422 sin code , con el mensaje institution 'X' no existe en el catálogo.
Código HTTP Cuándo Cómo resolverlo DOCUMENTO_NO_LISTO409El PDF todavía se está leyendo. Espera a document.estado: completed y reintenta. DOCUMENTO_CON_ERRORES409El PDF tiene errores que impiden evaluarlo. Sube una versión corregida.
Código HTTP Cuándo Cómo resolverlo SIN_EVALUACION409El avalúo aún no tiene evaluación. Espera a que termine la lectura del PDF. SIN_HASH409No hay huella del documento que certificar. Vuelve a subir el PDF; si persiste, repórtalo. EVALUACION_NO_COMPLETADA409Faltan etapas por terminar. Espera a latest_evaluation.estado: completed. CRITICOS_PENDIENTES409Hay hallazgos críticos sin justificar. Justifícalos o corrige el PDF. HALLAZGOS_PENDIENTES409Hay hallazgos sin justificar, de cualquier severidad. Justifícalos o corrige el PDF.
DOCUMENTO_NO_LISTO y DOCUMENTO_CON_ERRORES también pueden aparecer al certificar.
Código HTTP Cuándo Cómo resolverlo MOTIVO_REQUERIDO400Rechazo sin motivo o con menos de 10 caracteres. Escribe el motivo del rechazo. YA_DICTAMINADO409Ya hay un dictamen vigente. Reábrelo antes de emitir otro. SIN_CERTIFICADO409El avalúo no tiene certificado vigente. El perito debe emitirlo. VERIFICACION_REQUERIDA409Nunca se verificó el PDF contra el certificado. Registra una verificación. VERIFICACION_FALLIDA409La última verificación no dio coincide. Verifica con el PDF correcto. VERIFICACION_DESACTUALIZADA409El verificacion_id no es la última verificación, o el PDF cambió de versión. Verifica de nuevo y usa el verificacion_id nuevo. SIN_DICTAMEN409No hay dictamen vigente que reabrir. Nada que hacer.
Código HTTP Cuándo Cómo resolverlo CODIGO_DUPLICADO409Ya existe una institución o tipo de inmueble con ese codigo. Usa otro código o edita el existente. CLAVE_DUPLICADA409Ya existe una institución o tipo de inmueble con esa clave. Usa otra clave o edita el existente. REGLA_DUPLICADA409El codigo_regla ya existe, aunque esté retirado. Si está retirada, reactívala con PATCH y activa: true. KEY_DUPLICADA409Ya existe una sección con esa key. Usa otra key. INSTITUCION_NO_ENCONTRADA404No existe la institución. Revisa el id. TIPO_INMUEBLE_NO_ENCONTRADO404No existe el tipo de inmueble. Revisa el id. REGLA_NO_ENCONTRADA404No existe la regla. Revisa el código. SECCION_NO_ENCONTRADA404No existe la sección. Revisa el id.
Código HTTP Cuándo Cómo resolverlo CONFIGURACION_NO_EDITABLE409El parámetro no se puede modificar. Ninguna: es fijo.
Un valor fuera de rango o de otro tipo responde 422 sin code, con mensajes como
no puede ser mayor que 50 o 'mercado.radio_km_default' espera un número.
Estos no traen code: identifícalos por el status.
HTTP Cuándo Cómo resolverlo 400El cuerpo o los parámetros no cumplen el contrato. message es un arreglo con cada problema. Corrige los campos indicados. 401Falta la API Key o no es válida. Ver autenticación . 403Faltan scopes, o la llave no es la que creó el avalúo (al eliminarlo o subir una versión nueva). Pide los scopes o usa la llave correcta. 404El folio o recurso no existe. Revisa el identificador. 413El archivo supera 30 MB, o el cuerpo JSON supera 50 MB. Reduce el archivo o usa una URL prefirmada. 429Límite de peticiones superado. Reintenta con backoff exponencial.