Documentación · Resolución de problemas

Errores de importación

Este documento cubre los fallos, resultados parciales, problemas de datos y pasos de validación para el proceso de importación de vehículos en el plugin ADP Car Market Hub.

Cuándo usar este documento

Lea este documento cuando:

  • Una ejecución de importación manual o automática se completa pero aparecen menos vehículos de los esperados en WordPress.
  • Los datos del vehículo (título, precio, descripción, campos) son incorrectos o faltan después de la importación.
  • El registro de importación muestra errores para listados específicos.
  • Los vehículos no se actualizan a pesar de que los datos del listado han cambiado en AutoScout24.
  • Los vehículos que se eliminaron de AutoScout24 siguen presentes en WordPress (o viceversa).

Si la importación no produce ningún resultado y el registro contiene errores de autenticación o HTTP, comience primero con Errores de conexión de la API.

Descripción general

El proceso de importación obtiene listados de vehículos activos de la API de AutoScout24 para cada Seller ID configurado y crea o actualiza publicaciones de WordPress del tipo de publicación personalizado (CPT) as24ci_car. Cada ejecución informa de los recuentos de resultados insertados, actualizados, omitidos y con error.

El importador aplica los siguientes filtros automáticamente:

  • Filtro de estado: solo se importan los listados con status = activated. Se omiten los listados inactivos o desactivados.
  • Filtro de publicación en vivo: solo se importan los listados con live = true (o donde el campo está ausente). Se omiten los listados que no están en vivo.

Se utiliza la detección de cambios para evitar actualizaciones innecesarias:

  • Si la respuesta de la API incluye un campo lastModifiedDate y coincide con el valor almacenado durante la última importación, el vehículo se omite (se cuenta como "omitido").
  • Si lastModifiedDate está ausente, el plugin recurre a un hash de contenido. Si el hash no ha cambiado, el vehículo se omite.

Las imágenes se gestionan por separado. Si el modo de cola de imágenes está habilitado (activo por defecto para ejecuciones de cron y REST), solo se descarga inmediatamente la primera imagen de cada vehículo. Las imágenes restantes se colocan en una cola asíncrona y las descarga un proceso en segundo plano. Consulte Errores de importación de imágenes para problemas específicos de imágenes.

Requisitos previos

  • La conexión de la API funciona. Verifique esto en la página de Estado del sistema antes de investigar problemas de importación.
  • Al menos un Seller ID está configurado en los ajustes del plugin.
  • El importador tiene permiso para escribir publicaciones y subir archivos multimedia. Consulte Errores de permisos si aparecen errores de acceso en el registro.

Pasos de diagnóstico

Paso 1: Comprobar el resultado de la última ejecución

  1. Vaya al panel de administración del plugin o a la pestaña System & Help.
  2. Observe la hora de la última ejecución de importación y los recuentos de resultados: insertados, actualizados, omitidos, errores.
  3. Un recuento alto de "omitidos" es normal cuando la detección de cambios está activa y la mayoría de los listados no han cambiado desde la última ejecución.
  4. Un recuento de "errores" distinto de cero indica que fallaron listados específicos. Proceda al Paso 2.

Paso 2: Leer el registro de importación

Abra el archivo de registro del plugin en:

wp-content/uploads/as24ci-logs/adp-car-market-hub.log

Busque líneas que contengan error, failed o el Listing ID específico que esté investigando. Patrones útiles para buscar:

  • get_listing_details error: el plugin no pudo obtener el detalle completo de un listado específico.
  • wp_insert/wp_update error: WordPress devolvió un error al guardar la publicación.
  • Import runner: líneas de resumen al inicio y al final de cada ejecución.
  • Hard delete FAILED: no se pudo completar la eliminación de un vehículo durante la sincronización completa.
  • Full sync skipped: se activó la protección de seguridad de la sincronización completa porque no se devolvieron listados remotos.

Si el registro detallado (verbose) está habilitado (por defecto), también verá líneas por vehículo como:

