Commandes

 

Avant-propos

Le SDK AT Internet vous permet de marquer les commandes effectuées par vos utilisateurs durant l’utilisation de votre application.

 

Pour bien débuter

Une fois votre marqueur initialisé, vous pouvez ajouter les informations de commandes à votre hit d’écran.

Dans le cas où vous souhaitez utiliser des variables, veillez à importer les classes ATInternet, Tracker, Screen et Order dans votre Activity (Si vous souhaitez envoyer les informations de panier, veillez à également importer Cart).

 

Marquage

L’objet Screen met à disposition une méthode Order. Cette méthode prend deux paramètres :

  • orderId de type String renseignant l’identifiant de la commande
  • turnover de type double indiquant le chiffre d’affaire lié à cette commande

Cette méthode renvoie un objet de type Order.

 

Exemples de marquage

  1. Marquage d’une commande et d’un écran à objectif principal

    Sans l’option SalesTracker

    Même sans l’option SalesTracker, vous avez la possibilité de mesurer l’écran de finalisation de commande (objectif principal) en y insérant le montant de l’achat (turnOver) ainsi que le numéro de la commande (orderId).

    package com.atinternet.atinternetdemo;
    
    import android.app.Activity;
    import android.os.Bundle;
    
    import com.atinternet.tracker.ATInternet;
    import com.atinternet.tracker.Tracker;
    
    public class MainActivity extends Activity {
    
        private Tracker tracker;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            tracker = ATInternet.getInstance().getDefaultTracker();
        }
    
        @Override
        protected void onResume() {
            super.onResume();
            tracker.Screens().add("Main goal screen");
            tracker.Orders().add("4655", 3876.10);
            tracker.dispatch();
        }
    }

    Avec l’option SalesTracker

    package com.atinternet.atinternetdemo;
    
    import android.app.Activity;
    import android.os.Bundle;
    
    import com.atinternet.tracker.ATInternet;
    import com.atinternet.tracker.Tracker;
    import com.atinternet.tracker.Order;
    
    public class MainActivity extends Activity {
    
        private Tracker tracker;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            tracker = ATInternet.getInstance().getDefaultTracker();
        }
    
        @Override
        protected void onResume() {
            super.onResume();
            tracker.Screens().add("Order confirmation");
            Order o = tracker.Orders().add("cmd1", 94.30)
            //Order status
            o.setStatus(1)
                    //First order from that customer
                    .setNewCustomer(true)
                    //Payment Method
                    .setPaymentMethod(1)
                    //Order Amount
                    .Amount().set(80, 94.30, 14)
                    //Order Delivery Info
                    .Delivery().set(5, 7.5, "1[TNT]")
                    //Discount info
                    .Discount().set(5, 7.5, "PROMOTION");
            tracker.dispatch();
        }
    }
  2. Marquage d’une commande avec les informations de panier

    Pour plus d’informations quant au marquage de votre panier, rendez-vous sur cette page : Panier (SalesTracker)

  3. Marquage d’écran de confirmation sur app ou site extérieur

    L’objectif est ici de pouvoir mesurer les validations de commandes et réservations, malgré le fait que l’écran de confirmation soit hébergée par une app ou site extérieur (plateformes bancaires, paypal …).

    Le marqueur doit être placé sur l’écran précédant le départ vers la banque (contenant toutes les informations de commandes/réservations et de contenu de commande/réservation)

    package com.atinternet.atinternetdemo;
    
    import android.app.Activity;
    import android.os.Bundle;
    
    import com.atinternet.tracker.ATInternet;
    import com.atinternet.tracker.Tracker;
    import com.atinternet.tracker.Order;
    
    public class MainActivity extends Activity {
    
        private Tracker tracker;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            tracker = ATInternet.getInstance().getDefaultTracker();
        }
    
        @Override
        protected void onResume() {
            super.onResume();
            tracker.Screens().add("Order info before payment");
            Order o = tracker.Orders().add("cmd1", 94.30)
            //Order status
            o.setStatus(1)
                    //First order from that customer
                    .setNewCustomer(true)
                    //Payment Method
                    .setPaymentMethod(1)
                    //Order Amount
                    .Amount().set(80, 94.30, 14)
                    //Order Delivery Info
                    .Delivery().set(5, 7.5, "1[TNT]")
                    //Discount info
                    .Discount().set(5, 7.5, "PROMOTION");
            tracker.dispatch();
        }
    }
  4. Marquage d’une commande avec ajout de variables personnalisées
    package com.atinternet.atinternetdemo;
    
    import android.app.Activity;
    import android.os.Bundle;
    
    import com.atinternet.tracker.ATInternet;
    import com.atinternet.tracker.Tracker;
    import com.atinternet.tracker.Order;
    
    public class MainActivity extends Activity {
    
        private Tracker tracker;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            tracker = ATInternet.getInstance().getDefaultTracker();
        }
    
        @Override
        protected void onResume() {
            super.onResume();
            tracker.Screens().add("Order info before payment");
            Order o = tracker.Orders().add("cmd1", 94.30)
            o.setNewCustomer(true)
                    .setPaymentMethod(1)
                    .setStatus(1)
                    //Order needs confirmation (bank validation)
                    .setConfirmationRequired(true)
                    .Amount().set(80, 94.30, 14)
                    .Delivery().set(4, 7.5, "4")
                    .Discount().set(5, 7.5, "SUMMER")
                    //Custom Variables
                    .CustomVars().add(1, "fr").add(2, "fr_FR");
            tracker.dispatch();
        }
    }
 

