Saltar al contenido principal
Version: v1.0.0

Reglas de validación

Reglas de calidad que aplicamos a cada propiedad antes de publicarla. Si una regla falla, la propiedad se bloquea, se publica como borrador, o simplemente se registra una advertencia.


Severidades

SeveridadEfecto
BLOCKLa propiedad no se publica. Debe corregir los datos en su CRM para que se publique en el próximo ciclo.
DRAFTSe publica pero en estado borrador (visible solo internamente, no en el marketplace público).
WARNSe publica normalmente. Solo queda un registro de advertencia.

Cómo se decide

Cuando una propiedad falla varias reglas, la severidad más alta determina el resultado. Todas las reglas que fallan se reportan en el webhook, no solo la primera.


Reglas BLOCK

Estas reglas impiden la publicación. La propiedad no aparece en Spot2 hasta que se corrijan.

ReglaCondición para pasar
Tipo de propiedadproperty_type es uno de los 7 valores canónicos y no es residencial.
Ubicaciónlocation.city y location.state están presentes y no vacíos.
PrecioAl menos uno de price.rent_price o price.sale_price es mayor a 0.
ModalidadLa combinación de precios corresponde a una modalidad válida (renta, venta, o ambas).
Precio mínimo rentaprice.rent_price en MXN ≥ 10,000.
Precio mínimo ventaprice.sale_price en MXN ≥ 100,000.
Superficie mínimaSi surface_m2 > 0, debe ser ≥ 3 m².
Máximo de recámarasSi se envía bedrooms, debe ser ≤ 20.
Código postal vacíolocation.postal_code no está vacío.
Código postal no encontradolocation.postal_code es válido para México.
Número exteriorlocation.ext_number ≤ 6 caracteres.
Calle con coordenadasSi se envían location.latitude y location.longitude, location.street debe estar presente.
Área divisibleindustrial.min_area_divisible_m2industrial.max_area_divisible_m2. Solo aplica a tipos industriales.
Agente bloqueadoagent.email y agent.phone no están bloqueados.
Altura máximaindustrial.max_height_m ≤ 30 metros. Solo aplica a nave_industrial.
Especificaciones de luminariasSi industrial.luminaries > 0, industrial.luminary_specs debe estar presente. Solo aplica a tipos industriales.
Número de pisoSi office.floor_level = 6, office.floor_level_number debe estar presente. Solo aplica a oficina.
Rango precio/m²retail.price_per_sqm_minretail.price_per_sqm_max. Solo aplica a local.
Uso de sueloterrain.land_use debe estar presente. Solo aplica a terreno.

Reglas DRAFT

Estas reglas no bloquean la publicación, pero la propiedad queda en estado borrador hasta que se completen los datos.

ReglaCondición para pasar
FotosAl menos 1 URL en photos.
Coordenadaslocation.latitude y location.longitude presentes y no nulas.
ContactoAl menos uno de agent.email o agent.phone presente.
Precio por m² (bajo)El precio/m² está por encima del mínimo estadístico para ese tipo de propiedad y modalidad.
Precio por m² (alto)El precio/m² está por debajo del máximo estadístico para ese tipo de propiedad y modalidad.
Superficie bajasurface_m2 por encima del mínimo estadístico para ese tipo de propiedad.
Superficie altasurface_m2 por debajo del máximo estadístico para ese tipo de propiedad.

Umbrales estadísticos

Los rangos de precio/m² y superficie se calibran según tipo de propiedad (oficina, local, industrial, terreno), modalidad (renta o venta) y sector (individual o complejo). Se ajustan periódicamente con datos del mercado.

Ejemplos de referencia (sujetos a ajuste):

  • Oficina en renta: $80 a $3,000 MXN/m².
  • Industrial en venta: $5,000 a $40,000 MXN/m².
  • Oficina individual: 15 a 10,000 m².
  • Terreno individual: 200 a 1,000,000 m².

Reglas WARN

No afectan la publicación. Solo se registran como advertencia.

ReglaCondición
AmenidadesAl menos 1 valor en amenities.

Rechazo permanente

Si una propiedad falla reglas BLOCK durante 5 ciclos consecutivos sin cambios en los datos, dejamos de intentar publicarla. La propiedad se sigue revalidando en cada ciclo: si corrige los datos en su CRM y updated_at cambia, vuelve a evaluarse y se publica automáticamente.


Mensajes en el webhook

Los mensajes que aparecen en el webhook item_rejected corresponden a la columna "Mensaje" de las tablas anteriores.