Developers » Windows » Ecommerce » Panier
Panier
Avant-propos
Le SDK AT Internet vous permet de marquer le panier de votre application ainsi que son contenu.
Vous pouvez, comme pour un panier réel, ajouter ou retirer des produits du panier et envoyer ces informations dans votre hit d’écran.
Pour bien débuter
Une fois votre marqueur initialisé, vous pouvez ajouter les informations de panier à votre hit décran.
Pour utiliser les classes et les méthodes du SDK, veillez à ajouter le namespace ATInternet dans votre Page.
Marquage
Le tracker met à disposition un objet Cart. Cet objet expose les méthodes suivantes :
- Set : Permet de définir un identifiant de panier pour pouvoir ensuite y ajouter des produits
Pour que les informations de panier soient bien prises en compte, l’identifiant doit être supérieur à zéro
- Unset : Permet de supprimer les produits du panier et de réinitialiser l’identifiant de ce dernier
L’ objet Cart expose également un objet Products permettant d’ajouter ou retirer des produits au panier.
Cet objet expose les méthodes suivantes :
- Add : Ajoute un produit (dont l’id est passé en paramètre) au panier et retourne un objet Product
- Remove : Supprime un produit(dont l’id est passé en paramètre) du panier
- RemoveAll : Supprime tous les produits contenus dans le panier
Pour envoyer les informations du panier sans envoyer d’informations de commande, il vous faut définir la propriété IsBasketScreen de votre objet Screen à true. Dans le cas contraire, les informations de panier ne seront pas ajoutées à votre hit d’écran.
Exemples de marquage
- Marquage d’un écran résumant le contenu d’un panier avec 2 articles
L’identifiant du panier doit être identique à celle présente dans le marqueur de contenu de la commande ; dans le cas contraire le panier sera considéré comme abandonné. Nous attirons également votre attention sur le fait que l’identifiant utilisé pour le panier doit être unique et jamais réutilisé au risque d’obtenir des analyses incohérentes
using System; using System.Collections.Generic; using Windows.Data.Json; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using ATInternet; using Windows.UI.Xaml.Navigation; namespace App1 { public sealed partial class MainPage : Page { Tracker tracker; public MainPage() { this.InitializeComponent(); tracker = SmartTag.Instance.defaultTracker; } protected override void OnNavigatedTo(NavigationEventArgs e) { // Enable cart and set an identifier tracker.Cart.Set("5"); Product p1 = tracker.Cart.Products.Add("ID[p1]"); p1.Category1 = "10Shoes"; p1.Quantity = 1; p1.UnitPriceTaxFree = 70; p1.UnitPriceTaxIncluded = 85; Product p2 = tracker.Cart.Products.Add("ID[P2]"); p2.Category1 = "20Socks"; p2.Quantity = 2; p2.UnitPriceTaxFree = 7; p2.UnitPriceTaxIncluded = 10; // If isBasketScreen is not set to true, Cart info won't be added to Screen hit Screen s = tracker.Screens.Add("order confirm"); s.IsBasketScreen = true; s.SendView(); } } }
- Marquage d’une commande avec les informations de panier
Pour plus d’informations quant au marquage de vos commandes, rendez-vous sur cette page : Commandes (SalesTracker)
using System; using System.Collections.Generic; using Windows.Data.Json; using Windows.UI.Xaml; using Windows.UI.Xaml.Controls; using ATInternet; using Windows.UI.Xaml.Navigation; namespace App1 { public sealed partial class MainPage : Page { Tracker tracker; public MainPage() { this.InitializeComponent(); tracker = SmartTag.Instance.defaultTracker; } protected override void OnNavigatedTo(NavigationEventArgs e) { tracker.Cart.Set("5"); Product p1 = tracker.Cart.Products.Add("ID[p1]"); p1.Category1 = "10Shoes"; p1.Quantity = 1; p1.UnitPriceTaxFree = 70; p1.UnitPriceTaxIncluded = 85; Product p2 = tracker.Cart.Products.Add("ID[P2]"); p2.Category1 = "20Socks"; p2.Quantity = 2; p2.UnitPriceTaxFree = 7; p2.UnitPriceTaxIncluded = 10; Order order = tracker.Orders.Add("cmd1", 94.40, 1); order.NewCustomer = true; order.Amount.TaxAmount = 3.0; order.Amount.AmountTaxFree = 5.0; order.Amount.AmountTaxIncluded = 8.0; order.Delivery.ShippingFeesTaxFree = 4; order.Delivery.ShippingFeesTaxIncluded = 7.5; order.Delivery.DeliveryMethod = "TNT"; order.Discount.DiscountTaxFree = 2; order.Discount.DiscountTaxIncluded = 2.5; order.Discount.PromotionalCode = "SUMMER"; // If isBasketScreen is not set to true, Cart info won't be added to Screen hit Screen s = tracker.Screens.Add("order confirmation"); s.IsBasketScreen = true; s.SendView(); tracker.Cart.Unset(); } } }
- Réinitialisation du panier après avoir validé une commande
private void FinishOrder() { // Reset cart ID and remove all products tracker.Cart.Unset(); }
- Remplacement d’un panier existant
private void ReinitCart() { // Set a new identifier for cart tracker.Cart.Set("2"); }
- Ajout de produits au panier
private void AddProduct() { Product p1 = tracker.Cart.Products.Add("ID[p1]"); p1.Category1 = "10Shoes"; p1.Quantity = 1; p1.UnitPriceTaxFree = 70; p1.UnitPriceTaxIncluded = 85; p1.PromotionalCode = "ATCode"; p1.DiscountTaxFree = 0; p1.DiscountTaxIncluded = 0; }
- Suppression d’un produit du panier
private void RemoveProduct() { tracker.Cart.Products.Remove("ID[p1]"); }
- Suppression de tous les produits du panier
private void RemoveAllProducts() { tracker.Cart.Products.Clear(); }
Classe Cart
Propriétés
Nom | Type | Valeur par défaut | Description |
---|---|---|---|
CartId | String | « » | Obtient ou définit l’identifiant du panier |
Products | Products | null | Obtient ou définit les produits du panier |
Méthodes
Nom | Type de retour | Description |
---|---|---|
Set | Cart | Active le panier et définit un identifiant |
Unset | void | Réinitialise le panier et supprime les produits |
Classe Product
Propriétés
Nom | Type | Valeur par défaut | Description |
---|---|---|---|
ProductId | String | null | Obtient ou définit l’identifiant du produit |
Category1 | String | null | Obtient ou définit la 1ère catégorie du produit |
Category2 | String | null | Obtient ou définit la 2nde catégorie du produit |
Category3 | String | null | Obtient ou définit la 3ème catégorie du produit |
Category4 | String | null | Obtient ou définit la 4ème catégorie du produit |
Category5 | String | null | Obtient ou définit la 5ème catégorie du produit |
Category6 | String | null | Obtient ou définit la 6ème catégorie du produit |
Quantity | Int | -1 | Obtient ou définit la quantité de produit |
UnitPriceTaxIncluded | Double | -1 | Obtient ou définit le prix unitaire TTC |
UnitPriceTaxFree | Double | -1 | Obtient ou définit le prix unitaire HT |
DiscountTaxIncluded | Double | -1 | Obtient ou définit le montant de remise TTC |
DiscountTaxFree | Double | -1 | Obtient ou définit le montant de remise HT |
PromotionalCode | String | null | Obtient ou définit le code promotionnel pour le produit |