Aller au contenu principal

Synchronisation produits

Intent

Maintenir le catalogue produit synchronisé entre Magento, LogiDAV et les marketplaces (prix, stock, disponibilité, fiches produit).

Déclencheur

  • menzzo:v2:products — synchronisation périodique du catalogue
  • Événementiel — mise à jour suite à un changement de stock ou de prix

Composants principaux

ComposantRôle
menzzo:v2:productsCommande de synchronisation principale
Services de sync marketplaceEnvoi des données vers chaque marketplace
SaleProductAvailabilityServiceCalcul de disponibilité et dates de livraison

Effets de bord

  • Mise à jour des fiches produit sur les marketplaces
  • Synchronisation des prix
  • Mise à jour du stock disponible sur les canaux de vente
  • Mise à jour des dates de livraison estimées

Modes d'échec

  • Données produit incomplètes — rejet par la marketplace
  • Rate limiting — trop de requêtes vers l'API marketplace
  • Produit inexistant côté marketplace — erreur de mapping

Chemin de débogage

  1. Vérifier les logs de la commande de synchronisation
  2. Contrôler la réponse de l'API marketplace
  3. Valider les données produit envoyées
  4. Vérifier les files d'attente de synchronisation

SaleProductAvailabilityService

Le service mz.saleproductavailability calcule la disponibilité des produits :

$availabilityService = $this->get('mz.saleproductavailability');
$dispo = $availabilityService->getProductDispo($saleProduct);
$deliveryInfo = $availabilityService->getOrderDeliveryInfo($saleProduct);

Priorité de calcul de la date de disponibilité :

  1. Date d'arrivée du conteneur
  2. dispoClientDate
  3. Champ available
  4. Champ availability