Service de prétraitement de commande

Le service de prétraitement de commande est un service Web entrant qui est chargé de valider une commande externe (par exemple, une commande ayant été transférée à un système externe de gestion de commandes) par rapport aux contrats définis dans HCL Commerce et de calculer ses prix, ses remises, ses frais de port, ses taxes, etc. en utilisant, là encore, les valeurs définies dans HCL Commerce. Ce service Web entrant est généralement appelé, dans une solution intégrée, par un système externe auquel est dévolu le traitement des commandes, mais qui sollicite HCL Commerce pour tout ce qui concerne la validation par rapport aux contrats, la tarification, le calcul des remises et des frais de port, le calcul des taxes, etc.

Quand utiliser cette

Vous devez utiliser l'interface du service de prétraitement de commande lorsque vous travaillez sur des projets ou des tâches de développement nouveaux.

Si vous travaillez sur un projet ou une tâche de développement existant, il est possible que l'interface Prétraitement de commande soit utilisée à la place.

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. La commande a déjà été validée et chiffrée par HCL Commerce avant d'être transférée, mais, à la demande du client, elle a ensuite été modifiée, si bien qu'elle doit à nouveau être validée et chiffrée.
  • Une commande a été enregistrée par un canal non géré par HCL Commerce, mais elle a quand même besoin de HCL Commerce pour tout ce qui concerne sa validation par rapport aux contrats, sa tarification, le calcul des remises et des frais de port, le calcul des taxes, etc.

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://hostname:8000/webapp/wcs/services/OrderServices. L'opération mise à disposition par ce service Web entrant est ProcessOrder, avec le BOD ProcessOrder pour la requête et le BOD AcknowledgeOrder pour la réponse.

Demande

Les requêtes adressées à ce service Web entrant ont la forme de documents BOD (Business Object Documents) ProcessOrder. Elles seront mappées à la commande SalesOrderPreprocess et devront contenir les informations suivantes :

XPath*TypeMappé au paramètre de commande suivantDescription Obligatoire
DataArea/Process/ActionCriteria/

ActionExpression/@actionCode

chaîne actionCode Le code d'action. Doit être "Preprocess".O
DataArea/Order/OrderHeader

/OrderIdentifier/OrderID

long orderId HCL Commerce ID de la commande, si applicable.N
DataArea/Order/OrderHeader

/OrderIdentifier/

ExternalOrderID

chaîne externalOrderId ID externe de la commande. Il peut s'agir d'une chaîne quelconque.N
DataArea/Order/OrderHeader

/OrderIdentifier/StoreID

int storeId HCL Commerce ID du magasin sous lequel la commande doit être traitée.O
DataArea/Order/OrderHeader/OrderReferences/

CustomerIdentifier/UniqueID

long customerId HCL Commerce ID utilisateur du client qui a passé la commande.O
DataArea/Order/OrderHeader/OrderPaymentInfo

/PromotionCode[i]

chaîne promotionCode_i Codes de promotion qui doivent être appliqués à la commande. N
DataArea/Order/OrderItem[j]/OrderItemIdentifier/OrderItemID long orderItemId_j ID HCL Commerce de l'article de commande j-th, le cas échéant. N
DataArea/Order/OrderItem[j]/OrderItemIdentifier/ExternalOrderItemID chaîne field2_j ID externe du j-th article de commande. Sert à corréler les articles de commande entre le BOD de demande et le BOD de réponse.N
DataArea/Order/OrderItem[j]/ProductIdentifier/CatalogEntryID long catEntryId_j ID d'entrée de catalogue HCL Commerce du produit associé au j-th article de commande. Requis si l'article est nouveau et que la SKU du produit n'est pas spécifiée.N
DataArea/Order/OrderItem[j]

/ProductIdentifier/SKU

chaîne partNumber_j SKU du produit associé au j-th article de commande. Requis si l'article est nouveau et que l'ID d'entrée de catalogue HCL Commerce du produit n'est pas spécifié.N
DataArea/Order/OrderItem[j]/Quantity double quantity_j Valeur de quantité du j-th article de commande. Requis si l'article est nouveau.N
DataArea/Order/OrderItem[j]

/Quantity/@uom

chaîne UOM_j Unité de mesure de la valeur de quantité ; par exemple, "C62" pour l'absence d'unité. Voir Unités de quantité.N
DataArea/Order/OrderItem[j]/OrderItemCharges/UnitPrice/Price decimal price_j Prix unitaire du produit associé au j-th article de commande. S'il n'est pas spécifié, il sera calculé d'après les valeurs définies dans HCL Commerce. N
DataArea/Order/OrderItem[j]/OrderItemCharges/