Classe Order

 

Propriétés

NomTypeValeur par défautDescription
orderIdStringChaîne videObtient ou définit l’identifiant de la commande
turnoverDouble-1.0Obtient ou définit le chiffre d’affaire de la commande
statusInt-1Obtient ou définit le status de la commande
discountOrderDiscountnullObtient ou définit les informations de remises
amountOrderAmountnullObtient ou définit les informations de montants
deliveryOrderDeliverynullObtient ou définit les informations de livraison
customVariablesOrderCustomVarsnullObtient ou définit les variables personnalisées
isNewCustomerBooleanfalseObtient ou définit si l’utilisateur est un nouveau client ou non
paymentMethodInt-1Obtient ou définit le moyen de paiement
isConfirmationRequiredBooleanfalseObtient ou définit si la commande est en attente de validation par un site extérieur (banque, paypal …)
 

Classe OrderAmount

 

Propriétés

NomTypeValeur par défautDescription
amountTaxFreeDouble-1.0Obtient ou définit le montant HT de la commande
amountTaxIncludedDouble-1.0Obtient ou définit le montant TTC de la commande
taxAmountDouble-1.0Obtient ou définit le montant de la taxe
 

Méthodes

NomType de retourDescription
setOrderRenseigne les informations de montant de la commande
 

Classe OrderDiscount

 

Propriétés

NomTypeValeur par défautDescription
discountTaxFreeDouble-1.0Obtient ou définit le montant HT de la remise
discountTaxIncludedDouble-1.0Obtient ou définit le montant TTC de la remise
promotionalCodeStringnullObtient ou définit le code promotionnel utilisé par l’utilisateur
 

Méthodes

NomType de retourDescription
setOrderRenseigne les informations de montant de remise
 

Classe OrderDelivery

 

Propriétés

NomTypeValeur par défautDescription

shippingFeesTaxFree

Double-1.0Obtient ou définit le montant HT de la livraison

shippingFeesTaxIncluded

Double-1.0Obtient ou définit le montant TTC de la livraison

deliveryMethod

StringnullObtient ou définit la méthode de livraison
 

Méthodes

NomType de retourDescription
setOrderRenseigne les informations de livraison
 

Classe OrderCustomVar

 

Propriétés

NomTypeValeur par défautDescription

varId

Int0Obtient ou définit l’identifiant de la variable

value

StringnullObtient ou définit la valeur de la variable
 

Annexe

 

Identifiants des moyens de paiement et états des commandes

Ci-dessous les correspondances libellés/identifiants pour les moyens de paiement.
Il est possible d 'enrichir cette liste avec vos propres moyens de paiement dans la partie Configuration de votre interface.

IdentifiantLibelléCatégorie
1CBCartes bancaires
2VisaCartes bancaires
3MasterCardCartes bancaires
4ChèqueChèques
5Carte magasinCartes de crédit
6FinancementCartes de crédit
7VirementVirements
8PrélèvementPrélèvement
9PayPalMonnaie électronique

Ci-dessous les correspondances libellés/identifiants pour les statuts des commandes.

IdentifiantLibellé
0Non renseigné
1En attente
2Annulée
3Validée
4Retour
Dernière mise à jour : 04/03/2020