Stocker les interactions avec un système de gestion des commandes distribuées

Lorsque vous intégrez votre magasin pour utiliser un système DOM externe pour gérer les commandes, votre magasin communique avec le système externe dans les scénarios suivants.

  • Lorsqu'un client soumet une commande dans le flux de paiement.
  • Lorsqu'un client accède à la page Historique des commandes à partir de la page Mon compte.
  • Lorsqu'un client affiche les détails d'une commande spécifique à partir de la page Historique des commandes.

flux de paiement

L'image suivante représente le flux de paiement dans un magasin qui est intégré à un système DOM pour la gestion des commandes seulement, et utilise un modèle de stock non ATP où les articles sont ajoutés au panier d'achat seulement quand il y a suffisamment de stock dans le centre de distribution du magasin en ligne.

Flux d'intégration DOM pour le paiement

  1. S'il y a suffisamment de stock d'un article dans le centre de distribution de la boutique en ligne, l'article peut être ajouté au panier. Lorsque l'acheteur ajoute un article au panier d'achat, votre magasin utilise le service ChangeOrder du composant de commande, avec le code d'action Create. Le service ChangeOrder et le code d'action Create ajoutent l'article au panier avec les options de distribution sélectionnées.

    Lorsqu'un système de stock DOM est utilisé, un acheteur peut ajouter des articles en rupture de stock à son panier par défaut. Bien que les articles en rupture de stock puissent être ajoutés au panier, le panier ne peut pas être soumis tant que réservation de stock n'est pas envoyée à HCL Commerce pour indiquer que le stock requis est attribué. Le service appelle le service ProcessInventoryRequiment du composant Inventory, avec le code d'action CheckInventory. Ce service récupère les informations à partir du cache ou de DOM en créant une demande de service GetInventoryAvailability sortante à l'aide du composant ExternalInventory. Ce service utilise ensuite les informations pour obtenir les statuts de stock des articles de commande, qui sont utilisés par l'instruction DoInventoryAction pour mettre à jour les articles de commande.

    Vous pouvez personnaliser le processus de paiement pour éviter que des articles en rupture de stock ne soient ajoutés au panier. Dans le cadre d'une intégration de stock DOM, le processus d'ajout au panier appelle l'instruction DOMValidateInventoryStatusCmd, que vous pouvez personnaliser pour vérifier le statut du stock à partir de la table de base de données ORDERITEMS. Si le statut du stock (colonne INVENTORYSTATUS) n'est pas attribué (valeur de colonne de NALC) pour un article qu'un client tente d'ajouter à son panier, personnalisez le processus pour lancer une exception. Ce comportement empêche l'article d'être ajouté au panier.

  2. Lorsque l'acheteur lance le processus de paiement, votre magasin utilise le service ProcessOrder du composant de commande, avec le code d'action Prepare, pour préparer le panier d'achat pour la soumission. Cela comprend la réservation du stock et l'évaluation des promotions, de l'expédition et des taxes.

    Lorsqu'un système de stock DOM est utilisé, le service appelle le service ProcessInventoryRequiment du composant Inventory, avec le code d'action ReserveInventory. Le service crée une demande de service ProcessInventoryRequirement sortant, avec le code d'action ReserveInventory à DOM qui utilise le composant ExternalInventory. Il utilise ensuite les informations pour mettre à jour les options de distribution et les statuts de stock des articles de commande.

  3. Une fois que l'acheteur a effectué un examen de la commande, saisit les informations de paiement et soumet la commande, votre magasin utilise le service ProcessOrder du composant de commande. Avec le code d'action Submit, la commande est soumise pour traitement.
  4. Le service ou la commande appelle la commande PrimePayment pour autoriser le paiement. Il met ensuite à jour le statut de la commande, envoie un e-mail de confirmation de commande au client et lance l'événement OrderSubmit. Cela déclenche OrderSubmitEventListenerImpl, qui appelle la commande ProcessOrderSubmitEvent.

    Lorsqu'un système de stock DOM est utilisé, la commande transfère la commande à DOM pour un traitement ultérieur en créant une demande de service ProcessOrder sortante, avec le code d'action Transfer, à l'aide du composant ExternalOrder. Cette commande appelle ensuite le service ProcessInventoryRequiment du composant Inventory, avec le code d'action DecrementCache, pour décrémenter le cache.

  5. Au fur et à mesure que le système de gestion des commandes traite la commande, le statut de distribution de la commande se met à jour, par exemple, les articles de commande qui sont expédiés, vers HCL Commerce. Les mises à jour du statut de distribution de la commande sont envoyées à l'aide du service SyncOrder du composant de commande, avec le code d'action Change. Le service met à jour les enregistrements de commande et d'expédition dans HCL Commerce, et en fonction du statut de distribution de la commande, envoie un e-mail de notification à l'acheteur, détaillant la mise à jour.

Flux d'historique des commandes

L'image suivante représente le flux Historique des commandes dans un magasin intégré à un système DOM pour la gestion des commandes uniquement.

Flux d'intégration DOM pour le paiement

  1. Un client voit la page Mon compte > Historique des commandes
  2. Le service GetOrderHistory appelle le système DOM pour obtenir une liste des commandes précédentes du client.
  3. Le système DOM traite la demande et envoie une réponse capturée par la page Historique des commandes.

Flux de détails de la commande

L'image suivante représente le flux Details de commande dans un magasin qui est intégré à un système DOM pour la gestion des commandes uniquement.

Flux d'intégration DOM pour le paiement

  1. Un client sélectionne une commande dans la page Historique des commandes.
  2. Le service GetOrderDetails appelle le système DOM pour obtenir les détails de la commande tels que les articles achetés, le prix et les informations d'expédition.
  3. Le système DOM traite la demande et envoie une réponse capturée par la page Détails de la commande.