Balise de commande

La balise de commande HCL Commerce recueille des informations sur la commande d'un client. La balise de commande crée deux jeux de données : l'un pour le contenu du panier d'achat au moment de la commande et l'autre pour les informations récapitulatives de la commande.

Pour chaque élément du panier d'achat, cette balise recueille les données suivantes pour les transmettre à un système d'analyse externe :
  • Numéro de référence du produit
  • Nom du produit
  • Quantité
  • Prix de base
  • ID client
  • ID de commande
  • Sous-total
  • Catégorie de produit dans le catalogue que le client parcourt actuellement
  • Catégorie de produit dans le catalogue principal
  • Devise
  • Nom du compte (lorsque la transaction est une transaction B2B)
  • Nom du contrat (lorsque la transaction est une transaction B2B)
  • Identificateur de magasin
Pour les informations récapitulatives de commande, cette balise recueille les données suivantes pour les transmettre à un système d'analyse externe :
  • ID de commande
  • Sous-total de la commande
  • Frais d'expédition associés à la commande
  • ID client
  • Ville du client
  • Etat du client
  • Code postal du client
  • Devise
  • Noms de promotion qui sont appliqués à l'ordre, séparés par le délimiteur '|'
  • Valeurs d'ajustement de promotion, séparées par le délimiteur '|'
  • Codes de promotion, qui sont séparés par le délimiteur '|'
  • Identificateur de magasin
Cette balise peut également transmettre des paramètres supplémentaires pour la personnalisation des balises.

Paramètres

Voici une liste de paramètres requis et facultatifs pour la balise de commande.

Remarque pour IBM Digital Analytics : les paramètres suivants sont pour la balise HCL Commerce <cm:order />. Cette balise génère la balise de données IBM Digital Analytics cmCreateShopAction9Tag et la balise de données cmCreateOrderTag.

Pour transmettre les informations de panier d'achat et les informations récapitulatives de la commande qui sont répertoriées au début de cette rubrique à un système d'analyse externe, utilisez l'un des paramètres suivants :
databean
Utilisez ce paramètre si votre fichier JSP de page de confirmation de commande contient déjà un bean de données de commande. Ce paramètre est une instance remplie de com.ibm.commerce.order.beans.OrderDataBean.

L'utilisation du paramètre databean offre de meilleures performances que le paramètre orderId, car la balise de commande n'a pas besoin d'utiliser d'autres ressources pour générer le bean de données à partir de l'orderId.

orderType
Utilisez ce paramètre si votre page de confirmation de commande utilise des services Web pour les fonctions d'exécution des commandes. Ce paramètre est une instance remplie de l'objet com.ibm.commerce.order.facade.datatypes.OrderType.

L'utilisation du paramètre orderType offre de meilleures performances que le paramètre orderId, car la balise de commande n'a pas besoin d'utiliser d'autres ressources pour générer les données orderType à partir de l'orderId.

orderId
Si aucun des deux paramètres précédents ne s'applique, utilisez le paramètre orderId. Ce paramètre est l'ID de commande de la commande qui s'affiche. La balise de commande crée automatiquement un bean de données de commande pour obtenir les informations dont le système d'analyse externe a besoin. Ce paramètre est ignoré si vous avez utilisé le paramètre databean ou le paramètre orderType.
useKitItems
Ce paramètre est facultatif. Définissez ce paramètre sur true pour traiter des éléments dans les kits en tant qu'éléments de commande distincts.

Pour envoyer des données de taxe au système d'analyse externe, utilisez les paramètres supplémentaires suivants :

includeTaxInUnitPrice
Paramètre facultatif utilisé pour exclure ou inclure conditionnellement la taxe ainsi que le prix unitaire envoyé au système d'analyse externe. La valeur par défaut est false. S'il est défini sur true, le prix unitaire envoyé au système d'analyse externe est la somme du prix unitaire et de la taxe qui est calculée pour le produit particulier.
includeTaxInTotalPrice
Paramètre facultatif utilisé pour exclure ou inclure conditionnellement la taxe ainsi que le prix total envoyé au système d'analyse externe. La valeur par défaut est false. S'il est défini sur true, le prix total envoyé au système d'analyse externe est la somme du prix total et de la taxe qui est calculée pour les totaux de commande. Pour IBM Digital Analytics : si cette valeur est définie sur true, les frais d'expédition transmis à IBM Digital Analytics dans la balise de données cmCreateOrderTag incluent également la taxe relative aux frais de port. Si cette valeur est définie sur false, les frais d'expédition transmis à IBM Digital Analytics ne comprennent pas la taxe relative aux frais de port.

Vous pouvez utiliser l'un des trois paramètres suivants pour envoyer plus d'informations au système d'analyse externe :

extraparms
Paramètre facultatif que vous pouvez utiliser pour envoyer des informations supplémentaires qui s'appliquent à toutes les entrées de catalogue dans la commande au système d'analyse externe. Ce paramètre est fourni pour les scénarios dans lesquels vous avez peut-être négocié avec le fournisseur d'analyse externe pour générer un rapport personnalisé qui nécessite des informations supplémentaires.

Remarque pour  : utilisez le paramètre extraparms pour transmettre les attributs d'exploration et/ou les données pour les rapports personnalisés . Voir Transmission de données supplémentaires à IBM Digital Analytics avec le paramètre extraparms.