Import vehicle {listing_id} (seller {seller_id}) begin.
Import vehicle {listing_id} result=inserted.
Import vehicle {listing_id} result=skipped.

Paso 3: Verificar el estado del listado en AutoScout24

Los listados que el importador omite porque están inactivos o no están en vivo no aparecerán en el registro de importación como errores; se excluyen silenciosamente. Si un vehículo está presente en AutoScout24 pero no se importa:

  1. Confirme que el estado del listado sea activated en la interfaz de gestión de AutoScout24.
  2. Confirme que el listado esté marcado como en vivo.
  3. Verifique que el listado pertenezca a un Seller ID que esté configurado en los ajustes del plugin.

Paso 4: Comprobar el límite del recuento de vehículos

Si se configuran importaciones automáticas (cron o REST), se puede establecer un número máximo de vehículos por ejecución. Cuando se alcanza este límite, la ejecución se detiene y el registro guarda un mensaje de "límite de vehículos alcanzado". Los vehículos restantes se procesarán en la siguiente ejecución.

Para verificar:

  1. Vaya a la pestaña Referencia de importación y límites en los ajustes del plugin.
  2. Compruebe el ajuste Max vehicles per cron run. Un valor de 0 significa ilimitado.
  3. Si el límite es inferior al tamaño total de su catálogo, increméntelo o déjelo en 0 para permitir el procesamiento ilimitado.

Nota: la detección de cambios significa que, en la práctica, la mayoría de los vehículos se omiten en cada ejecución. Un límite moderado suele ser suficiente a menos que tenga un catálogo muy grande con cambios frecuentes en los listados.

Paso 5: Verificar la configuración del Seller ID

  1. Vaya a la pestaña de Ajustes del plugin.
  2. Confirme que el campo Seller ID(s) contenga los ID correctos, uno por línea o separados por comas.
  3. Si se configuran varios Seller ID, confirme que cada uno esté activo y sea accesible con las credenciales configuradas.

Paso 6: Comprobar si hay un bloqueo de importación obsoleto

Un transitorio de bloqueo de importación (as24ci_cron_import_running) evita ejecuciones superpuestas. Si una ejecución anterior se interrumpió sin liberar el bloqueo, las ejecuciones posteriores se bloquearán durante un máximo de 40 minutos. Después de ese período, el bloqueo se borra automáticamente y la siguiente ejecución continúa.

Si necesita borrar el bloqueo de inmediato:

  • Utilice un plugin de gestión de transitorios de WordPress o WP-CLI para eliminar el transitorio as24ci_cron_import_running.
  • O espere a que expire el TTL de bloqueo de 40 minutos.

Paso 7: Investigar problemas de calidad de datos

Si un vehículo se importa pero sus datos son incorrectos o están incompletos:

  1. Compruebe el registro para ver si hay entradas wp_insert/wp_update error para ese Listing ID.
  2. Verifique la respuesta sin procesar de la API para el listado utilizando la documentación de la API de AutoScout24 o las herramientas para desarrolladores del proveedor de la API.
  3. Compruebe si el campo en cuestión está mapeado por el plugin. El plugin mapea los campos de listado estándar de AutoScout24 a los metadatos de publicación de WordPress. Es posible que los campos personalizados o no estándar no estén mapeados. Verifique este comportamiento en la versión actual del plugin antes de publicar.
  4. Si el contenido generado por IA está habilitado y se ha establecido un bloqueo de IA (_as24ci_ai_locked = yes) en una publicación, la importación no sobrescribirá post_content o post_excerpt para ese vehículo. Esto está diseñado así para preservar las descripciones seleccionadas manualmente.

Referencia de configuración