UnitPrice/Price/@currency

chaîne currency_j Devise dans laquelle est exprimé le prix unitaire. Requis si le prix unitaire du produit est spécifié.N
DataArea/Order/OrderItem[j]/OrderItemShippingInfo/ShippingAddress

/AddressLine[1]

chaîne address1_j Ligne 1 de l'adresse de livraison du j-th article de commande.N
DataArea/Order/OrderItem[j]/OrderItemShippingInfo/ShippingAddress

/AddressLine[2]

chaîne address2_j Ligne 2 de l'adresse de livraison du j-th article de commande.N
DataArea/Order/OrderItem[j]/OrderItemShippingInfo/ShippingAddress

/AddressLine[3]

chaîne address3_j Ligne 3 de l'adresse de livraison du j-th article de commande.N
DataArea/Order/OrderItem[j]/OrderItemShippingInfo

/ShippingAddress/City

chaîne city_j Zone Ville de l'adresse de livraison du j-th article de commande.N
DataArea/Order/OrderItem[j]/OrderItemShippingInfo/ShippingAddress

/StateOrProvinceName

chaîne state_j Zone Etat/Province de l'adresse de livraison du j-th article de commande.N
DataArea/Order/OrderItem[j]/OrderItemShippingInfo

/ShippingAddress/Country

chaîne country_j Zone Pays de l'adresse de livraison du j-th article de commande.N
DataArea/Order/OrderItem[j]/OrderItemShippingInfo

/ShippingAddress/PostalCode

chaîne zipCode_j Zone Code postal de l'adresse de livraison du j-th article de commande.N
DataArea/Order/OrderItem[j]/OrderItemShippingInfo/ShippingModeID int shipModeId_j ID HCL Commerce du mode d'expédition associé au j-th article de commande. A défaut d'être spécifié, il s'agira du mode par défaut du magasin.N
DataArea/Order/OrderItem[j]/OrderItemShippingInfo

/ShippingChargePolicyID

long shipChargTypeId_j HCL Commerce du type de frais de port associé au j-th article de commande, si applicable.N
DataArea/Order/OrderItem[j]/OrderItemShippingInfo

/ShippingCarrierAccountNumber

chaîne shipCarrAccntNum_j Le numéro de compte du transporteur du mode d'expédition, si applicable. N
DataArea/Order/OrderItem[j]/OrderItemShippingInfo

/ShippingChargeAdjustmentPercentage

double adjustmentPercentageValue

_j

Pourcentage d'ajustement des frais de port, si applicable. N

* Les préfixes d'espace de noms sont omis pour simplifier la présentation.

Exemples

Réponse

Les réponses de ce service Web entrant ont la forme de documents BOD AcknowledgeOrder. Elles contiennent les informations suivantes :

XPath*Type Description
DataArea/Order/OrderHeader/OrderIdentifier/OrderID longHCL Commerce ID de la commande, si applicable.
DataArea/Order/OrderHeader/OrderIdentifier/ExternalOrderID chaîneID externe de la commande, s'il a été spécifié dans la demande.
DataArea/Order/OrderHeader/OrderIdentifier/StoreID intHCL Commerce ID du magasin sous lequel la commande a été traitée.
DataArea/Order/OrderHeader/OrderReferences

/BuyerOrganizationIdentifier/UniqueID

longHCL Commerce ID de l'organisation acheteuse.
DataArea/Order/OrderHeader/OrderReferences

/BuyerOrganizationIdentifier/DistinguishedName

chaîneNom distinctif (DN) de l'organisation acheteuse.
DataArea/Order/OrderHeader/OrderReferences/CustomerIdentifier/UniqueID longHCL Commerce ID utilisateur du client qui a passé la commande.
DataArea/Order/OrderHeader/OrderReferences

/CustomerIdentifier/DistinguishedName