Il existe plusieurs façons de transmettre des valeurs à l'aide du paramètre extraparms :
Description Exemple
Spécifiez les valeurs explicites comme JavaScript correctement échappé. Pour transmettre plus d'une valeur, séparez les valeurs par une virgule. extraparms="\"value1\", \"value2\""
Spécifiez des valeurs explicites sans échapper les valeurs. Pour transmettre plus d'une valeur, séparez les valeurs par une virgule. extraparms="value1, value2"
Spécifiez le contenu dynamique en appelant un nom de méthode. Tout paramètre utilisant extraparms et commençant ou se terminant par le symbole $, par exemple, $getMethod$ est supposé être un nom de méthode de l'objet qui est transmis à l'aide des paramètres databean ou orderType. La seule restriction concernant le nom de la méthode est qu'il ne doit pas prendre d'arguments et que l'objet qui est retourné doit implémenter la méthode toString(). extraparms="$getMethod$"
extraparmsMap
Paramètre facultatif que vous pouvez utiliser pour envoyer des informations supplémentaires qui s'appliquent à des entrées de catalogue spécifiques dans la commande au système d'analyse externe. Ce paramètre est une alternative au paramètre extraparms lorsque vous souhaitez joindre différentes valeurs de paramètres supplémentaires à chaque élément de commande dans le panier d'achat au lieu de joindre la même valeur de paramètre supplémentaire à chaque élément du panier d'achat.

Remarque pour  : utilisez le extraparmsMap paramètre pour transmettre les attributs d'exploration ou les données pour les rapports personnalisés, ou les deux. Voir Comparaison des paramètres supplémentaires pour les balises IBM Digital Analytics.

L'entrée de ce paramètre est un objet de type java.util.Map dans lequel la clé pour chaque entrée de la mappe est l'orderItemId La valeur d'une clé particulière est le paramètre supplémentaire qui est transmis avec l'entrée de catalogue associée à l'élément de commande. La valeur de chaque orderItemId est ajoutée à la liste d'arguments pour la sortie de balise d'analyse de cet élément de commande particulier.

Voici l'exemple de code pour créer un objet java.util.HashMap à transmettre en tant que valeur pour le paramètre extraparmsMap :

<wcf:getData type="com.ibm.commerce.order.facade.datatypes.OrderType" 
var="orderForAn" expressionBuilder="findByOrderId" scope="request">
<wcf:param name="accessProfile" value="IBM_Details" />
<wcf:param name="orderId" value="${WCParam.orderId}" />
</wcf:getData>

<%
java.util.HashMap map = new java.util.HashMap();
com.ibm.commerce.order.facade.datatypes.OrderType 
ord = (com.ibm.commerce.order.facade.datatypes.OrderType) 
pageContext.getAttribute

("orderForAn",PageContext.REQUEST_SCOPE);
java.util.List orderItemList = ord.getOrderItem();
java.util.Iterator itr = orderItemList.iterator();
int i = 1;
while (itr.hasNext()) {
com.ibm.commerce.order.facade.datatypes.OrderItemType 
orderItemObj = (com.ibm.commerce.order.facade.datatypes.OrderItemType) itr.next();
String id = orderItemObj.getOrderItemIdentifier().getUniqueID();
map.put(id, "value" + i+ ".0-_-value" + i+ ".1");
i++;
}
pageContext.setAttribute("eMap",map);
%> 
orderExtraparms
Paramètre facultatif que vous pouvez utiliser pour envoyer des informations supplémentaires qui s'appliquent au résumé de la commande au système d'analyse externe.

Remarque pour  : utilisez le orderExtraparms paramètre pour transmettre les attributs d'exploration ou les données pour les rapports personnalisés, ou les deux. Voir Transmission de données supplémentaires à IBM Digital Analytics avec le paramètre extraparms.

Il existe plusieurs façons de transmettre des valeurs à l'aide du paramètre orderExtraparms :
Description Exemple
Spécifiez les valeurs explicites comme JavaScript correctement échappé. Pour transmettre plus d'une valeur, séparez les valeurs par une virgule. orderExtraparms="\"value1\", \"value2\""
Spécifiez des valeurs explicites sans échapper les valeurs. Pour transmettre plus d'une valeur, séparez les valeurs par une virgule. orderExtraparms="value1, value2"
Spécifiez le contenu dynamique en appelant un nom de méthode. Tout paramètre utilisant extraparms et commençant ou se terminant par le symbole $, par exemple, $getMethod$ est supposé être un nom de méthode de l'objet qui est transmis à l'aide des paramètres databean ou orderType. La seule restriction concernant le nom de la méthode est qu'il ne doit pas prendre d'arguments et que l'objet qui est retourné doit implémenter la méthode toString(). orderExtraparms="$getMethod$"

Versions des balises

HCL Commerce fournit deux versions de la balise de commande :

  1. Classe d'implémentation de balise de base abstraite : com.ibm.commerce.bi.taglib.OrderBaseTag. Les fournisseurs d'analyse qui souhaitent fournir une balise de commande dans leur bibliothèque de balises JSP d'analyse Web peuvent étendre cette classe de balises de base pour obtenir les données de balise de commande et implémenter leur propre logique pour générer les API de balisage de commande spécifiques au fournisseur.
  2. Une implémentation par défaut de la balise de commande (<cm:order />) pour IBM Digital Analytics. Cette implémentation génère automatiquement la balise de données IBM Digital Analytics cmCreateShopAction9Tag et la balise de données cmCreateOrderTag.