Documentation · Référence de l'administrateur

Référence des importations et des limites

Ce document est une référence pour l'écran Import & Limits de l'extension ADP Car Market Hub (Car Market Hub → Import & Limits). Il couvre la méthode de déclenchement, la planification automatique, l'assistant d'importation manuelle, la configuration du cron serveur, les limites de traitement des images, les valeurs par défaut d'importation et l'option de zone de danger Full Sync.

Quand utiliser ce document

Utilisez cette référence lorsque vous configurez des importations automatiques pour la première fois, lorsque vous basculez entre le Cron WordPress et une véritable tâche cron serveur, lorsque vous ajustez les performances d'importation pour de grands inventaires, ou lorsque vous activez Full Sync pour supprimer les véhicules qui ont été retirés du marché.

Aperçu

L'écran est organisé en cartes suivantes :

  1. Current Import Status (Statut actuel de l'importation) — une phrase de résumé dynamique indiquant si les importations automatiques sont actives (via Server Cron ou WP Cron) ou désactivées, ainsi que quatre tuiles KPI : Imported Vehicles (Véhicules importés), Configured Sellers (Vendeurs configurés), Pending Images (Images en attente) et Last Run Errors (Erreurs de la dernière exécution). Un bouton de bascule Show IDs / Hide IDs permet d'afficher ou de masquer les ID de vendeur configurés directement sur la page.
  2. Last Run (Dernière exécution) + Manual Import (Importation manuelle) — indicateurs de la dernière importation et un assistant guidé pour démarrer une importation à la demande.
  3. Automation Settings (Paramètres d'automatisation) — choisissez la méthode de déclenchement (Cron WordPress ou Server Cron) et configurez la planification.
  4. Server Cron Setup (Configuration du Cron serveur) — visible uniquement en mode Server Cron ; fournit l'URL de déclenchement REST, le jeton secret et des exemples de commandes cron.
  5. Image Processing and Stability (Traitement des images et stabilité) — limites par exécution et bascule de la file d'attente des images pour éviter les dépassements de temps d'exécution PHP (timeouts).
  6. Import Defaults (Valeurs par défaut d'importation) — valeurs par défaut appliquées aux véhicules nouvellement importés, y compris les images et la conversion WebP.
  7. Re-listing detection (Détection de re-publication) — reconnaît les véhicules qui ont été supprimés et re-publiés sous un nouvel ID d'annonce AutoScout24 (même VIN) pour éviter les doublons, maintenir l'URL publique stable et suivre l'historique des prix.
  8. Danger Zone (Zone de danger) — option de bascule Full Sync, ainsi que l'option de suppression douce / période de grâce qui contrôle la manière dont les véhicules retirés sont gérés.

Configuration requise ou prérequis

  • Des identifiants API fonctionnels et au moins un Seller ID configuré dans les Réglages.
  • Pour le mode Server Cron : la possibilité d'ajouter des tâches cron sur votre environnement d'hébergement, ainsi que la possibilité d'appeler des URL REST WordPress depuis le serveur.
  • Pour Full Sync : une sauvegarde récente est fortement recommandée.

Instructions étape par étape

Exécuter une importation manuelle

  1. Allez dans Car Market Hub → Import & Limits.
  2. Dans la carte Last Run / Manual Import, cliquez sur Start Import Now.
  3. La zone de l'assistant apparaît, affichant un message d'état, une barre de progression, un temps estimé restant (ETA) et un tableau des compteurs pour les éléments insérés, mis à jour, ignorés, en erreur et supprimés par Full Sync.
  4. Utilisez Pause, Continue ou Cancel selon vos besoins. Si une file d'attente en pause est détectée lors d'une visite ultérieure, un bouton Resume s'affiche.

Basculer vers le Cron WordPress et planifier des importations automatiques

  1. Dans Automation Settings, sélectionnez WordPress Cron.
  2. Activez Run imports automatically via WordPress Cron.
  3. Choisissez une Import Frequency parmi les planifications WP-Cron disponibles.
  4. Pour Daily ou Twice Daily, définissez une heure de début (Start Time) au format 24 heures HH:MM. Pour l'intervalle personnalisé, définissez Interval (Minutes, min. 15).
  5. Cliquez sur Save Import & Limits settings.

Basculer vers Server Cron

  1. Dans Automation Settings, sélectionnez Server Cron. L'extension désactive sa planification par Cron WordPress lorsque ce mode est actif.
  2. La carte Server Cron Setup apparaît avec deux étapes : - Étape 1 : ajouter define( 'DISABLE_WP_CRON', true ); à wp-config.php. - Étape 2 : ajouter deux tâches cron serveur — une pour appeler l'URL de déclenchement REST, une pour maintenir wp-cron.php en cours d'exécution pour le traitement des images.
  3. Si aucun jeton n'existe encore, cliquez sur Generate Token (en mode Server Cron, un jeton est généralement créé automatiquement). Copiez ensuite l'REST Trigger URL et le Secret Token depuis la carte. Copiez l'URL immédiatement — elle n'est affichée que pendant environ 15 minutes, après quoi elle est masquée jusqu'à ce que vous régénériez le jeton.
  4. Utilisez les Example Cron Commands comme point de départ et ajustez la fréquence à vos besoins.
  5. Cliquez sur Save Import & Limits settings.
  6. Pour renouveler le secret, cliquez sur Regenerate Token et mettez à jour votre entrée cron serveur avec la nouvelle URL.

Configurer le traitement des images pour la stabilité

  1. Dans Image Processing and Stability, définissez Vehicles per Run (0 signifie aucune limite ; 50–80 est suggéré pour les grands catalogues).
  2. Laissez Enable Image Queue activé afin que seule la première image soit chargée immédiatement et que les autres soient traitées de manière asynchrone.
  3. Enregistrez.

Définir les valeurs par défaut pour les véhicules nouvellement importés

  1. Dans Import Defaults, choisissez le statut par défaut de la publication (Default Post Status) (Publié ou Brouillon).
  2. Sélectionnez éventuellement un auteur par défaut (Default Post Author) ; choisissez (keep current user) pour conserver le comportement existant.
  3. Basculez Import Images pour contrôler si les pièces jointes d'images doivent être téléchargées.
  4. Activez éventuellement Convert Images to WebP et choisissez une qualité WebP (WebP Quality) entre 10 % et 100 % par étapes de 5 % (recommandé : 75–85 %).
  5. Définissez Max Images per Listing (0 = aucune limite) pour limiter le nombre d'images téléchargées par véhicule.
  6. Enregistrez.

Activer la détection de re-publication

  1. Allez dans Car Market Hub → Import & Limits et trouvez la carte Re-listing detection.
  2. Laissez Enable re-listing detection activé (il l'est par défaut).
  3. Enregistrez. Désormais, lorsqu'un véhicule est re-publié sous un nouvel ID d'annonce AutoScout24 mais avec le même VIN, il est fusionné avec le véhicule existant (pas de doublon), le nouveau prix est appliqué, l'URL publique est préservée, et un historique des prix ainsi qu'un compteur de re-publication sont enregistrés.

Activer Full Sync et choisir comment gérer les véhicules retirés (Zone de danger)

  1. Créez une sauvegarde de votre base de données et de votre répertoire d'importations (uploads).
  2. Dans la Danger Zone, activez Enable Full Sync et confirmez le message d'avertissement.
  3. Décidez de la manière dont les véhicules retirés sont gérés : - Suppression douce (recommandé, par défaut) : laissez Hold removed vehicles (soft delete) activé. Un véhicule qui disparaît d'AutoScout24 est masqué (passé en brouillon) et conservé pendant la période de grâce (Grace period (days)) que vous configurez (par défaut 30 jours). S'il est re-publié pendant cette période, il est restauré à sa place — même page, même URL et même historique des prix. Ce n'est qu'après l'expiration de la période de grâce qu'il est définitivement supprimé par un nettoyage quotidien. - Suppression immédiate : désactivez Hold removed vehicles (soft delete). Un véhicule retiré est supprimé définitivement lors de la prochaine exécution, y compris ses images importées et mises en avant.
  4. Enregistrez.

Référence de configuration

Current Import Status

En haut de l'écran, une phrase dynamique indique si les importations automatiques sont actuellement actives (et si elles s'exécutent via Server Cron ou WP Cron) ou désactivées. En dessous se trouvent quatre tuiles KPI :

TuileSignification
Imported VehiclesNombre total de véhicules actuellement importés dans WordPress.
Configured SellersNombre de Seller IDs configurés pour les importations. Utilisez Show IDs / Hide IDs pour afficher ou masquer les ID réels directement sur la page.
Pending ImagesImages toujours en file d'attente pour un traitement asynchrone.
Last Run ErrorsNombre d'erreurs enregistrées lors de la dernière exécution d'importation.

Last Run

Le résumé de la dernière exécution (Last Run) indique les métriques de l'importation la plus récente : insérés, mis à jour, ignorés et erreurs. Lorsque Full Sync est activé, il peut également afficher, pour les véhicules qui ne sont plus sur AutoScout24, un compteur Held (véhicules masqués en brouillons pendant leur période de grâce lorsque la suppression douce est active) et un compteur Deleted (véhicules définitivement supprimés).

Trigger Method

OptionDescription
WordPress CronPar défaut. Fonctionne sans accès au serveur mais dépend du trafic du site pour déclencher les événements cron.
Server CronRecommandé pour la production. Nécessite de désactiver WP-Cron et d'ajouter de véritables tâches cron sur le serveur.

Réglages du Cron WordPress (visibles uniquement lorsque le Cron WordPress est sélectionné)

ChampNotes
Run imports automatically via WordPress CronActive l'événement planifié de l'extension.
Import FrequencyRécupéré depuis le planificateur de l'extension. Comprend une planification personnalisée as24ci_custom.
Start Time (HH:MM)Utilisé par les planifications Daily et Twice Daily ; format 24 heures. Les valeurs invalides reviennent à 06:00.
Interval (Minutes, min. 15)Utilisé par la planification personnalisée. Les valeurs inférieures à 15 sont limitées à 15.

Réglages du Server Cron (visibles uniquement lorsque Server Cron est sélectionné)

ChampNotes
REST Trigger URLURL pré-construite contenant le jeton secret actuel. Appelez-la depuis votre tâche cron serveur. Elle n'est affichée que pendant environ 15 minutes après la génération d'un jeton ; après cela, seul un hachage à sens unique du jeton est stocké, l'URL est masquée et un avertissement explique que vous devez régénérer le jeton pour voir à nouveau une URL utilisable. Copiez-la immédiatement et conservez-la en toute sécurité dans votre tâche cron.
Secret TokenÀ traiter comme un identifiant confidentiel. Quiconque le connaît peut déclencher une importation. Le champ peut être affiché/masqué, copié ou (re)généré.
Example Cron CommandsComprend un exemple curl pour le déclencheur d'importation et un exemple php wp-cron.php pour maintenir le traitement des images actif.
Generate Token / Regenerate TokenLorsqu'aucun jeton n'existe encore, le bouton affiche Generate Token et un avertissement « No cron secret token has been created yet » s'affiche. Une fois qu'un jeton existe, le bouton affiche Regenerate Token ; son utilisation crée et enregistre un nouveau jeton aléatoire, et l'URL précédente cesse immédiatement de fonctionner.

Image Processing and Stability

ChampPar défautNotes
Vehicles per Run500 = aucune limite. Des valeurs plus basses améliorent la stabilité sur les hébergements mutualisés.
Enable Image QueueActivéCharge la première image immédiatement ; les images restantes sont traitées de manière asynchrone.

Import Defaults

ChampPar défautNotes
Default Post StatusPublishValeurs autorisées : publish, draft.
Default Post Author(conserver l'utilisateur actuel)Tout utilisateur WordPress existant peut être sélectionné.
Import ImagesActivéLa désactivation ignore complètement l'étape de téléchargement des images.
Convert Images to WebPDésactivéNécessite PHP GD ou Imagick avec le support WebP sur le serveur.
WebP Quality80%Valeurs autorisées : 10 % à 100 % par étapes de 5 %.
Max Images per Listing0 (aucune limite)Limite maximale appliquée par véhicule lors de l'importation.

Re-listing detection

ChampPar défautNotes
Enable re-listing detectionActivéLorsqu'il est activé, une importation qui ne trouve aucun véhicule pour l'ID d'annonce AutoScout24 effectue une recherche par VIN, de sorte qu'un véhicule re-publié met à jour la publication existante au lieu de créer un doublon. Les développeurs peuvent surcharger ce comportement avec le filtre as24ci_enable_relisting_detection.

Danger Zone

ChampPar défautNotes
Enable Full SyncDésactivéLorsqu'il est activé, les véhicules qui n'existent plus dans AutoScout24 sont supprimés à chaque exécution. Une boîte de dialogue de confirmation s'affiche lors de l'activation. La manière dont ils sont supprimés dépend du réglage de suppression douce ci-dessous.
Hold removed vehicles (soft delete)ActivéUniquement pertinent lorsque Full Sync est activé. Lorsqu'il est activé, un véhicule retiré est masqué en tant que brouillon et conservé pendant la période de grâce au lieu d'être supprimé immédiatement ; s'il réapparaît pendant cette période, il est restauré à sa place. Lorsqu'il est désactivé, les véhicules retirés sont supprimés définitivement (y compris les images importées et mises en avant) lors de la prochaine exécution.
Grace period (days)30Durée pendant laquelle un véhicule supprimé temporairement est conservé avant qu'un nettoyage quotidien ne le supprime définitivement. Plage autorisée : 1 à 365 jours.

Comment fonctionnent la détection de re-publication et l'historique des prix

Certains concessionnaires actualisent leur classement AutoScout24 en supprimant une annonce et en la recréant. AutoScout24 émet alors un nouvel ID d'annonce, souvent avec un prix inférieur, tandis que la voiture physique conserve le même VIN (numéro d'identification du véhicule). Étant donné que l'importateur fait normalement correspondre les véhicules par ID d'annonce, une telle re-publication créerait sinon un doublon ou — avec la synchronisation complète (Full Sync) — réinitialiserait l'historique de la voiture.

Lorsque la Détection de re-publication est activée, l'importation fonctionne comme suit :

  1. L'importateur tente d'abord de faire correspondre l'annonce entrante par son ID d'annonce AutoScout24 (comme auparavant).
  2. Si aucune correspondance n'est trouvée, il se rabat sur une correspondance par VIN normalisé (mis en majuscules, caractères non alphanumériques supprimés). Un VIN vide ou trop court pour être fiable est ignoré, de sorte que les annonces sans VIN se comportent exactement comme avant.
  3. Si un seul véhicule existant possède ce VIN, il est mis à jour sur place : le nouvel ID d'annonce et le nouveau prix sont appliqués, et le slug/l'URL public est conservé inchangé afin de préserver les liens et le référencement (SEO). Aucun doublon n'est créé.
  4. Si le VIN est ambigu (déjà présent sur plus d'un véhicule), l'extension ne procède pas à une fusion automatique — elle reste prudente et ne touche pas aux enregistrements.

Ce qui est enregistré sur un véhicule re-publié :

  • Historique des prix — chaque changement de prix (ainsi que le prix initial) est stocké sous forme d'entrée datée, de sorte qu'un schéma de suppression et de re-publication à un prix inférieur devient visible.
  • Anciens ID d'annonce AutoScout24 — la chaîne des ID d'annonce que la voiture a eus.
  • Vu pour la première fois — la date d'importation d'origine est préservée (et complétée rétroactivement pour les véhicules existants), de sorte que le nombre de jours sur le parc reste précis.
  • Compteur de re-publications et dernier écart de prix.

Où vous pouvez le voir :

  • Colonne de la liste des véhicules — une colonne Re-listing affiche un badge Re-listed n× et le dernier changement de prix (▼ baisse de prix / ▲ hausse de prix).
  • Éditeur de véhicule — un encadré Re-listing & Price History liste la date de première observation, les anciens ID d'annonce et l'historique complet des prix.

Les développeurs peuvent utiliser le hook d'action as24ci_vehicle_relisted ($post_id, $previous_listing_id, $current_listing_id, $delta) pour s'intégrer à d'autres systèmes, et activer ou désactiver l'ensemble de la fonctionnalité avec le filtre as24ci_enable_relisting_detection.

Comment fonctionnent la suppression réversible (soft delete) et la période de grâce

La suppression réversible s'applique uniquement lorsque la synchronisation complète (Full Sync) est activée. Elle modifie ce qui arrive à un véhicule qui n'est plus renvoyé par l'API AutoScout24 :

  1. Lors de la première exécution où le véhicule est manquant, il est masqué — l'état de sa publication est défini sur brouillon (retiré du site public) et la date de retrait est enregistrée. Il n'est pas supprimé.
  2. Le véhicule est conservé pendant la période de grâce configurée (par défaut 30 jours).
  3. Si le même véhicule est réimporté pendant la période de grâce — mis en correspondance par ID d'annonce ou par VIN (voir la détection de re-publication) — il est restauré sur place : la publication d'origine, l'URL et l'historique des prix sont conservés, et il est rétabli dans son état précédent.
  4. Un cron de nettoyage quotidien supprime définitivement les véhicules dont la période de grâce a expiré (en supprimant les images importées et mises en avant), afin que rien ne s'accumule indéfiniment.

Cela comble le vide lorsqu'un véhicule est retiré lors d'un cycle de synchronisation et n'est re-publié que lors d'un cycle ultérieur : avec une suppression immédiate (définitive), la publication d'origine aurait déjà disparu, mais avec la suppression réversible, elle est conservée comme brouillon et peut être restaurée.

L'éditeur de véhicule affiche un avis sur un véhicule conservé, par exemple « Retiré de AutoScout24 le … — suppression définitive planifiée le … sauf s'il est re-publié. » Les développeurs peuvent modifier ce comportement avec le filtre as24ci_enable_soft_delete.

Notes opérationnelles

  • Passer au Cron du serveur désactive automatiquement l'événement WP-Cron de l'extension, de sorte que la même planification ne s'exécutera pas deux fois.
  • Le jeton cron est généré automatiquement la première fois que l'écran est affiché uniquement en mode Cron du serveur, afin que l'URL de déclenchement soit prête lorsque vous en avez besoin. En mode WP-Cron, aucun jeton n'est généré automatiquement et l'URL de déclenchement est masquée ; passez au Cron du serveur (ou cliquez sur Générer un jeton) pour en créer un.
  • La conversion WebP s'effectue sur le serveur. Si l'extension PHP requise n'est pas présente, la conversion est ignorée silencieusement — vérifiez dans les journaux et sur l'écran Système & Aide.
  • La file d'attente des images est indépendante de la limite de véhicules par exécution. Les deux peuvent être actives en même temps.
  • La limite de "Véhicules par exécution" s'applique aux importations planifiées. L'assistant d'importation manuelle peut enchaîner les lots automatiquement jusqu'à ce que l'ensemble de l'inventaire soit traité.
  • L'enregistrement de l'un des boutons par carte enregistre l'intégralité du formulaire Importations et limites (le formulaire s'étend sur plusieurs cartes).
  • Le jeton cron, l'URL de déclenchement REST et les exemples de commandes cron affichés dans l'interface d'administration sont spécifiques à l'environnement. Ne copiez pas les valeurs de la documentation ; copiez-les toujours depuis votre écran en direct.
  • La Détection de re-publication nécessite un VIN pour fusionner un véhicule re-publié. Les annonces sans VIN sont mises en correspondance uniquement par ID d'annonce et se comportent comme auparavant.
  • La Suppression réversible ne prend effet que lorsque la synchronisation complète (Full Sync) est activée. Si la synchronisation complète est désactivée, les véhicules manquants dans l'API sont simplement conservés.
  • Le nettoyage de la période de grâce de la suppression réversible s'exécute une fois par jour via le Cron WordPress. Sur les sites à très faible trafic (mode WP-Cron), les véhicules expirés peuvent être supprimés un peu après la date d'expiration exacte.

Dépannage

  • La planification ne s'exécute jamais (mode WP-Cron). Le Cron WordPress ne se déclenche que lorsque le site reçoit des visites. Sur les sites à faible trafic, passez au Cron du serveur pour une exécution fiable.
  • Le déclencheur REST renvoie une erreur 401/403. Le jeton dans l'URL ne correspond pas. Copiez à nouveau l'URL depuis l'administration ou régénérez le jeton.
  • Timeouts PHP pendant l'importation. Diminuez le nombre de Véhicules par exécution (essayez 50), laissez l'option Activer la file d'attente des images activée, et envisagez d'augmenter les valeurs max_execution_time et memory_limit du serveur si votre hébergeur le permet.
  • Les images ne sont pas téléchargées. Confirmez que l'option Importer les images est activée et que le dossier des téléversements (uploads) est accessible en écriture. Vérifiez les Journaux.
  • La conversion WebP n'a aucun effet. Confirmez que PHP GD ou Imagick prend en charge WebP sur le serveur. Vérifiez sur l'écran Système & Aide.
  • La synchronisation complète a supprimé des véhicules de manière inattendue. La synchronisation complète supprime tout ce qui est absent de la réponse de l'API. Si vous effectuez également des modifications manuelles, restaurez à partir d'une sauvegarde et désactivez la synchronisation complète.
  • L'importation manuelle ne démarre pas. Vérifiez la console du navigateur pour détecter d'éventuelles erreurs AJAX et vérifiez que le Tableau de bord indique une connexion API saine.
  • Le même véhicule apparaît deux fois après qu'un concessionnaire l'a re-publié. Activez la Détection de re-publication afin que la nouvelle annonce fusionne avec le véhicule existant par le VIN. Notez qu'un véhicule dont l'annonce n'a pas de VIN ne peut pas être fusionné automatiquement.
  • Un véhicule re-publié n'a pas été fusionné. L'annonce n'a pas de VIN, ou le VIN existe déjà sur plus d'un véhicule (ambigu). Dans le cas ambigu, l'extension ne procède délibérément pas à une fusion automatique ; résolvez le doublon manuellement.
  • Un véhicule retiré est toujours présent en tant que brouillon. Il s'agit de la suppression réversible qui le conserve pendant sa période de grâce. Il est restauré automatiquement si le véhicule est re-publié, et supprimé définitivement après la période de grâce. Pour supprimer immédiatement les véhicules retirés à la place, désactivez l'option Conserver les véhicules retirés (suppression réversible) dans la Zone de danger.
  • Les véhicules conservés ne sont jamais nettoyés. Le nettoyage s'exécute quotidiennement via WP-Cron. Sur les sites à faible trafic, passez au Cron du serveur, ou confirmez que WP-Cron se déclenche bien (Système & Aide).

Documents connexes