chaîneNom distinctif (DN) du client qui a passé la commande.
DataArea/Order/OrderHeader/OrderCharges/TotalProductPrice decimalPrix total de la commande avant ajustements et application des frais de port et des taxes.
DataArea/Order/OrderHeader/OrderCharges/TotalProductPrice/@currency chaîneDevise dans laquelle est exprimé le prix total de la commande.
DataArea/Order/OrderHeader/OrderCharges/TotalAdjustment decimalTotal des ajustements de la commande.
DataArea/Order/OrderHeader/OrderCharges/TotalAdjustment/@currency chaîneDevise dans laquelle est exprimé le total des ajustements.
DataArea/Order/OrderHeader/OrderCharges/TotalShippingCharge decimalTotal des frais de port de la commande.
DataArea/Order/OrderHeader/OrderCharges/TotalShippingCharge/@currency chaîneDevise dans laquelle est exprimé le total des frais de port.
DataArea/Order/OrderHeader/OrderCharges/TotalSalesTax decimalTotal des taxes sur la vente (ou TVA) de la commande.
DataArea/Order/OrderHeader/OrderCharges/TotalSalesTax/@currency chaîneDevise dans laquelle est exprimé le total des taxes sur la vente (ou TVA).
DataArea/Order/OrderHeader/OrderCharges/TotalShippingTax decimalTotal de la taxe afférente au transport de la commande.
DataArea/Order/OrderHeader/OrderCharges/TotalShippingTax/@currency chaîneDevise dans laquelle est exprimé le total de la taxe afférente au transport.
DataArea/Order/OrderHeader/OrderPaymentInfo/PromotionCode[i] chaîneCodes de promotion qui ont été appliqués à la commande.
DataArea/Order/OrderItem[j]/OrderItemIdentifier/OrderItemID longID HCL Commerce de l'article de commande j-th.
DataArea/Order/OrderItem[j]/OrderItemIdentifier/ExternalOrderItemID chaîneID externe du j-th article de commande, s'il a été spécifié dans la requête.
DataArea/Order/OrderItem[j]/ProductIdentifier/CatalogEntryID longID d'entrée de catalogue HCL Commerce du produit associé au j-th article de commande.
DataArea/Order/OrderItem[j]/ProductIdentifier/SKU chaîneSKU du produit associé au j-th article de commande.
DataArea/Order/OrderItem[j]/Quantity doubleValeur de quantité du j-th article de commande.
DataArea/Order/OrderItem[j]/Quantity/@uom chaîneUnité de mesure de la valeur de quantité ; par exemple, "C62" pour l'absence d'unité. Voir Unités de quantité.
DataArea/Order/OrderItem[j]/OrderItemCharges/UnitPrice/Price decimalPrix unitaire du produit associé au j-th article de commande.
DataArea/Order/OrderItem[j]/OrderItemCharges

/UnitPrice/Price/@currency

chaîneDevise dans laquelle est exprimé le prix unitaire.
DataArea/Order/OrderItem[j]/OrderItemCharges/UnitPrice/Quantity doubleValeur de quantité représentant une seule unité dans le prix unitaire.
DataArea/Order/OrderItem[j]/OrderItemCharges

/UnitPrice/Quantity/@uom

chaîneUnité de mesure de la valeur de quantité.
DataArea/Order/OrderItem[j]/OrderItemCharges/PriceOverride booleanTrue si le prix unitaire du j-th article de commande n'est pas calculé d'après les valeurs définies dans HCL Commerce, false dans le cas contraire.
DataArea/Order/OrderItem[j]/OrderItemCharges/FreeGift booleanTrue si le j-th article de commande est gratuit (offert en cadeau), false dans le cas contraire.
DataArea/Order/OrderItem[j]/OrderItemCharges/OrderItemPrice decimalPrix total du j-th article de commande avant ajustements et application des frais de port et des taxes.
DataArea/Order/OrderItem[j]/OrderItemCharges

/OrderItemPrice/@currency

chaîneDevise dans laquelle est exprimé le prix de l'article de commande.
DataArea/Order/OrderItem[j]/OrderItemCharges/Adjustment[k]/Type ChaîneType d'ajustement du k-th ajustement appliqué au j-th article de commande ; par exemple, "Bon de réduction", "Remise", "Majoration".
DataArea/Order/OrderItem[j]/OrderItemCharges/Adjustment[k]/Code ChaîneCode d'ajustement du k-th ajustement appliqué au j-th article de commande. Correspond au nom interne du code de bon de réduction, du code de promotion, du code de majoration, etc. dans HCL Commerce.
DataArea/Order/OrderItem[j]/OrderItemCharges

/Adjustment[k]/Description

ChaîneDescription externe du k-th ajustement appliqué au j-th article de commande.
DataArea/Order/OrderItem[j]/OrderItemCharges/Adjustment[k]

/Description/@languageID

intLangue de la description.
DataArea/Order/OrderItem[j]/OrderItemCharges/Adjustment[k]/Amount decimalMontant du k-th ajustement appliqué au j-th article de commande. Il est positif dans le cas d'une majoration, négatif dans le cas d'une réduction.
DataArea/Order/OrderItem[j]/OrderItemCharges/Adjustment[k]