AjusteEfecto en la importación
Seller ID(s)Determina qué cuentas de vendedor se consultan. Obligatorio.
Default post statusLos vehículos nuevos se crean como publish o draft. Las instalaciones nuevas se inician con draft (valor predeterminado seguro para la primera configuración) para que pueda verificar el mapeo y el diseño antes de publicar; cámbielo a publish en los ajustes de Automatización cuando esté listo.
Default post authorUsuario de WordPress asignado como autor de las publicaciones importadas.
Import imagesCuando está desactivado, no se descargan imágenes. Por defecto: habilitado.
Max images per vehicleLimita cuántas imágenes se descargan por vehículo. 0 = sin límite.
Max vehicles per cron runLimita cuántos vehículos se procesan por ejecución automatizada. 0 = ilimitado.
Image queue modeCuando está habilitado, solo la primera imagen se descarga inmediatamente; las imágenes restantes se ponen en cola. Por defecto: habilitado para ejecuciones de cron/REST.
Full syncCuando está habilitado, los vehículos que ya no están presentes en AutoScout24 se eliminan de WordPress después de cada importación. Por defecto: desactivado.

Notas operativas

  • El importador realiza un seguimiento de los valores de metadatos de publicación _as24ci_last_modified y _as24ci_content_hash para cada vehículo para detectar cambios. Si estos valores de metadatos faltan o están dañados, la siguiente ejecución tratará el vehículo como modificado y realizará una actualización completa.
  • El valor de metadato de publicación _as24ci_listing_id se utiliza para hacer coincidir los listados remotos con las publicaciones locales. Si este metadato falta en una publicación, el importador creará un duplicado en lugar de actualizar la publicación existente.
  • La sincronización completa (eliminación de vehículos obsoletos) solo se ejecuta cuando no se ha alcanzado ningún límite de vehículos durante la ejecución. Si un límite detiene la ejecución antes de tiempo, se omite la sincronización completa para evitar eliminar incorrectamente vehículos que simplemente no se alcanzaron en esa ejecución.
  • La sincronización completa incluye una protección de seguridad: si el conjunto de listados remotos devuelto por la API está vacío, la eliminación se omite por completo para evitar la eliminación accidental de todos los vehículos locales.
  • La importación se ejecuta con un límite de tiempo de ejecución de 300 segundos (5 minutos) cuando se activa mediante WP-Cron o el endpoint REST. En entornos de hosting que restringen set_time_limit, es posible que esto no tenga efecto. Los catálogos muy grandes pueden requerir la ejecución mediante el cron del servidor.

Resolución de problemas

SíntomaCausa probableComprobación
La importación devuelve 0 insertados, 0 actualizadosLa API no devuelve listados activos/en vivo para el vendedorVerifique el estado del listado en AutoScout24
Todos los vehículos se muestran como "omitidos"Detección de cambios: nada ha cambiado desde la última ejecuciónComportamiento normal; verifique cambiando un listado en AutoScout24 y volviendo a ejecutar
Recuento de errores distinto de cero en la última ejecuciónListados específicos no se pudieron importarBusque en el registro get_listing_details error o wp_insert/wp_update error
El recuento de vehículos es inferior al esperadoLos listados inactivos o que no están en vivo se filtranConfirme el estado del listado en AutoScout24
La importación se detiene antes de procesar todos los vehículosSe alcanzó el límite máximo de vehículos por ejecuciónAumente o elimine el límite en los ajustes de Referencia de importación y límites
La importación no se iniciaEl bloqueo de importación sigue activo de una ejecución anteriorEspere 40 minutos o elimine el transitorio as24ci_cron_import_running
Los datos del vehículo no se actualizanLa detección de cambios no encuentra modificacionesVerifique que lastModifiedDate o el contenido realmente hayan cambiado en la respuesta de la API
El contenido de IA se sobrescribe después de la importaciónEl bloqueo de IA no está establecido en la publicaciónHabilite el bloqueo de IA en la publicación, o la automatización de IA lo establecerá después de generar el contenido
El contenido de IA no se actualizaEl bloqueo de IA está activo (_as24ci_ai_locked = yes)Diseñado así; elimine el metadato de bloqueo para permitir que la siguiente importación actualice el contenido
Vehículos eliminados de WordPress inesperadamenteLa sincronización completa está habilitada y la API devolvió un conjunto vacío o parcialCompruebe los ajustes de sincronización completa y busque en el registro entradas de "Sincronización completa completada"

Documentos relacionados