Service de mise à jour du statut de la commande
Le service de mise à jour du statut de la commande est un service Web entrant qui est chargé de mettre à jour le statut d'une commande dans HCL Commerce lorsqu'un magasin est configuré pour faire traiter et exécuter les commandes par un système externe. Ce service Web entrant est généralement appelé par le système externe pour mettre à jour le statut d'une commande transférée dans HCL Commerce, lorsque son statut a changé dans le système externe et que ce changement doit être reflété dans WebSphere Commerce.
Cas d'utilisation typiques
- Une commande a été enregistrée par HCL Commerce et transférée à un système externe de gestion des commandes pour son traitement et son exécution. Le statut de la commande a changé dans le système externe. Son statut dans HCL Commerce doit être mis à jour afin que le client puisse voir ce changement lorsqu'il consulte le statut de sa commande via HCL Commerce.
URL du point d'extrémité et opération du service Web
L'URL de nœud final par défaut de ce service Web entrant est https://host_name:8000/webapp/wcs/services/OrderServices. L'opération exposée par le service est SyncOrder, avec le BOD SyncOrder en guise de requête et le BOD ConfirmBOD en guise de réponse.
SyncOrder est utilisé pour mettre à jour la colonne de statut dans les tables de base de données ORDERS et ORDERITEMS. Si vous prévoyez d'utiliser SyncOrder, vous devez définir l'indicateur de propriété syncWCSOrderStatus sur true dans le fichier de configuration wc-admin-component.xml du composant de commande. Pour définir cet indicateur, accédez au répertoire workspace_dir/WC/xml/config/com.ibm.commerce.order et ouvrez le fichier wc-admin-component.xml pour le modifier. Ajoutez le groupe de configuration suivant avec l'indicateur de propriété syncWCSOrderStatus défini sur true :<_config:configgrouping name="SyncOrder">
<_config:property name="syncWCSOrderStatus" value="true"/>
</_config:configgrouping>Demande
Les requêtes adressées à ce service Web entrant ont la forme de documents BOD (Business Object Documents) SyncOrder. Elles sont mappées à la commande OrderStatus et contiennent les informations suivantes :
| XPath* | Type | Mappé à | Description | Obligatoire |
|---|---|---|---|---|
ApplicationArea/BusinessContext/ContextData |
Données utilisateur | - | La zone de contexte métier de la demande. Elle est généralement utilisée pour fournir des données de contexte métier telles que l'ID du magasin et l'ID de la langue. | - |
ApplicationArea/UserArea/SequenceNumber |
chaîne | sequenceNumber | Le numéro de séquence de la demande de mise à jour du statut de commande. Il sert à déterminer l'ordre des requêtes de mise à jour portant sur le statut d'une même commande, lorsqu'elles sont susceptibles d'être reçues dans le désordre par HCL Commerce. | N |
ApplicationArea/CreationDateTime |
dateTime | lastUpdateTime | La date de création de la demande de mise à jour du statut de commande. Il sert à déterminer l'ordre des requêtes de mise à jour portant sur le statut d'une même commande, lorsqu'elles sont susceptibles d'être reçues dans le désordre par HCL Commerce et que leur numéro de séquence n'est pas fourni. | N |
DataArea/Sync/ActionCriteria/ActionExpression/@actionCode |
chaîne | actionCode |
Le code d'action. Doit être "Update" |
O |
DataArea/Order/OrderHeader/OrderIdentifier/OrderID |
long | orderId |
HCL Commerce L'ID de la commande. | O |
DataArea/Order/OrderHeader/OrderIdentifier/ExternalOrderID |
chaîne | merchantOrderNumber |
L'ID externe de la commande. | N |
DataArea/Order/OrderHeader/OrderCharges/TotalProductPrice/@currency |
chaîne | currency |
Devise dans laquelle est exprimé le prix total des produits de la commande. | N |
DataArea/Order/OrderHeader/OrderCharges/TotalProductPrice |
decimal | priceTotal |
Prix total des produits de la commande. | N |
DataArea/Order/OrderHeader/OrderCharges/TotalShippingCharge |
decimal | shippingTotal | Total des frais de port de la commande. | N |
DataArea/Order/OrderHeader/OrderCharges/TotalSalesTax |
decimal | taxTotal | Total des taxes sur la vente (ou TVA) de la commande. | N |
DataArea/Order/OrderHeader/OrderCharges/TotalShippingTax |
decimal | shippingTaxTotal | Total de la taxe afférente au transport de la commande. | N |
DataArea/Order/OrderHeader/OrderShippingInfo/RequestedShipDateTime |
dateTime | requestShipDateTime | Date d'expédition demandée pour la commande. | N |
DataArea/Order/OrderHeader/OrderShippingInfo/UserData/UserDataField[@name='shipCondition'] |
chaîne | shipCondition | Code indiquant si une expédition partielle de la commande est acceptée. Valeurs valides :
|
N |
DataArea/Order/OrderHeader/OrderShippingInfo/UserData/UserDataField[@name='shippingModeFlag'] |
chaîne | shippingModeFlag | Code indiquant à quel niveau s'appliquent l'adresse de livraison et le mode d'expédition. Valeurs valides :
|
N |
DataArea/Order/OrderHeader/OrderStatus/Status |
chaîne | orderStatus | Statut de la commande. | N |
DataArea/Order/OrderHeader/CustomerComments |
chaîne | commentaire | Commentaires du client relatifs à la commande. | N |
DataArea/Order/OrderHeader/PlacedDateTime |
dateTime | placeDateTime | Date à laquelle la commande a été passée. | N |
DataArea/Order/OrderItem[i]/OrderItemIdentifier/OrderItemID |
long | orderItemId_i |
ID HCL Commerce du i-th article de commande, si applicable. |
O |
DataArea/Order/OrderItem[i]/OrderItemIdentifier/ExternalOrderItemID |
chaîne | merchantItemNumber_i | ID de commande externe du i-th article de commande. |
N |
DataArea/Order/OrderItem[i]/ProductIdentifier/SKU |
chaîne | partNumber_i |
SKU du produit associé au i-th article de commande. |
N |
DataArea/Order/OrderItem[i]/Quantity |
double | quantityRequested_i |
Valeur de quantité du i-th article de commande. |
N |
DataArea/Order/OrderItem[i]/OrderItemCharges/UnitPrice/Price |
decimal | unitPrice_i |
Prix unitaire du produit associé au i-th article de commande. |
N |
DataArea/Order/OrderItem[i]/OrderItemCharges/UnitPrice/Price/@currency |
chaîne | currency_i |
Devise dans laquelle est exprimé le prix de l'article de commande. | N |
DataArea/Order/OrderItem[i]/OrderItemCharges/OrderItemPrice |
decimal | priceTotal_i | Prix du i-th article de commande. |
N |
DataArea/Order/OrderItem[i]/OrderItemCharges/ShippingCharge |
decimal | shippingTotal_i | Frais de port du i-th article de commande. |
N |
DataArea/Order/OrderItem[i]/OrderItemCharges/SalesTax |
decimal | taxTotal_i | Taxes sur la vente (ou TVA) du i-th article de commande. |
N |
DataArea/Order/OrderItem[i]/OrderItemCharges/ShippingTax |
decimal | shippingTaxTotal_i | Taxe afférente au transport du i-th article de commande. |
N |
DataArea/Order/OrderItem[i]/OrderItemShippingInfo/RequestedShipDateTime |
dateTime | requestShipDateTime | Date d'expédition demandée pour le i-th article de commande. |
N |
DataArea/Order/OrderItem[i]/OrderItemShippingInfo/UserData/UserDataField[@name='shipCondition'] |
chaîne | shipCondition_i | Code indiquant si une expédition partielle de la commande est acceptée. Valeurs valides :
|
N |
DataArea/Order/OrderItem[i]/OrderItemShippingInfo/UserData/UserDataField[@name='shippingModeFlag'] |
chaîne | shippingModeFlag_i | Code indiquant à quel niveau s'appliquent l'adresse de livraison et le mode d'expédition. Valeurs valides :
|
N |
* Les préfixes d'espace de noms sont omis pour simplifier la présentation.
Réponse
Les réponses de ce service Web entrant ont la forme de documents BOD ConfirmBOD. Elles contiennent les informations suivantes :
| XPath* | Type | Description |
|---|---|---|
DataArea/BOD/BODSuccessMessage |
- | Cet élément est présent si la demande a été traitée avec succès. |
* Les préfixes d'espace de noms sont omis pour simplifier la présentation.
Exemples
- Exemple de BOD ConfirmBOD 1 - réponse lorsque la mise à jour du statut de la commande a réussi
Exceptions
Toutes les exceptions sont renvoyées sous forme de documents BOD ConfirmBOD avec un élément ResponseCriteria sous le verbe Confirm. Elles contiennent les informations suivantes :
| XPath* | Type | Description |
|---|---|---|
DataArea/Confirm/ResponseCriteria/ChangeStatus/Code |
chaîne | L'identificateur de corrélation. Peut être utilisé pour identifier de manière unique une exception dans les journaux du serveur. |
DataArea/Confirm/ResponseCriteria/ChangeStatus/ReasonCode |
chaîne | Le code raison. Ce code, qui est soit un code d'erreur système de HCL Commerce s'il est disponible, soit la clé de message EC plus un code d'erreur secondaire en option, si le code d'erreur système de HCL Commerce n'est pas disponible. Ce code d'erreur système peut être indisponible en cas d'exceptions d'application. |
DataArea/Confirm/ResponseCriteria/ChangeStatus/Reason |
chaîne | Le message de l'exception. |
* Les préfixes d'espace de noms sont omis pour simplifier la présentation.
Exemples
- Exemple de BOD ConfirmBOD 4 - réponse avec exception lorsqu'il manque un paramètre obligatoire.