/Amount/@currency

chaîneDevise dans laquelle est exprimé le montant de l'ajustement.
DataArea/Order/OrderItem[j]/OrderItemCharges

/Adjustment[k]/DisplayLevel

chaîneNiveau d'affichage du k-th ajustement appliqué au j-th article de commande. "Order" pour un ajustement au niveau de la commande, "OrderItem" pour un ajustement au niveau d'un article de commande.
DataArea/Order/OrderItem[j]/OrderItemCharges/ShippingCharge decimalTotal des frais de port de la commande.
DataArea/Order/OrderItem[j]/OrderItemCharges/ShippingCharge/@currency chaîneDevise dans laquelle est exprimé le total des frais de port.
DataArea/Order/OrderItem[j]/OrderItemCharges/SalesTax decimalTotal des taxes sur la vente (ou TVA) de la commande.
DataArea/Order/OrderItem[j]/OrderItemCharges/SalesTax/@currency chaîneDevise dans laquelle est exprimé le total des taxes sur la vente (ou TVA).
DataArea/Order/OrderItem[j]/OrderItemCharges/ShippingTax decimalTotal de la taxe afférente au transport de la commande.
DataArea/Order/OrderItem[j]/OrderItemCharges/ShippingTax/@currency chaîneDevise dans laquelle est exprimé le total de la taxe afférente au transport.
DataArea/Order/OrderItem[j]/OrderItemShippingInfo

/ShippingAddress/AddressLine[1]

chaîneLigne 1 de l'adresse de livraison du j-th article de commande.
DataArea/Order/OrderItem[j]/OrderItemShippingInfo

/ShippingAddress/AddressLine[2]

chaîneLigne 2 de l'adresse de livraison du j-th article de commande.
DataArea/Order/OrderItem[j]/OrderItemShippingInfo

/ShippingAddress/AddressLine[3]

chaîneLigne 3 de l'adresse de livraison du j-th article de commande.
DataArea/Order/OrderItem[j]/OrderItemShippingInfo

/ShippingAddress/City

chaîneZone Ville de l'adresse de livraison du j-th article de commande.
DataArea/Order/OrderItem[j]/OrderItemShippingInfo

/ShippingAddress/StateOrProvinceName

chaîneZone Etat/Province de l'adresse de livraison du j-th article de commande.
DataArea/Order/OrderItem[j]/OrderItemShippingInfo

/ShippingAddress/Country

chaîneZone Pays de l'adresse de livraison du j-th article de commande.
DataArea/Order/OrderItem[j]/OrderItemShippingInfo

/ShippingAddress/PostalCode

chaîneZone Code postal de l'adresse de livraison du j-th article de commande.
DataArea/Order/OrderItem[j]/OrderItemShippingInfo/ShippingModeID intID HCL Commerce du mode d'expédition associé au j-th article de commande. A défaut d'être spécifié, il s'agira du mode par défaut du magasin.
DataArea/Order/OrderItem[j]/OrderItemShippingInfo

/ShippingChargePolicyID

longHCL Commerce du type de frais de port associé au j-th article de commande, si applicable.
DataArea/Order/OrderItem[j]/OrderItemShippingInfo

/ShippingCarrierAccountNumber

chaîneLe numéro de compte du transporteur du mode d'expédition, si applicable.

* Les préfixes d'espace de noms sont omis pour simplifier la présentation.

Exemples

Exceptions

Toutes les exceptions sont renvoyées sous forme de documents BOD AcknowledgeOrder avec un élément ResponseCriteria sous le verbe Acknowledge. Elles contiennent les informations suivantes :

XPath*TypeDescription
DataArea/Acknowledge/ResponseCriteria/ChangeStatus/Code chaîneL'identificateur de corrélation. Peut être utilisé pour identifier de manière unique une exception dans les journaux du serveur.
DataArea/Acknowledge/ResponseCriteria

/ChangeStatus/ReasonCode

chaîneLe code raison, 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 qui est généralement le cas lorsque l'exception est émise par l'application).
DataArea/Acknowledge/ResponseCriteria/ChangeStatus/Reason chaîneLe message de l'exception.

* Les préfixes d'espace de noms sont omis pour simplifier la présentation.

Exemples

Remarque : Les attributs releaseID et versionID doivent être à blanc lorsque le service est appelé. Ignorez ceux qui sont renvoyés dans le BOD de réponse.