> For the complete documentation index, see [llms.txt](https://doc.commandersact.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://doc.commandersact.com/fr/developpeurs/tracking-and-integrations/tracking/events-reference/e-commerce-events.md).

# Événements e-commerce

## add\_payment\_info <a href="#add_payment_info" id="add_payment_info"></a>

Cet événement signifie qu'un utilisateur a soumis ses informations de paiement

**Paramètres (obligatoires et recommandés)**

<table><thead><tr><th width="137">Nom</th><th width="101">Type</th><th width="76">Obligatoire</th><th width="147">Valeur d'exemple</th><th width="288">Description</th></tr></thead><tbody><tr><td><code>payment_method</code></td><td><code>string</code></td><td><strong>Oui</strong></td><td>card</td><td>La méthode de paiement choisie (voir la liste des valeurs possibles ci-dessous)</td></tr><tr><td><code>user</code></td><td><a href="#user"><code>Object&#x3C;User></code></a></td><td>Oui</td><td><p><code>{</code><br><code>id: '12345',</code><br><code>email: 'toto@domain.fr',</code></p><p><code>consent_categories: [1,3]</code></p><p><code>}</code></p></td><td><p><code>consent_categories</code> est la liste des consentements de l'utilisateur et est obligatoire pour gérer les consentements. Elle est remplie automatiquement à partir des sources web si vous utilisez Commanders Act CMP.</p><p>Vous devriez également ajouter toutes les propriétés de l'utilisateur dans cet objet user, en particulier la clé de rapprochement (id, email).</p></td></tr><tr><td><code>coupon</code></td><td><code>string</code></td><td>Non</td><td>CHRISTMAS</td><td>Code promo utilisé pour un achat.</td></tr><tr><td><code>revenue</code></td><td><code>number</code></td><td>Non</td><td>16.00</td><td><p>Revenu (prix de livraison et taxes <strong>exclus</strong>) après remise.\n(<em>)<code>revenue</code> est généralement requis pour des rapports pertinents.</em></p><p><em>(</em>)<code>currency</code> est requise si vous définissez <code>revenue</code>.</p></td></tr><tr><td><code>currency</code></td><td><code>string (ISO 4217)</code></td><td>Non</td><td>EUR</td><td><p>Devise de l'achat ou des articles associés à l'événement, au format ISO 4217 à 3 lettres.</p><p>(*) Si vous fournissez le <code>revenue</code> paramètre, vous devez également fournir le <code>currency</code> paramètre afin que les métriques de revenu puissent être calculées avec précision.</p></td></tr><tr><td><code>items</code></td><td><a href="#items"><code>Array&#x3C;Items></code></a></td><td>Non</td><td></td><td>Les articles de l'événement.</td></tr></tbody></table>

**Exemple**

{% tabs %}
{% tab title="JavaScript" %}

```javascript
cact('trigger','add_payment_info', {
  payment_method: 'card',
  revenue: 16.00,
  currency: 'EUR',
  user: {
    id: '12356',
    email:'toto@domain.fr',
    consent_categories: [1,3]
  }
});
```

{% endtab %}

{% tab title="Kotlin (Android)" %}

```kotlin
val event = TCAddPaymentInfoEvent("card")
event.revenue = 16.00f
event.currency = "EUR"
serverside.execute(event)
```

{% endtab %}

{% tab title="Java  (Android)" %}

```
TCAddPaymentInfoEvent event = new TCAddPaymentInfoEvent("card");
event.revenue = 16.6f;
event.currency = "EUR";
serverside.execute(event);
```

{% endtab %}

{% tab title="Objective-C (iOS)" %}

```objectivec
TCAddPaymentInfoEvent *event = [[TCAddPaymentInfoEvent alloc] initWithId: @"ID";
event.revenue = [[NSDecimalNumber alloc] initWithFloat: 16.00f];
event.currency = @"EUR";
[TCS execute: event];
```

{% endtab %}

{% tab title="Swift (iOS)" %}

```swift
let event = TCAddPaymentInfoEvent(payementMethod: "card")
	event?.revenue = 16.00
	event?.currency = "EUR"
	serverside?.execute(event)
```

{% endtab %}

{% tab title="Dart (Flutter)" %}

```dart
var event = TCAddPaymentInfoEvent();
    event.paymentMethod = "card";
    event.revenue = 16.00;
    event.currency = "EUR";
serverside.execute(event);
```

{% endtab %}

{% tab title="json" %}

```json
{
    "event_name": "add_payment_info",
        "payment_method": "card",
        "revenue": 16.00,
        "value": 22.53,
        "currency": "EUR",
        "user": {
            "id": "12345",
            "email": "toto@domain.fr",
            "consent_categories": [
                1,
                3
            ]
        }
}
```

{% endtab %}
{% endtabs %}

## add\_shipping\_info

Cet événement signifie qu'un utilisateur a soumis ses informations de livraison.

#### Paramètres <a href="#parameters_2" id="parameters_2"></a>

<table><thead><tr><th width="138">Nom</th><th width="99">Type</th><th width="74">Obligatoire</th><th width="159">Valeur d'exemple</th><th width="281">Description</th></tr></thead><tbody><tr><td><code>currency</code></td><td><code>string (ISO 4217)</code></td><td>Oui</td><td>EUR</td><td><p>Devise de l'achat ou des articles associés à l'événement, au format ISO 4217 à 3 lettres.</p><p>(*) Si vous fournissez le <code>revenue</code> ou <code>value</code>paramètre, vous devez également fournir le <code>currency</code> paramètre afin que les métriques de revenu puissent être calculées avec précision.</p></td></tr><tr><td><code>value</code></td><td><code>number</code></td><td>Oui</td><td>22.53</td><td>La valeur monétaire de l'événement (prix de livraison et taxes <strong>inclus</strong>) après remise</td></tr><tr><td><code>user</code></td><td><a href="#user"><code>Object&#x3C;User></code></a></td><td>Oui</td><td><p><code>{</code><br><code>id: '12345',</code><br><code>email: 'toto@domain.fr',</code></p><p><code>consent_categories: [1,3]</code></p><p><code>}</code></p></td><td><p><code>consent_categories</code> est la liste des consentements de l'utilisateur. Elle est remplie automatiquement à partir des sources web si vous utilisez Commanders Act CMP.</p><p>Vous devriez également ajouter toutes les propriétés de l'utilisateur dans cet objet user, en particulier la clé de rapprochement (id, email).</p></td></tr><tr><td><code>coupon</code></td><td><code>string</code></td><td>Non</td><td>CHRISTMAS</td><td>Code promo utilisé pour un achat.</td></tr><tr><td><code>shipping_tier</code></td><td><code>string</code></td><td>Non</td><td>Ground</td><td>Le niveau d'expédition (par ex. <code>Next-day</code>, Air`) sélectionné pour la livraison de l'article acheté.</td></tr><tr><td><code>items</code></td><td><a href="#items"><code>Array&#x3C;Items></code></a></td><td><strong>Oui</strong></td><td></td><td>Les articles de l'événement.</td></tr></tbody></table>

**Exemple**

{% tabs %} {% tab title="JavaScript" %} \`

\`\`javascript cact('trigger','add\_shipping\_info', { value: 8.00, currency: 'EUR', coupon: 'promo', shipping\_tier: 'ups', items: \[{ id: 'SKU\_12345', quantity: 1, variant: 'red', coupon: 'CHRISTMAS', discount: 1.99, product:{ id: '12345', name: 'Trex tshirt', category\_1: 'clothes', category\_2: 't-shirts', category\_3: 'boy', brand: 'Lacoste', price: 9.99 } }], user: { id: '12356', email:'<toto@domain.fr>', consent\_categories: \[1,3] } });

````

</div>

<div data-gb-custom-block data-tag="tab" data-title='Kotlin (Android)'>

```kotlin
val item1 = TCItem("my_product1_id", TCProduct("my_product_1_id", "my_product_1_name", 12.5f), 1)
val item2 = TCItem("my_product2_id", TCProduct("my_product_2_id", "my_product_2_name", 110f), 1)
val items = listOf<TCItem>(item1, item2)

val event = TCAddShippingInfoEvent(items,  112.5f, "EUR")
    event.coupon = "promo"
    event.shippingTier = "ups"
serverside.execute(event)
````

```java
TCItem item1 = new TCItem("my_product1_id", new TCProduct("my_product_1_id", "my_product_1_name", 12.5f), 1);
TCItem item2 = new TCItem("my_product2_id", new TCProduct("my_product_2_id", "my_product_2_name", 25.6f), 1);
ArrayList<TCItem> items = new ArrayList<>(Arrays.asList(item1, item2));

TCAddShippingInfoEvent event = new TCAddShippingInfoEvent(items, 112.5f, "EUR");
event.coupon = "promo";
event.shippingTier = "ups";
serverside.execute(event);
```

```objectivec
NSMutableArray *items = [[NSMutableArray alloc] init];
[items addObject: [[TCItem alloc] initWithItemId: @"iID1"
                                  withProduct: [[TCProduct alloc] initWithProductId: @"pID1" 
                                  withName: @"pName1"
                                  withPrice: [[NSDecimalNumber alloc] initWithString: @"1.5"]]
                                  withQuantity: 1]];
[items addObject: [[TCItem alloc] initWithItemId: @"iID2"
                                  withProduct: [[TCProduct alloc] initWithProductId: @"pID2" 
                                  withName: @"pName2" 
                                  withPrice: [[NSDecimalNumber alloc] initWithFloat: 2.5f]]
                                  withQuantity: 2]];

TCAddShippingInfoEvent *event = [[TCAddShippingInfoEvent alloc] initWithItems: items
withValue: [[NSDecimalNumber alloc] initWithString: @"12.2"]
withCurrency: @"EUR"];

event.coupon = @"promo";
event.shippingTier = @"ups";
[TCS execute: event];
```

```swift
let item_1:TCItem = TCItem(itemId: "my_item1.id", with: TCProduct(productId: "my_product1.id", withName: "my_product1.name", withPrice: 12.5), withQuantity: 1)
let item_2:TCItem = TCItem(itemId: "my_item2.id", with: TCProduct(productId: "my_product2.id", withName: "my_product2.name", withPrice: 22.5), withQuantity: 1)

let event = TCAddShippingInfoEvent(items: [item_1, item_2], withValue: 1, withCurrency: "EUR")
	event?.addAdditionalProperty("additionalKey", withBoolValue: true)
	event?.coupon = "promo"
	event?.shippingTier = "ups"
	serverside?.execute(event)
```

<pre class="language-dart"><code class="lang-dart">TCProduct tc_product = TCProduct();
		tc_product.ID = "product_1_ID";
		tc_product.name = "product_1_name";
		tc_product.price = 150;
		tc_product.addAdditionalProperty("key_additional_product", "val_additional_product");
TCItem tc_item_1 = TCItem();
		tc_item_1.ID = "item_1_id";
		tc_item_1.product = tc_product;
		tc_item_1.quantity = 1;
		tc_item_1.addAdditionalProperty("key_additional_item", "val_additional_product");
TCProduct tc_product_2 = TCProduct();
		tc_product_2.ID = "product_2_ID";
		tc_product_2.name = "product_2_name";
		tc_product_2.price = 150;
		tc_product_2.addAdditionalProperty("key_additional_product", "val_additional_product");
TCItem tc_item_2 = TCItem();
		tc_item_2.ID = "item_2_id";
		tc_item_2.quantity = 2;
		tc_item_2.product = tc_product;
		tc_item_2.addAdditionalProperty("key_additional_item", "val_additional_product");

<strong>var event = TCAddShippingInfoEvent();
</strong>    event.coupon = "promo";
    event.shippingTier = "ups";
    event.currency = "EUR";
    event.items = [tc_item_1, tc_item_2];
serverside.execute(event);
</code></pre>

```json
{
    "event_name": "add_shipping_info",
        "shipping_tier": "Ground",
        "revenue": 16.00,
        "value": 22.53,
        "currency": "EUR",
        "items": [
            {
                "id": "SKU_12345",
                "quantity": 1,
                "price": 9.99,
                "variant": "red",
                "coupon": "CHRISTMAS",
                "discount": 1.99,
                "product": {
                    "id": "12345",
                    "name": "Trex tshirt",
                    "category_1": "clothes",
                    "category_2": "t-shirts",
                    "category_3": "boy",
                    "brand": "Lacoste",
                    "colors": [
                        "red"
                    ],
                    "price": 9.99
                }
            },
            {
                "id": "SKU_12346",
                "quantity": 1,
                "price": 9.99,
                "variant": "green",
                "coupon": "CHRISTMAS",
                "discount": 1.99,
                "product": {
                    "id": "12346",
                    "name": "Heart tshirt",
                    "category_1": "clothes",
                    "category_2": "t-shirts",
                    "category_3": "girl",
                    "brand": "Jenyfion",
                    "colors": [
                        "blue",
                        "white"
                    ],
                    "price": 9.99
                }
            }
        ],
        "user": {
            "id": "12345",
            "email": "toto@domain.fr",
            "consent_categories": [
                1,
                3
            ]
        }
}
```

## add\_to\_cart

Cet événement signifie qu'un article a été ajouté à un panier pour achat.

**Paramètres (obligatoires et recommandés)**

<table><thead><tr><th width="136">Nom</th><th width="103">Type</th><th width="102">Obligatoire</th><th width="135">Valeur d'exemple</th><th>Description</th></tr></thead><tbody><tr><td><code>value</code></td><td><code>number</code></td><td><strong>Oui</strong>*</td><td>8.00</td><td><p>La valeur monétaire de l'événement.\n(<em>)<code>value</code> est généralement requis pour des rapports pertinents.</em></p><p><em>(</em>)<code>currency</code> est requise si vous définissez <code>value</code>.</p></td></tr><tr><td><code>currency</code></td><td><code>string (ISO 4217)</code></td><td><strong>Oui</strong>*</td><td>EUR</td><td><p>Devise de l'achat ou des articles associés à l'événement, au format ISO 4217 à 3 lettres.</p><p>(*) Si vous fournissez le <code>revenue</code> paramètre, vous devez également fournir le <code>currency</code> paramètre afin que les métriques de revenu puissent être calculées avec précision.</p></td></tr><tr><td><code>user</code></td><td><a href="#user"><code>Object&#x3C;User></code></a></td><td>Oui</td><td><p><code>{</code><br><code>id: '12345',</code><br><code>email: 'toto@domain.fr',</code></p><p><code>consent_categories: [1,3]</code></p><p><code>}</code></p></td><td><p><code>consent_categories</code> est la liste des consentements de l'utilisateur. Elle est remplie automatiquement à partir des sources web si vous utilisez Commanders Act CMP.</p><p>Vous devriez également ajouter toutes les propriétés de l'utilisateur dans cet objet user, en particulier la clé de rapprochement (id, email).</p></td></tr><tr><td><code>items</code></td><td><a href="#items"><code>Array&#x3C;Items></code></a></td><td><strong>Oui</strong></td><td></td><td>Les articles de l'événement.</td></tr></tbody></table>

**Exemple**

{% tabs %} {% tab title="JavaScript" %}

```javascript
cact('trigger','add_to_cart', {
  value: 8.00,
  currency: 'EUR',
  items: [{
    id: 'SKU_12345',
    quantity: 1,
    variant: 'red',
    coupon: 'CHRISTMAS',
    discount: 1.99,
    product:{
      id: '12345',
      name: 'Trex tshirt',
      category_1: 'clothes',
      category_2: 't-shirts',
      category_3: 'boy',
      brand: 'Lacoste',
      price: 9.99
    }
  }],
  user: {
    id: '12356',
    email:'toto@domain.fr',
    consent_categories: [1,3]
  }
});
```

{% endtab %}

{% tab title="Kotlin (Android)" %}

```kotlin
val item1 = TCItem("my_product1_id", TCProduct("my_product_1_id", "my_product_1_name", 12.5f), 1)
val item2 = TCItem("my_product2_id", TCProduct("my_product_2_id", "my_product_2_name", 110f), 1)
val items = listOf<TCItem>(item1, item2)

val event = TCAddToCartEvent(22.53f,  "EUR", items)
serverside.execute(event)
```

{% endtab %}

{% tab title="Java (Android)" %}

```java
TCItem item1 = new TCItem("my_product1_id", new TCProduct("my_product_1_id", "my_product_1_name", 12.5f), 1);
TCItem item2 = new TCItem("my_product2_id", new TCProduct("my_product_2_id", "my_product_2_name", 25.6f), 1);
ArrayList<TCItem> items = new ArrayList<>(Arrays.asList(item1, item2));

TCAddToCartEvent event = new TCAddToCartEvent(22.53f,  "EUR", items);
serverside.execute(event);
```

{% endtab %}

{% tab title="Objective-C (iOS)" %}

```objectivec
NSMutableArray *items = [[NSMutableArray alloc] init];
[items addObject: [[TCItem alloc] initWithItemId: @"iID1"
                                  withProduct: [[TCProduct alloc] initWithProductId: @"pID1" 
                                  withName: @"pName1"
                                  withPrice: [[NSDecimalNumber alloc] initWithFloat: 1.5f]]
                                  withQuantity: 1]];
[items addObject: [[TCItem alloc] initWithItemId: @"iID2"
                                  withProduct: [[TCProduct alloc] initWithProductId: @"pID2"
                                  withName: @"pName2"
                                  withPrice: [[NSDecimalNumber alloc] initWithFloat: 2.5f]]
                                  withQuantity: 2]];

TCAddToCartEvent *event = [[TCAddToCartEvent alloc] initWithValue: [[NSDecimalNumber alloc] initWithString: @"12.2"]
withCurrency: @"EUR"
withItems: items];
[TCS execute: event];
```

{% endtab %}

{% tab title="Swift (iOS)" %}

```swift
let item_1:TCItem = TCItem(itemId: "my_item1.id", with: TCProduct(productId: "my_product1.id", withName: "my_product1.name", withPrice: 12.5), withQuantity: 1)
let item_2:TCItem = TCItem(itemId: "my_item2.id", with: TCProduct(productId: "my_product2.id", withName: "my_product2.name", withPrice: 22.5), withQuantity: 1)

let event = TCAddToCartEvent(value: 1, withCurrency: "EUR", withItems: [item_1, item_2])
	event?.addAdditionalProperty("additionalKey", withBoolValue: true)
	event?.currency = "EUR"
	serverside?.execute(event)
```

{% endtab %}

{% tab title="Dart (Flutter)" %}

```dart
TCProduct tc_product = TCProduct();
		tc_product.ID = "product_1_ID";
		tc_product.name = "product_1_name";
		tc_product.price = 12.5;
		tc_product.addAdditionalProperty("key_additional_product", "val_additional_product");
TCItem tc_item_1 = TCItem();
		tc_item_1.ID = "item_1_id";
		tc_item_1.product = tc_product;
		tc_item_1.quantity = 1;
		tc_item_1.addAdditionalProperty("key_additional_item", "val_additional_product");

var event = TCAddToCartEvent();
    event.currency = "EUR";
    event.items = [tc_item_1];
    event.value = 12.5;
serverside.execute(event);
```

{% endtab %}

{% tab title="json" %}

```json
{
    "event_name": "add_to_cart",
        "value": 8.00,
        "currency": "EUR",
        "items": [
            {
                "id": "SKU_12345",
                "quantity": 1,
                "price": 9.99,
                "variant": "red",
                "coupon": "CHRISTMAS",
                "discount": 1.99,
                "product": {
                    "id": "12345",
                    "name": "Trex tshirt",
                    "category_1": "clothes",
                    "category_2": "t-shirts",
                    "category_3": "boy",
                    "brand": "Lacoste",
                    "colors": [
                        "red"
                    ]
                }
            }
        ]
}
```

{% endtab %} {% endtabs %}

## add\_to\_wishlist

Cet événement signifie qu'un article a été ajouté à une liste de souhaits. Utilisez cet événement pour identifier les articles cadeaux populaires dans votre application.

**Paramètres (obligatoires et recommandés)**

<table><thead><tr><th width="142">Nom</th><th width="100">Type</th><th width="80">Obligatoire</th><th width="157">Valeur d'exemple</th><th>Description</th></tr></thead><tbody><tr><td><code>value</code></td><td><code>number</code></td><td>Non</td><td>8.00</td><td><p>La valeur monétaire de l'événement.\n(<em>)<code>revenue</code> est généralement requis pour des rapports pertinents.</em></p><p><em>(</em>)<code>currency</code> est requise si vous définissez <code>revenue</code>.</p></td></tr><tr><td><code>currency</code></td><td><code>string (ISO 4217)</code></td><td>Non</td><td>EUR</td><td><p>Devise de l'achat ou des articles associés à l'événement, au format ISO 4217 à 3 lettres.</p><p>(*) Si vous fournissez le <code>revenue</code> paramètre, vous devez également fournir le <code>currency</code> paramètre afin que les métriques de revenu puissent être calculées avec précision.</p></td></tr><tr><td><code>user</code></td><td><a href="#user"><code>Object&#x3C;User></code></a></td><td>Oui</td><td><p><code>{</code><br><code>id: '12345',</code><br><code>email: 'toto@domain.fr',</code></p><p><code>consent_categories: [1,3]</code></p><p><code>}</code></p></td><td><p><code>consent_categories</code> est la liste des consentements de l'utilisateur. Elle est remplie automatiquement à partir des sources web si vous utilisez Commanders Act CMP.</p><p>Vous devriez également ajouter toutes les propriétés de l'utilisateur dans cet objet user, en particulier la clé de rapprochement (id, email).</p></td></tr><tr><td><code>items</code></td><td><a href="#items"><code>Array&#x3C;Items></code></a></td><td><strong>Oui</strong></td><td></td><td>Les articles de l'événement.</td></tr></tbody></table>

**Exemple**

{% tabs %} {% tab title="JavaScript" %}

```javascript
cact('trigger','add_to_wishlist', {
  value: 8.00,
  currency: 'EUR',
  items: [{
    id: 'SKU_12345',
    quantity: 1,
    variant: 'red',
    coupon: 'CHRISTMAS',
    discount: 1.99,
    product:{
      id: '12345',
      name: 'Trex tshirt',
      category_1: 'clothes',
      category_2: 't-shirts',
      category_3: 'boy',
      brand: 'Lacoste',
      price: 9.99
    }
  }],
  user: {
    id: '12356',
    email:'toto@domain.fr',
    consent_categories: [1,3]
  }
});
```

{% endtab %}

{% tab title="Kotlin (Android)" %}

```kotlin
val item1 = TCItem("my_product1_id", TCProduct("my_product_1_id", "my_product_1_name", 12.5f), 1)
val item2 = TCItem("my_product2_id", TCProduct("my_product_2_id", "my_product_2_name", 110f), 1)
val items = listOf<TCItem>(item1, item2)

val event = TCAddToWishlistEvent(items)
    event.value = 20.00f
    event.currency = "EUR"
serverside.execute(event)
```

{% endtab %}

{% tab title="Java (Android)" %}

```java
TCItem item1 = new TCItem("my_product1_id", new TCProduct("my_product_1_id", "my_product_1_name", 12.5f), 1);
TCItem item2 = new TCItem("my_product2_id", new TCProduct("my_product_2_id", "my_product_2_name", 25.6f), 1);
ArrayList<TCItem> items = new ArrayList<>(Arrays.asList(item1, item2));

TCAddToWishlistEvent event = new TCAddToWishlistEvent(items);
event.value = 20.00f;
event.currency = "EUR";
serverside.execute(event);
```

{% endtab %}

{% tab title="Objective-C (iOS)" %}

```objectivec
NSMutableArray *items = [[NSMutableArray alloc] init];
[items addObject: [[TCItem alloc] initWithItemId: @"iID1"
    withProduct: [[TCProduct alloc] initWithProductId: @"pID1" 
    withName: @"pName1"
    withPrice: [[NSDecimalNumber alloc] initWithFloat: 1.5f]]
    withQuantity: 1]];
[items addObject: [[TCItem alloc] initWithItemId: @"iID2"
    withProduct: [[TCProduct alloc] initWithProductId: @"pID2"
    withName: @"pName2"
    withPrice: [[NSDecimalNumber alloc] initWithFloat: 2.5f]]
    withQuantity: 2]];

TCAddToWishlistEvent *event = [[TCAddToWishlistEvent alloc] initWithValue: [[NSDecimalNumber alloc] initWithString: @"12.2"]
withCurrency: @"EUR"
withItems: items];
[TCS execute: event];
```

{% endtab %}

{% tab title="Swift (iOS)" %}

```swift
let item_1:TCItem = TCItem(itemId: "my_item1.id", with: TCProduct(productId: "my_product1.id", withName: "my_product1.name", withPrice: 12.5), withQuantity: 1)
let item_2:TCItem = TCItem(itemId: "my_item2.id", with: TCProduct(productId: "my_product2.id", withName: "my_product2.name", withPrice: 22.5), withQuantity: 1)

let event = TCAddToWishlistEvent(items: [item_1, item_2])
	event?.currency = "EUR"
	serverside?.execute(event)
```

{% endtab %}

{% tab title="Dart (Flutter)" %}

```dart
TCProduct tc_product = TCProduct();
		tc_product.ID = "product_1_ID";
		tc_product.name = "product_1_name";
		tc_product.price = 150;
		tc_product.addAdditionalProperty("key_additional_product", "val_additional_product");
TCItem tc_item_1 = TCItem();
		tc_item_1.ID = "item_1_id";
		tc_item_1.product = tc_product;
		tc_item_1.quantity = 1;
		tc_item_1.addAdditionalProperty("key_additional_item", "val_additional_product");

var event = TCAddToWishlistEvent();
    event.addAdditionalPropertyWithIntValue("key_additional_1", 12);
    event.addAdditionalPropertyWithListValue("key_additional_2", [12,12,12]);
    event.currency = "EUR";
    event.items = [tc_item_1];
    event.value = 12.5;
serverside.execute(event);
```

{% endtab %}

{% tab title="json" %}

```json
{
    "event_name": "add_to_wishlist",
        "value": 8.00,
        "currency": "EUR",
        "items": [
            {
                "id": "SKU_12345",
                "quantity": 1,
                "price": 9.99,
                "variant": "red",
                "coupon": "CHRISTMAS",
                "discount": 1.99,
                "product": {
                    "id": "12345",
                    "name": "Trex tshirt",
                    "category_1": "clothes",
                    "category_2": "t-shirts",
                    "category_3": "boy",
                    "brand": "Lacoste",
                    "colors": [
                        "red"
                    ]
                }
            }
        ]
}
```

{% endtab %} {% endtabs %}

## begin\_checkout <a href="#begin_checkout" id="begin_checkout"></a>

Cet événement signifie qu'un utilisateur a commencé un checkout.

**Paramètres (obligatoires et recommandés)**

<table><thead><tr><th width="138">Nom</th><th width="101">Type</th><th width="78">Obligatoire</th><th width="157">Valeur d'exemple</th><th>Description</th></tr></thead><tbody><tr><td><code>revenue</code></td><td><code>number</code></td><td><strong>Oui</strong></td><td>16.00</td><td>La valeur monétaire de l'événement (prix de livraison et taxes <strong>exclus</strong>) après remise</td></tr><tr><td><code>value</code></td><td><code>number</code></td><td><strong>Oui</strong></td><td>22.53</td><td>La valeur monétaire de l'événement (prix de livraison et taxes <strong>inclus</strong>) après remise</td></tr><tr><td><code>currency</code></td><td><code>string (ISO 4217)</code></td><td><strong>Oui</strong></td><td>EUR</td><td><p>Devise de l'achat ou des articles associés à l'événement, au format ISO 4217 à 3 lettres.</p><p>(*) Si vous fournissez le <code>revenue</code> paramètre, vous devez également fournir le <code>currency</code> paramètre afin que les métriques de revenu puissent être calculées avec précision.</p></td></tr><tr><td><code>coupon</code></td><td><code>string</code></td><td>Non</td><td>CHRISTMAS</td><td>Code promo utilisé pour un achat.</td></tr><tr><td><code>ID</code></td><td><code>string</code></td><td>Non</td><td>0_12345</td><td>ID de transaction. Utilisé comme clé pour les mises à jour</td></tr><tr><td><code>user</code></td><td><a href="#user"><code>Object&#x3C;User></code></a></td><td>Oui</td><td><p><code>{</code><br><code>id: '12345',</code><br><code>email: 'toto@domain.fr',</code></p><p><code>consent_categories: [1,3]</code></p><p><code>}</code></p></td><td><p><code>consent_categories</code> est la liste des consentements de l'utilisateur. Elle est remplie automatiquement à partir des sources web si vous utilisez Commanders Act CMP.</p><p>Vous devriez également ajouter toutes les propriétés de l'utilisateur dans cet objet user, en particulier la clé de rapprochement (id, email).</p></td></tr><tr><td><code>items</code></td><td><a href="#items"><code>Array&#x3C;Items></code></a></td><td><strong>Oui</strong></td><td></td><td>Les éléments de l'événement.</td></tr></tbody></table>

**Exemple**

{% tabs %} {% tab title="JavaScript" %}

```javascript
cact('trigger','begin_checkout', {
  id: 'O_12345',
  coupon: 'CHRISTMAS',
  revenue: 16.00,
  value: 20.33,
  currency: 'EUR',
  user: {
    id: '12356',
    email:'toto@domain.fr'
  },
  items: [{
    id: 'SKU_12345',
    quantity: 1,
    price: 9.99,
    variant: 'red',
    coupon: 'CHRISTMAS',
    discount: 1.99,
    product:{
      id: '12345',
      name: 'Trex tshirt',
      category_1: 'clothes',
      category_2: 't-shirts',
      category_3: 'boy',
      brand: 'Lacoste',
      colors: ['red'],
      price: 9.99
    }
  }, {
    id: 'SKU_12346',
    quantity: 1,
    price: 9.99,
    variant: 'green',
    coupon: 'CHRISTMAS',
    discount: 1.99,
    product:{
      id: '12346',
      name: 'Heart tshirt',
      category_1: 'clothes',
      category_2: 't-shirts',
      category_3: 'girl',
      brand: 'Jenyfion',
      colors: ['blue','white'],
      price: 9.99
    }
  }]
})
```

{% endtab %}

{% tab title="Kotlin (Android)" %}

```kotlin
val item1 = TCItem("my_product1_id", TCProduct("my_product_1_id", "my_product_1_name", 12.5f), 1)
val item2 = TCItem("my_product2_id", TCProduct("my_product_2_id", "my_product_2_name", 110f), 1)
val items = listOf<TCItem>(item1, item2)

val event = TCBeginCheckoutEvent(1.0f,  2.0f, "EUR", items)
    event.coupon = "CHRISTMAS"
serverside.execute(event)
```

{% endtab %}

{% tab title="Java (Android)" %}

```java
TCItem item1 = new TCItem("my_product1_id", new TCProduct("my_product_1_id", "my_product_1_name", 12.5f), 1);
TCItem item2 = new TCItem("my_product2_id", new TCProduct("my_product_2_id", "my_product_2_name", 25.6f), 1);
ArrayList<TCItem> items = new ArrayList<>(Arrays.asList(item1, item2));

TCBeginCheckoutEvent event = new TCBeginCheckoutEvent(1.0f,  2.0f, "EUR", items);
event.coupon = "CHRISTMAS";
serverside.execute(event);
```

{% endtab %}

{% tab title="Objective-C (iOS)" %}

```objectivec
NSMutableArray *items = [[NSMutableArray alloc] init];
[items addObject: [[TCItem alloc] initWithItemId: @"iID1"
                                  withProduct: [[TCProduct alloc] initWithProductId: @"pID1" 
                                  withName: @"pName1" 
                                  withPrice: [[NSDecimalNumber alloc] initWithFloat: 1.5f]]
                                  withQuantity: 1]];
[items addObject: [[TCItem alloc] initWithItemId: @"iID2"
                                  withProduct: [[TCProduct alloc] initWithProductId: @"pID2" 
                                  withName: @"pName2" 
                                  withPrice: [[NSDecimalNumber alloc] initWithFloat: 2.5f]]
                                  withQuantity: 2]];

TCBeginCheckoutEvent *event = [[TCBeginCheckoutEvent alloc] initWithRevenue: [[NSDecimalNumber alloc] initWithString: @"1.1"]
withValue: [[NSDecimalNumber alloc] initWithString: @"12.2"]
withCurrency: @"EUR"
withItems: items];
event.coupon = @"CHRISTMAS";
[TCS execute: event];
```

{% endtab %}

{% tab title="Swift (iOS)" %}

```swift
let item_1:TCItem = TCItem(itemId: "my_item1.id", with: TCProduct(productId: "my_product1.id", withName: "my_product1.name", withPrice: 12.5), withQuantity: 1)
let item_2:TCItem = TCItem(itemId: "my_item2.id", with: TCProduct(productId: "my_product2.id", withName: "my_product2.name", withPrice: 22.5), withQuantity: 1)

let event = TCBeginCheckoutEvent(revenue: 1, withValue: 3, withCurrency: "EUR", withItems: [item_1, item_2])
	serverside?.execute(event)
```

{% endtab %}

{% tab title="Dart (Flutter)" %}

```dart
TCProduct tc_product = TCProduct();
		tc_product.ID = "product_1_ID";
		tc_product.name = "product_1_name";
		tc_product.price = 10;
		tc_product.addAdditionalProperty("key_additional_product", "val_additional_product");
TCItem tc_item_1 = TCItem();
		tc_item_1.ID = "item_1_id";
		tc_item_1.product = tc_product;
		tc_item_1.quantity = 1;
		tc_item_1.addAdditionalProperty("key_additional_item", "val_additional_product");
TCProduct tc_product_2 = TCProduct();
		tc_product_2.ID = "product_2_ID";
		tc_product_2.name = "product_2_name";
		tc_product_2.price = 5.10;
		tc_product_2.addAdditionalProperty("key_additional_product", "val_additional_product");
TCItem tc_item_2 = TCItem();
		tc_item_2.ID = "item_2_id";
		tc_item_2.quantity = 2;
		tc_item_2.product = tc_product;
		tc_item_2.addAdditionalProperty("key_additional_item", "val_additional_product");
var event = TCBeginCheckoutEvent();
    		event.coupon = "CHRISTMAS";
		event.items = [tc_item_1, tc_item_2];
serverside.execute(event);
```

{% endtab %}

{% tab title="json" %}

```json
{
    "event_name": "begin_checkout",
        "id": "O_12345",
        "coupon": "CHRISTMAS",
        "revenue": 16.00,
        "value": 22.53,
        "currency": "EUR",
        "items": [
            {
                "id": "SKU_12345",
                "quantity": 1,
                "price": 9.99,
                "variant": "red",
                "coupon": "CHRISTMAS",
                "discount": 1.99,
                "product": {
                    "id": "12345",
                    "name": "Trex tshirt",
                    "category_1": "clothes",
                    "category_2": "t-shirts",
                    "category_3": "boy",
                    "brand": "Lacoste",
                    "colors": [
                        "red"
                    ],
                    "price": 9.99
                }
            },
            {
                "id": "SKU_12346",
                "quantity": 1,
                "price": 9.99,
                "variant": "green",
                "coupon": "CHRISTMAS",
                "discount": 1.99,
                "product": {
                    "id": "12346",
                    "name": "Heart tshirt",
                    "category_1": "clothes",
                    "category_2": "t-shirts",
                    "category_3": "girl",
                    "brand": "Jenyfion",
                    "colors": [
                        "blue",
                        "white"
                    ],
                    "price": 9.99
                }
            }
        ],
        "user": {
            "id": "12345",
            "email": "toto@domain.fr",
            "consent_categories": [
                1,
                3
            ]
        }
}
```

{% endtab %} {% endtabs %}

## generate\_lead

Enregistrez cet événement lorsqu'un lead a été généré pour comprendre l'efficacité de vos campagnes de réengagement.

**Paramètres (obligatoires et recommandés)**

<table><thead><tr><th width="134">Nom</th><th width="103">Type</th><th width="77">Obligatoire</th><th width="144">Valeur d'exemple</th><th width="288">Description</th></tr></thead><tbody><tr><td><code>value</code></td><td><code>number</code></td><td><strong>Non</strong>*</td><td>9.99</td><td><p>La valeur monétaire de l'événement.\n(<em>)<code>revenue</code> est généralement requis pour des rapports pertinents.</em></p><p><em>(</em>)<code>currency</code> est requise si vous définissez <code>revenue</code>.</p></td></tr><tr><td><code>currency</code></td><td><code>string (ISO 4217)</code></td><td><strong>Non*</strong></td><td>EUR</td><td><p>Devise de l'achat ou des articles associés à l'événement, au format ISO 4217 à 3 lettres.</p><p>(*) Si vous fournissez le <code>revenue</code> paramètre, vous devez également fournir le <code>currency</code> paramètre afin que les métriques de revenu puissent être calculées avec précision.</p></td></tr><tr><td><code>ID</code></td><td><code>string</code></td><td>Non</td><td></td><td>Lead ID</td></tr><tr><td><code>user</code></td><td><a href="#user"><code>Object&#x3C;User></code></a></td><td>Oui</td><td><p><code>{</code><br><code>id: '12345',</code><br><code>email: 'toto@domain.fr',</code></p><p><code>consent_categories: [1,3]</code></p><p><code>}</code></p></td><td><p><code>consent_categories</code> est la liste des consentements de l'utilisateur. Elle est remplie automatiquement à partir des sources web si vous utilisez Commanders Act CMP.</p><p>Vous devriez également ajouter toutes les propriétés de l'utilisateur dans cet objet user, en particulier la clé de rapprochement (id, email).</p></td></tr></tbody></table>

**Exemple**

{% tabs %} {% tab title="Javascript" %}

```javascript
cact('trigger','generate_lead', {
  currency: 'EUR',
  value: 9.99,
  id: 'L_12345',
  user: {
    id: '12356',
    email:'toto@domain.fr',
    consent_categories: [1,3]
  }
});
```

{% endtab %}

{% tab title="Kotlin (Android)" %}

```kotlin
val event = TCGenerateLeadEvent(9.99f, "EUR")
event.ID = "L_12345"
serverside.execute(event)
```

{% endtab %}

{% tab title="Java (Android)" %}

```java
TCGenerateLeadEvent event = new TCGenerateLeadEvent(9.99f, "EUR");
event.ID = "L_12345";
serverside.execute(event);
```

{% endtab %}

{% tab title="iOS" %}

```objectivec
TCGenerateLeadEvent *event = [[TCGenerateLeadEvent alloc] initWithValue: [[NSDecimalNumber alloc] initWithString: @"12.2"]
withCurrency: @"EUR"];
event.ID = @"2b758628-f81b-454f-8e3d-867e8bc98523";
[TCS execute: event];
```

{% endtab %}

{% tab title="Swift" %}

```swift
let event = TCGenerateLeadEvent(value: 1, withCurrency: "EUR")
    event?.ID = "2b758628-f81b-454f-8e3d-867e8bc98523";
    serverside.execute(event)
```

{% endtab %}

{% tab title="Flutter" %}

```dart
var event = TCGenerateLeadEvent();
    event.currency = "EUR";
    event.value = 9.99;
    event.ID = "2b758628-f81b-454f-8e3d-867e8bc98523";
serverside.execute(event);
```

{% endtab %}

{% tab title="json" %}

```json
{
    "event_name": "generate_lead",
        "method": "LinkedIn"
}
```

{% endtab %} {% endtabs %}

## purchase

Déclenchez cet événement lorsqu'un ou plusieurs articles sont achetés par un utilisateur.

#### Paramètres **(obligatoire et recommandé)** <a href="#parameters_17" id="parameters_17"></a>

<table><thead><tr><th width="160">Nom</th><th width="99">Type</th><th width="80">Obligatoire</th><th width="157">Exemple</th><th>Description</th></tr></thead><tbody><tr><td><code>ID</code></td><td><code>string</code></td><td><strong>Oui</strong></td><td>O_1245</td><td>ID de transaction. Utilisé comme clé pour les mises à jour</td></tr><tr><td><code>user</code></td><td><a href="#user"><code>Object&#x3C;User></code></a></td><td><strong>Oui</strong></td><td><p><code>{</code><br><code>id: '12345',</code><br><code>email: 'toto@domain.fr',</code></p><p><code>consent_categories: [1,3]</code></p><p><code>}</code></p></td><td><p>Toutes les propriétés que vous ajoutez ici seront utilisées comme conditions pour faire correspondre les utilisateurs dans notre base de données.</p><p><code>cosent_categories</code> est automatiquement rempli si vous utilisez Commanders Act CMP.</p></td></tr><tr><td><code>revenue</code></td><td><code>number</code></td><td><strong>Oui</strong></td><td>16.00</td><td>La valeur monétaire de l'événement (prix de livraison et taxes <strong>exclus</strong>) après remise</td></tr><tr><td><code>value</code></td><td><code>number</code></td><td><strong>Oui</strong></td><td>22.53</td><td>La valeur monétaire de l'événement (prix de livraison et taxes <strong>inclus</strong>) après remise</td></tr><tr><td><code>shipping_amount</code></td><td><code>number</code></td><td>Non</td><td>3.33</td><td>Coût de livraison associé à une transaction.</td></tr><tr><td><code>tax_amount</code></td><td><code>number</code></td><td>Non</td><td>3.20</td><td>Taxe associée à une transaction.</td></tr><tr><td><code>currency</code></td><td><code>string (ISO 4217)</code></td><td><strong>Oui</strong></td><td>EUR</td><td>Devise de l'achat ou des articles associés à l'événement, au format ISO 4217 à 3 lettres.</td></tr><tr><td><code>coupon</code></td><td><code>string</code></td><td>Non</td><td>CHRISTMAS</td><td>Code promo utilisé pour un achat.</td></tr><tr><td><code>type</code></td><td><code>string</code></td><td><strong>Oui</strong></td><td>offline</td><td>Type de conversion (online, offline, call, etc.)</td></tr><tr><td><code>items</code></td><td><a href="#items"><code>Array&#x3C;Items></code></a></td><td><strong>Oui</strong></td><td></td><td>Les articles de l'événement.</td></tr><tr><td><code>payment_method</code></td><td><code>string</code></td><td><strong>Oui</strong></td><td>card</td><td>Type de méthode de paiement (voir la liste des <a href="#payment-methods">valeurs possibles</a> ci-dessous)</td></tr><tr><td><code>status</code></td><td><code>string</code></td><td><strong>Oui</strong></td><td>in_progress</td><td>Statut de la conversion (voir la liste des <a href="#purchase-status">valeurs possibles</a> ci-dessous).<br><em>Les conversions avec le statut "pending" ne sont pas incluses dans la somme et les comptages par défaut agrégés dans la fonctionnalité d'attributs utilisateur enrichis</em></td></tr><tr><td><code>last_channel</code></td><td><code>string</code></td><td>Non</td><td>display</td><td>Le dernier canal juste avant l'achat.</td></tr><tr><td><code>last_source</code></td><td><code>string</code></td><td>Non</td><td>google.com</td><td>La dernière source (referrer) juste avant l'achat.</td></tr></tbody></table>

**Ajouté automatiquement par l'API cact**

| Nom   | Type        | Obligatoire | Exemple | Description                                                                                      |
| ----- | ----------- | ----------- | ------- | ------------------------------------------------------------------------------------------------ |
| `url` | string(url) | Non         | aucun   | <p>URL du site web où vous pouvez acheter l'article</p><p>Équivalent à window\.location.href</p> |

**Exemple**

{% tabs %} {% tab title="Javascript" %}

```javascript
cact('trigger','purchase', {
  id: 'O_12345',
  coupon: 'CHRISTMAS',
  revenue: 16.00,
  value: 20.33,
  shipping_amount: 3.33,
  tax_amount: 3.20,
  currency: 'EUR',
  user: {
    id: '12356',
    email:'toto@domain.fr'
  },
  items: [{
    id: 'SKU_12345',
    quantity: 1,
    price: 9.99,
    variant: 'red',
    coupon: 'CHRISTMAS',
    discount: 1.99,
    product:{
      id: '12345',
      name: 'Trex tshirt',
      category_1: 'clothes',
      category_2: 't-shirts',
      category_3: 'boy',
      brand: 'Lacoste',
      colors: ['red'],
      price: 9.99
    }
  }, {
    id: 'SKU_12346',
    quantity: 1,
    price: 9.99,
    variant: 'green',
    coupon: 'CHRISTMAS',
    discount: 1.99,
    product:{
      id: '12346',
      name: 'Heart tshirt',
      category_1: 'clothes',
      category_2: 't-shirts',
      category_3: 'girl',
      brand: 'Jenyfion',
      colors: ['blue','white'],
      price: 9.99
    }
  }]
})
```

{% endtab %}

{% tab title="Kotlin (Android)" %}

```kotlin
val item1 = TCItem("my_product1_id", TCProduct("my_product_1_id", "my_product_1_name", 12.5f), 1)
val item2 = TCItem("my_product2_id", TCProduct("my_product_2_id", "my_product_2_name", 110f), 1)
val items = listOf<TCItem>(item1, item2)

val event = TCPurchaseEvent("O_12345", 16.0f,  22.53f, "EUR", "purchase", "CreditCard", "waiting", items)
    event.shippingAmount = 3.33f
    event.taxAmount = 3.20f
serverside.execute(event)
```

{% endtab %}

{% tab title="Java (Android)" %}

```java
TCItem item1 = new TCItem("my_product1_id", new TCProduct("my_product_1_id", "my_product_1_name", 12.5f), 1);
TCItem item2 = new TCItem("my_product2_id", new TCProduct("my_product_2_id", "my_product_2_name", 25.6f), 1);
ArrayList<TCItem> items = new ArrayList<>(Arrays.asList(item1, item2));

TCPurchaseEvent event = new TCPurchaseEvent("O_12345", 16.0f,  22.53f, "EUR", "purchase", "CreditCard", "waiting", items);
event.shippingAmount = 3.33f;
event.taxAmount = 3.20f;
serverside.execute(event);
```

{% endtab %}

{% tab title="iOS" %}

```objectivec
NSMutableArray *items = [[NSMutableArray alloc] init];
[items addObject: [[TCItem alloc] initWithItemId: @"iID1" 
                                  withProduct: [[TCProduct alloc] initWithProductId: @"pID1"
                                  withName: @"pName1"
                                  withPrice: [[NSDecimalNumber alloc] initWithString: @"1.5"]]
                                  withQuantity: 1]];
[items addObject: [[TCItem alloc] initWithItemId: @"iID2"
                                  withProduct: [[TCProduct alloc] initWithProductId: @"pID2"
                                  withName: @"pName2"
                                  withPrice: [[NSDecimalNumber alloc] initWithFloat: 2.5f]]
                                  withQuantity: 2]];

TCPurchaseEvent *event = [[TCPurchaseEvent alloc] initWithId: @"ID"
withRevenue: [[NSDecimalNumber alloc] initWithString: @"1.1"]
withValue: [[NSDecimalNumber alloc] initWithString: @"12.2"]
withCurrency: @"EUR"
withType: @"purchase"
withPaymentMethod: @"CreditCard"
withStatus: @"waiting"
withItems: items];

[TCS execute: event];
```

{% endtab %}

{% tab title="Swift" %}

```swift
let item_1:TCItem = TCItem(itemId: "my_item1.id", with: TCProduct(productId: "my_product1.id", withName: "my_product1.name", withPrice: 12.5), withQuantity: 1)
let item_2:TCItem = TCItem(itemId: "my_item2.id", with: TCProduct(productId: "my_product2.id", withName: "my_product2.name", withPrice: 22.5), withQuantity: 1)

let event = TCPurchaseEvent(id: "purchaseID", withRevenue: 16.21, withValue: 23.10, withCurrency: "EUR", withType: "purchase", withPaymentMethod: "CreditCard", withStatus: "waiting", withItems: [item_1, item_2])
	serverside?.execute(event)
```

{% endtab %}

{% tab title="Dart (Flutter)" %}

```dart
TCProduct tc_product = TCProduct();
		tc_product.ID = "product_1_ID";
		tc_product.name = "product_1_name";
		tc_product.price = 10;
		tc_product.addAdditionalProperty("key_additional_product", "val_additional_product");
TCItem tc_item_1 = TCItem();
		tc_item_1.ID = "item_1_id";
		tc_item_1.product = tc_product;
		tc_item_1.quantity = 1;
		tc_item_1.addAdditionalProperty("key_additional_item", "val_additional_product");
TCProduct tc_product_2 = TCProduct();
		tc_product_2.ID = "product_2_ID";
		tc_product_2.name = "product_2_name";
		tc_product_2.price = 5.10;
		tc_product_2.addAdditionalProperty("key_additional_product", "val_additional_product");
TCItem tc_item_2 = TCItem();
		tc_item_2.ID = "item_2_id";
		tc_item_2.quantity = 2;
		tc_item_2.product = tc_product;
		tc_item_2.addAdditionalProperty("key_additional_item", "val_additional_product");
var event = TCPurchaseEvent();
    		event.shippingAmount = 3.33;
    		event.taxAmount = 3.20;
    		event.revenue = 2.5;
		event.value = 12.2;
		event.currency = "EUR";
		event.type = "purchase";
		event.paymentMethod = "CreditCard";
		event.status = "waiting";
		event.items = [tc_item_1, tc_item_2];
serverside.execute(event);
```

{% endtab %}

{% tab title="json" %}

```json
{
    "event_name": "purchase",
        "id": "O_12345",
        "coupon": "CHRISTMAS",
        "revenue": 16.00,
        "value": 22.53,
        "shipping_amount": 3.33,
        "tax_amount": 3.20,
        "currency": "EUR",
        "items": [
            {
                "id": "SKU_12345",
                "quantity": 1,
                "price": 9.99,
                "variant": "red",
                "coupon": "CHRISTMAS",
                "discount": 1.99,
                "product": {
                    "id": "12345",
                    "name": "Trex tshirt",
                    "category_1": "clothes",
                    "category_2": "t-shirts",
                    "category_3": "boy",
                    "brand": "Lacoste",
                    "colors": [
                        "red"
                    ],
                    "price": 9.99
                }
            },
            {
                "id": "SKU_12346",
                "quantity": 1,
                "price": 9.99,
                "variant": "green",
                "coupon": "CHRISTMAS",
                "discount": 1.99,
                "product": {
                    "id": "12346",
                    "name": "Heart tshirt",
                    "category_1": "clothes",
                    "category_2": "t-shirts",
                    "category_3": "girl",
                    "brand": "Jenyfion",
                    "colors": [
                        "blue",
                        "white"
                    ],
                    "price": 9.99
                }
            }
        ],
        "user": {
            "id": "12345",
            "email": "toto@domain.fr",
            "consent_categories": [
                1,
                3
            ]
        }
}
```

{% endtab %} {% endtabs %}

## refund

Déclenchez cet événement lorsqu'un achat a été remboursé

#### Paramètres **(obligatoire et recommandé)** <a href="#parameters_17" id="parameters_17"></a>

<table><thead><tr><th width="182">Nom</th><th width="99">Type</th><th width="76">Obligatoire</th><th width="154">Exemple</th><th>Description</th></tr></thead><tbody><tr><td><code>ID</code></td><td><code>string</code></td><td><strong>Oui</strong></td><td>O_1245</td><td>ID de transaction. Utilisé comme clé pour les mises à jour</td></tr><tr><td><code>user</code></td><td><a href="#user"><code>Object&#x3C;User></code></a></td><td>Oui</td><td><p><code>{</code><br><code>id: '12345',</code><br><code>email: 'toto@domain.fr',</code></p><p><code>consent_categories: [1,3]</code></p><p><code>}</code></p></td><td><p>Toutes les propriétés que vous ajoutez ici seront utilisées comme conditions pour faire correspondre les utilisateurs dans notre base de données.</p><p><code>cosent_categories</code> est automatiquement rempli si vous utilisez Commanders Act CMP.</p></td></tr><tr><td><code>revenue</code></td><td><code>number</code></td><td><strong>Oui</strong></td><td>16.00</td><td>La valeur monétaire de l'événement (prix de livraison et taxes <strong>exclus</strong>) après remise</td></tr><tr><td><code>value</code></td><td><code>number</code></td><td><strong>Oui</strong></td><td>22.53</td><td>La valeur monétaire de l'événement (prix de livraison et taxes <strong>inclus</strong>) après remise</td></tr><tr><td><code>shipping_amount</code></td><td><code>number</code></td><td>Non</td><td>3.33</td><td>Coût de livraison associé à une transaction.</td></tr><tr><td><code>tax_amount</code></td><td><code>number</code></td><td>Non</td><td>3.20</td><td>Coût de livraison associé à une transaction.</td></tr><tr><td><code>currency</code></td><td><code>string (ISO 4217)</code></td><td><strong>Oui</strong></td><td>EUR</td><td>Devise de l'achat ou des articles associés à l'événement, au format ISO 4217 à 3 lettres.</td></tr><tr><td><code>coupon</code></td><td><code>string</code></td><td>Non</td><td>CHRISTMAS</td><td>Code promo utilisé pour un achat.</td></tr><tr><td><code>type</code></td><td><code>string</code></td><td><strong>Oui</strong></td><td>offline</td><td>Type de conversion (online, offline, call, etc.)</td></tr><tr><td><code>items</code></td><td><a href="#items"><code>Array&#x3C;Items></code></a></td><td>Non*</td><td></td><td>(*) <code>items</code> est requis pour les remboursements partiels, mais peut être omis pour les remboursements complets.</td></tr></tbody></table>

**Ajouté automatiquement par l'API cact**

<table><thead><tr><th width="128">Nom</th><th width="115">Type</th><th width="103">Obligatoire</th><th>Exemple</th><th>Description</th></tr></thead><tbody><tr><td><code>url</code></td><td>string(url)</td><td>Non</td><td>aucun</td><td><p>URL du site web où vous pouvez acheter l'article</p><p>Équivalent à window.location.href</p></td></tr></tbody></table>

**Exemple**

{% tabs %} {% tab title="Javascript" %}

```javascript
cact('trigger','refund', {
  id: 'O_12345',
  coupon: 'CHRISTMAS',
  revenue: 16.00,
  value: 20.33,
  shipping_amount: 3.33,
  tax_amount: 3.20,
  currency: 'EUR',
  user: {
    id: '12356',
    email:'toto@domain.fr',
    consent_categories: [1,3]
  }
})
```

{% endtab %}

{% tab title="Kotlin (Android)" %}

```kotlin
val event = TCRefundEvent("O_12345", 16.00f, 23.53f, "EUR", "offline")
    event.coupon = "CHRISTMAS"
    event.shippingAmount = 4.33f
    event.taxAmount = 3.20f
serverside.execute(event)
```

{% endtab %}

{% tab title="Java (Android)" %}

```java
TCRefundEvent event = new TCRefundEvent("O_12345", 16.00f, 23.53f, "EUR", "offline");
event.coupon = "CHRISTMAS";
event.shippingAmount = 4.33f;
event.taxAmount = 3.20f;
serverside.execute(event);
```

{% endtab %}

{% tab title="Objective-C (iOS)" %}

```objectivec
NSMutableArray *items = [[NSMutableArray alloc] init];
[items addObject: [[TCItem alloc] initWithItemId: @"iID1"
                                  withProduct: [[TCProduct alloc] initWithProductId: @"pID1"
                                  withName: @"pName1"
                                  withPrice: [[NSDecimalNumber alloc] initWithFloat: 1.5f]]
                                  withQuantity: 1]];
[items addObject: [[TCItem alloc] initWithItemId: @"iID2"
                                  withProduct: [[TCProduct alloc] initWithProductId: @"pID2"
                                  withName: @"pName2"
                                  withPrice: [[NSDecimalNumber alloc] initWithFloat: 2.5f]]
                                  withQuantity: 2]];

TCRefundEvent *event = [[TCRefundEvent alloc] initWithID: @"2b758628-f81b-454f-8e3d-867e8bc98523"
withRevenue: [[NSDecimalNumber alloc] initWithString: @"20.2"]
withValue: [[NSDecimalNumber alloc] initWithString: @"26.2"]
withCurrency: @"EUR"
withType: @"offline"
withItems: items];

[TCS execute: event];
```

{% endtab %}

{% tab title="Swift (iOS)" %}

```swift
let item_1:TCItem = TCItem(itemId: "my_item1.id", with: TCProduct(productId: "my_product1.id", withName: "my_product1.name", withPrice: 12.5), withQuantity: 1)
let item_2:TCItem = TCItem(itemId: "my_item2.id", with: TCProduct(productId: "my_product2.id", withName: "my_product2.name", withPrice: 22.5), withQuantity: 1)

let event = TCRefundEvent(id: "purchaseID", withRevenue: 16.32, withValue: 23.1, withCurrency: "EUR", withType: "refund", withItems: [item_1, item_2])
	event?.shippingAmount = 11
	serverside?.execute(event)
```

{% endtab %}

{% tab title="Dart (Flutter)" %}

```dart
var event = TCRefundEvent();
    event.currency = "EUR";
    event.value = 26.20;
    event.revenue = 20.20;
    event.coupon = "CHRISTMAS";
    event.shippingAmount = 4.33;
    event.taxAmount = 3.20;
    event.type = "offline";    
serverside.execute(event);
```

{% endtab %}

{% tab title="json" %}

```json
{
    "event_name": "refund",
        "value": 8.00,
        "currency": "EUR",
        "revenue": 16.00,
        "shipping_amount": 3.33,
        "tax_amount": 3.20
}
```

{% endtab %} {% endtabs %}

## remove\_from\_cart

Cet événement signifie qu'un article a été retiré d'un panier.

**Paramètres (obligatoires et recommandés)**

<table><thead><tr><th width="146">Nom</th><th width="103">Type</th><th width="106">Obligatoire</th><th>Valeur d'exemple</th><th>Description</th></tr></thead><tbody><tr><td><code>value</code></td><td><code>number</code></td><td>Non</td><td>8.00</td><td><p>La valeur monétaire de l'événement.\n(<em>)<code>value</code> est généralement requis pour des rapports pertinents.</em></p><p><em>(</em>)<code>currency</code> est requise si vous définissez <code>value</code>.</p></td></tr><tr><td><code>currency</code></td><td><code>string (ISO 4217)</code></td><td>Non</td><td>EUR</td><td><p>Devise de l'achat ou des articles associés à l'événement, au format ISO 4217 à 3 lettres.</p><p>(*) Si vous fournissez le <code>revenue</code> paramètre, vous devez également fournir le <code>currency</code> paramètre afin que les métriques de revenu puissent être calculées avec précision.</p></td></tr><tr><td><code>user</code></td><td><a href="#user"><code>Object&#x3C;User></code></a></td><td>Oui</td><td><p><code>{</code><br><code>id: '12345',</code><br><code>email: 'toto@domain.fr',</code></p><p><code>consent_categories: [1,3]</code></p><p><code>}</code></p></td><td><p><code>consent_categories</code> est la liste des consentements de l'utilisateur. Elle est remplie automatiquement à partir des sources web si vous utilisez Commanders Act CMP.</p><p>Vous devriez également ajouter toutes les propriétés de l'utilisateur dans cet objet user, en particulier la clé de rapprochement (id, email).</p></td></tr><tr><td><code>items</code></td><td><a href="#items"><code>Array&#x3C;Items></code></a></td><td><strong>Oui</strong></td><td></td><td>Les articles de l'événement.</td></tr></tbody></table>

**Exemple**

{% tabs %} {% tab title="JavaScript" %}

```javascript
cact('trigger','remove_from_cart', {
  value: 8.00,
  currency: 'EUR',
  items: [{
    id: 'SKU_12345',
    quantity: 1,
    variant: 'red',
    coupon: 'CHRISTMAS',
    discount: 1.99,
    product:{
      id: '12345',
      name: 'Trex tshirt',
      category_1: 'clothes',
      category_2: 't-shirts',
      category_3: 'boy',
      brand: 'Lacoste',
      price: 9.99
    }
  }],
  user: {
    id: '12356',
    email:'toto@domain.fr',
    consent_categories: [1,3]
  }
});
```

{% endtab %}

{% tab title="Kotlin (Android)" %}

```kotlin
val item1 = TCItem("my_product1_id", TCProduct("my_product_1_id", "my_product_1_name", 12.5f), 1)
val item2 = TCItem("my_product2_id", TCProduct("my_product_2_id", "my_product_2_name", 110f), 1)
val items = listOf<TCItem>(item1, item2)
val event = TCRemoveFromCartEvent(items)
serverside.execute(event)
```

{% endtab %}

{% tab title="Java (Android)" %}

```java
TCItem item1 = new TCItem("my_product1_id", new TCProduct("my_product_1_id", "my_product_1_name", 12.5f), 1);
TCItem item2 = new TCItem("my_product2_id", new TCProduct("my_product_2_id", "my_product_2_name", 25.6f), 1);
ArrayList<TCItem> items = new ArrayList<>(Arrays.asList(item1, item2));

TCRemoveFromCartEvent event = new TCRemoveFromCartEvent(items);
serverside.execute(event);
```

{% endtab %}

{% tab title="Objective-C (iOS)" %}

```objectivec
NSMutableArray *items = [[NSMutableArray alloc] init];
[items addObject: [[TCItem alloc] initWithItemId: @"iID1"
                                  withProduct: [[TCProduct alloc] initWithProductId: @"pID1" 
                                  withName: @"pName1"
                                  withPrice: [[NSDecimalNumber alloc] initWithFloat: 1.5f]]
                                  withQuantity: 1]];
[items addObject: [[TCItem alloc] initWithItemId: @"iID2"
                                  withProduct: [[TCProduct alloc] initWithProductId: @"pID2"
                                  withName: @"pName2"
                                  withPrice: [[NSDecimalNumber alloc] initWithFloat: 2.5f]]
                                  withQuantity: 2]];

TCRemoveFromCartEvent *event = [[TCRemoveFromCartEvent alloc] initWithItems: items];
event.value = [[NSDecimalNumber alloc] initWithString: @"12.2"];
event.currency = @"EUR";
[TCS execute: event];
```

{% endtab %}

{% tab title="Swift (iOS)" %}

```swift
let item_1:TCItem = TCItem(itemId: "my_item1.id", with: TCProduct(productId: "my_product1.id", withName: "my_product1.name", withPrice: 12.5), withQuantity: 1)
let item_2:TCItem = TCItem(itemId: "my_item2.id", with: TCProduct(productId: "my_product2.id", withName: "my_product2.name", withPrice: 22.5), withQuantity: 1)

let event = TCRemoveFromCartEvent(items: [item_1, item_2])
	event?.value = 22.53
	serverside?.execute(event)
```

{% endtab %}

{% tab title="Dart (Flutter)" %}

```dart
TCProduct tc_product = TCProduct();
		tc_product.ID = "product_1_ID";
		tc_product.name = "product_1_name";
		tc_product.price = 10;
		tc_product.addAdditionalProperty("key_additional_product", "val_additional_product");
TCItem tc_item_1 = TCItem();
		tc_item_1.ID = "item_1_id";
		tc_item_1.product = tc_product;
		tc_item_1.quantity = 1;
		tc_item_1.addAdditionalProperty("key_additional_item", "val_additional_product");
var event = TCRemoveFromCartEvent();
		event.value = 15.1;
		event.currency = "EUR";		
		event.items = [tc_item_1];
serverside.execute(event);
```

{% endtab %}

{% tab title="json" %}

```json
{
    "event_name": "remove_from_cart",
        "value": 8.00,
        "currency": "EUR",
        "items": [
            {
                "id": "SKU_12345",
                "quantity": 1,
                "price": 9.99,
                "variant": "red",
                "coupon": "CHRISTMAS",
                "discount": 1.99,
                "product": {
                    "id": "12345",
                    "name": "Trex tshirt",
                    "category_1": "clothes",
                    "category_2": "t-shirts",
                    "category_3": "boy",
                    "brand": "Lacoste",
                    "colors": [
                        "red"
                    ]
                }
            }
        ]
}
```

{% endtab %} {% endtabs %}

## select\_item

Cet événement signifie qu'un article a été sélectionné dans une liste.

#### Paramètres <a href="#parameters_23" id="parameters_23"></a>

<table><thead><tr><th width="192">Nom</th><th width="105">Type</th><th width="71">Obligatoire</th><th width="118">Valeur d'exemple</th><th>Description</th></tr></thead><tbody><tr><td><code>item_list_name</code></td><td><code>string</code></td><td>Non</td><td>Produits associés</td><td>Le nom de la liste dans laquelle l'article a été présenté à l'utilisateur.</td></tr><tr><td><code>items</code></td><td><a href="#items"><code>Array&#x3C;Items></code></a></td><td><strong>Oui</strong></td><td></td><td>Les articles pour l'événement. Le <code>items</code> tableau est censé contenir un seul élément, représentant l'article sélectionné.</td></tr></tbody></table>

**Exemple**

{% tabs %} {% tab title="JavaScript" %}

```javascript
cact('trigger','select_item', {
  item_list_name: 'Produits associés',
  items: [{
    id: 'SKU_12345',
    quantity: 1,
    variant: 'red',
    coupon: 'CHRISTMAS',
    discount: 1.99,
    product:{
      id: '12345',
      name: 'Trex tshirt',
      category_1: 'clothes',
      category_2: 't-shirts',
      category_3: 'boy',
      brand: 'Lacoste',
      price: 9.99
    }
  }],
  user: {
    id: '12356',
    email:'toto@domain.fr',
    consent_categories: [1,3]
  }
});
```

{% endtab %}

{% tab title="Kotlin (Android)" %}

<pre class="language-kotlin"><code class="lang-kotlin">val item1 = TCItem("my_product1_id", TCProduct("my_product_1_id", "my_product_1_name", 12.5f), 1)
val item2 = TCItem("my_product2_id", TCProduct("my_product_2_id", "my_product_2_name", 110f), 1)
val items = listOf&#x3C;TCItem>(item1, item2)

val event = TCSelectItemEvent(items)
<strong>    event.itemListName = "Produits associés"
</strong>serverside.execute(event
</code></pre>

{% endtab %}

{% tab title="Java (Android)" %}

```java
TCSelectContentEvent event = new TCSelectContentEvent();
event.contentType = "product";
serverside.execute(event);
```

{% endtab %}

{% tab title="Objective-C (iOS)" %}

```objectivec
NSMutableArray *items = [[NSMutableArray alloc] init];
[items addObject: [[TCItem alloc] initWithItemId: @"iID1"
                                  withProduct: [[TCProduct alloc] initWithProductId: @"pID1" 
                                  withName: @"pName1" 
                                  withPrice:[[NSDecimalNumber alloc] initWithFloat: 1.5f]]
                                  withQuantity: 1]];

TCSelectItemEvent *event = [[TCSelectItemEvent alloc] initWithItems: items];
event.itemListName = @"Produits associés";

[TCS execute: event];
```

{% endtab %}

{% tab title="Swift (iOS)" %}

```swift
let item_1:TCItem = TCItem(itemId: "my_item1.id", with: TCProduct(productId: "my_product1.id", withName: "my_product1.name", withPrice: 12.5), withQuantity: 1)
let item_2:TCItem = TCItem(itemId: "my_item2.id", with: TCProduct(productId: "my_product2.id", withName: "my_product2.name", withPrice: 22.5), withQuantity: 1)

let event = TCSelectItemEvent(items: [item_1, item_2])
	event.itemListName = "Produits associés";
	serverside?.execute(event)
```

{% endtab %}

{% tab title="Dart (Flutter)" %}

```dart
TCProduct tc_product = TCProduct();
		tc_product.ID = "product_1_ID";
		tc_product.name = "product_1_name";
		tc_product.price = 150;
		tc_product.addAdditionalProperty("key_additional_product", "val_additional_product");
TCItem tc_item_1 = TCItem();
		tc_item_1.ID = "item_1_id";
		tc_item_1.product = tc_product;
		tc_item_1.quantity = 1;
		tc_item_1.addAdditionalProperty("key_additional_item", "val_additional_product");
var event = TCSelectItemEvent();
		event.itemListName = "Produits associés";
		event.items = [tc_item_1];
serverside.execute(event);
```

{% endtab %}

{% tab title="json" %}

```json
{
    "event_name": "select_item",
        "item_list_name": "Produits associés",
        "items": [
            {
                "id": "SKU_12345",
                "quantity": 1,
                "price": 9.99,
                "variant": "red",
                "coupon": "CHRISTMAS",
                "discount": 1.99,
                "product": {
                    "id": "12345",
                    "name": "Trex tshirt",
                    "category_1": "clothes",
                    "category_2": "t-shirts",
                    "category_3": "boy",
                    "brand": "Lacoste",
                    "colors": [
                        "red"
                    ]
                }
            }
        ]
}
```

{% endtab %} {% endtabs %}

## view\_cart

Cet événement signifie qu'un utilisateur a consulté son panier.

**Paramètres (obligatoires et recommandés)**

<table><thead><tr><th width="147">Nom</th><th width="102">Type</th><th width="76">Obligatoire</th><th width="163">Valeur d'exemple</th><th>Description</th></tr></thead><tbody><tr><td><code>value</code></td><td><code>number</code></td><td>Non</td><td>8.00</td><td><p>La valeur monétaire de l'événement.\n(<em>)<code>value</code> est généralement requis pour des rapports pertinents.</em></p><p><em>(</em>)<code>currency</code> est requise si vous définissez <code>value</code>.</p></td></tr><tr><td><code>currency</code></td><td><code>string (ISO 4217)</code></td><td>Non</td><td>EUR</td><td><p>Devise de l'achat ou des articles associés à l'événement, au format ISO 4217 à 3 lettres.</p><p>(*) Si vous fournissez le <code>revenue</code> paramètre, vous devez également fournir le <code>currency</code> paramètre afin que les métriques de revenu puissent être calculées avec précision.</p></td></tr><tr><td><code>user</code></td><td><a href="#user"><code>Object&#x3C;User></code></a></td><td>Oui</td><td><p><code>{</code><br><code>id: '12345',</code><br><code>email: 'toto@domain.fr',</code></p><p><code>consent_categories: [1,3]</code></p><p><code>}</code></p></td><td><p><code>consent_categories</code> est la liste des consentements de l'utilisateur. Elle est remplie automatiquement à partir des sources web si vous utilisez Commanders Act CMP.</p><p>Vous devriez également ajouter toutes les propriétés de l'utilisateur dans cet objet user, en particulier la clé de rapprochement (id, email).</p></td></tr><tr><td><code>items</code></td><td><a href="#items"><code>Array&#x3C;Items></code></a></td><td><strong>Oui</strong></td><td></td><td>Les articles de l'événement.</td></tr></tbody></table>

**Exemple**

{% tabs %} {% tab title="JavaScript" %}

```javascript
cact('trigger','view_cart', {
  value: 8.00,
  currency: 'EUR',
  items: [{
    id: 'SKU_12345',
    quantity: 1,
    variant: 'red',
    coupon: 'CHRISTMAS',
    discount: 1.99,
    product:{
      id: '12345',
      name: 'Trex tshirt',
      category_1: 'clothes',
      category_2: 't-shirts',
      category_3: 'boy',
      brand: 'Lacoste',
      price: 9.99
    }
  }],
  user: {
    id: '12356',
    email:'toto@domain.fr',
    consent_categories: [1,3]
  }
});
```

{% endtab %}

{% tab title="Kotlin (Android)" %}

```kotlin
val item1 = TCItem("my_product1_id", TCProduct("my_product_1_id", "my_product_1_name", 12.5f), 1)
val item2 = TCItem("my_product2_id", TCProduct("my_product_2_id", "my_product_2_name", 110f), 1)
val items = listOf<TCItem>(item1, item2)

val event = TCViewCartEvent(items);
    event.value = 15.1f
    event.currency = "EUR"
serverside.execute(event);
```

{% endtab %}

{% tab title="Java (Android)" %}

```java
TCItem item1 = new TCItem("my_product1_id", new TCProduct("my_product_1_id", "my_product_1_name", 12.5f), 1);
TCItem item2 = new TCItem("my_product2_id", new TCProduct("my_product_2_id", "my_product_2_name", 25.6f), 1);
ArrayList<TCItem> items = new ArrayList<>(Arrays.asList(item1, item2));

TCViewCartEvent event = new TCViewCartEvent(items);
event.value = 15.1f;
event.currency = "EUR";
serverside.execute(event);
```

{% endtab %}

{% tab title="Objective-C (iOS)" %}

```objectivec
NSMutableArray *items = [[NSMutableArray alloc] init];
[items addObject: [[TCItem alloc] initWithItemId: @"iID1"
                                  withProduct: [[TCProduct alloc] initWithProductId: @"pID1" 
                                  withName: @"pName1" 
                                  withPrice: [[NSDecimalNumber alloc] initWithString: @"1.5"]]
                                  withQuantity: 1]];

TCViewCartEvent *event = [[TCViewCartEvent alloc] initWithItems: items];
event.value = [[NSDecimalNumber alloc] initWithString: @"12.2"];
event.currency = @"EUR";

[TCS execute: event];
```

{% endtab %}

{% tab title="Swift (iOS)" %}

```swift
let item_1:TCItem = TCItem(itemId: "my_item1.id", with: TCProduct(productId: "my_product1.id", withName: "my_product1.name", withPrice: 12.5), withQuantity: 1)
let item_2:TCItem = TCItem(itemId: "my_item2.id", with: TCProduct(productId: "my_product2.id", withName: "my_product2.name", withPrice: 22.5), withQuantity: 1)

let event = TCViewCartEvent(items: [item_1, item_2])
	event?.value = 22.53
	serverside?.execute(event)
```

{% endtab %}

{% tab title="Dart (Flutter)" %}

```dart
TCProduct tc_product = TCProduct();
		tc_product.ID = "product_1_ID";
		tc_product.name = "product_1_name";
		tc_product.price = 10;
		tc_product.addAdditionalProperty("key_additional_product", "val_additional_product");
TCItem tc_item_1 = TCItem();
		tc_item_1.ID = "item_1_id";
		tc_item_1.product = tc_product;
		tc_item_1.quantity = 1;
		tc_item_1.addAdditionalProperty("key_additional_item", "val_additional_product");
TCProduct tc_product_2 = TCProduct();
		tc_product_2.ID = "product_2_ID";
		tc_product_2.name = "product_2_name";
		tc_product_2.price = 5.10;
		tc_product_2.addAdditionalProperty("key_additional_product", "val_additional_product");
TCItem tc_item_2 = TCItem();
		tc_item_2.ID = "item_2_id";
		tc_item_2.quantity = 2;
		tc_item_2.product = tc_product;
		tc_item_2.addAdditionalProperty("key_additional_item", "val_additional_product");

var event = TCViewCartEvent();
	event.value = 15.1;
	event.currency = "EUR";
	event.items = [tc_item_1, tc_item_2	
serverside.execute(event);
```

{% endtab %}

{% tab title="json" %}

```json
{
    "event_name": "view_cart",
        "value": 8.00,
        "currency": "EUR",
        "items": [
            {
                "id": "SKU_12345",
                "quantity": 1,
                "price": 9.99,
                "variant": "red",
                "coupon": "CHRISTMAS",
                "discount": 1.99,
                "product": {
                    "id": "12345",
                    "name": "Trex tshirt",
                    "category_1": "clothes",
                    "category_2": "t-shirts",
                    "category_3": "boy",
                    "brand": "Lacoste",
                    "colors": [
                        "red"
                    ]
                }
            }
        ]
}
```

{% endtab %} {% endtabs %}

## view\_item

Cet événement signifie qu’un contenu a été affiché à l’utilisateur. Utilisez cet événement pour gérer les articles les plus consultés.

**Paramètres (obligatoires et recommandés)**

<table><thead><tr><th width="139">Nom</th><th width="101">Type</th><th width="82">Obligatoire</th><th width="157">Valeur d'exemple</th><th>Description</th></tr></thead><tbody><tr><td><code>revenue</code></td><td><code>number</code></td><td><strong>Oui</strong>*</td><td>9.99</td><td><p>La valeur monétaire de l'événement.\n(<em>)<code>revenue</code> est généralement requis pour des rapports pertinents.</em></p><p><em>(</em>)<code>currency</code> est requise si vous définissez <code>revenue</code>.</p></td></tr><tr><td><code>currency</code></td><td><code>string (ISO 4217)</code></td><td><strong>Oui*</strong></td><td>EUR</td><td>Devise de l'achat ou des articles associés à l'événement, au format ISO 4217 à 3 lettres.</td></tr><tr><td><code>user</code></td><td><a href="#user"><code>Object&#x3C;User></code></a></td><td>Oui</td><td><p><code>{</code><br><code>id: '12345',</code><br><code>email: 'toto@domain.fr',</code></p><p><code>consent_categories: [1,3]</code></p><p><code>}</code></p></td><td><p><code>consent_categories</code> est la liste des consentements de l'utilisateur. Elle est remplie automatiquement à partir des sources web si vous utilisez Commanders Act CMP.</p><p>Vous devriez également ajouter toutes les propriétés de l'utilisateur dans cet objet user, en particulier la clé de rapprochement (id, email).</p></td></tr><tr><td><code>items</code></td><td><a href="#items"><code>Array&#x3C;Items></code></a></td><td><strong>Oui</strong></td><td></td><td>Les articles de l'événement.</td></tr></tbody></table>

**Exemple**

{% tabs %} {% tab title="JavaScript" %}

```javascript
cact('trigger','view_item', {
  value: 8.00,
  currency: 'EUR',
  items: [{
    id: 'SKU_12345',
    quantity: 1,
    variant: 'red',
    coupon: 'CHRISTMAS',
    discount: 1.99,
    product:{
      id: '12345',
      name: 'Trex tshirt',
      category_1: 'clothes',
      category_2: 't-shirts',
      category_3: 'boy',
      brand: 'Lacoste',
      price: 9.99
    }
  }],
  user: {
    id: '12356',
    email:'toto@domain.fr',
    consent_categories: [1,3]
  }
});
```

{% endtab %}

{% tab title="Kotlin (Android)" %}

```kotlin
val item1 = TCItem("my_product1_id", TCProduct("my_product_1_id", "my_product_1_name", 12.5f), 1)
val item2 = TCItem("my_product2_id", TCProduct("my_product_2_id", "my_product_2_name", 110f), 1)
val items = listOf<TCItem>(item1, item2)

val event = TCViewItem(items)
serverside.execute(event)
```

{% endtab %}

{% tab title="Java (Android)" %}

```java
TCItem item1 = new TCItem("my_product1_id", new TCProduct("my_product_1_id", "my_product_1_name", 12.5f), 1);
TCItem item2 = new TCItem("my_product2_id", new TCProduct("my_product_2_id", "my_product_2_name", 25.6f), 1);
ArrayList<TCItem> items = new ArrayList<>(Arrays.asList(item1, item2));

TCViewItem event = new TCViewItem(items);
serverside.execute(event);
```

{% endtab %}

{% tab title="Objective-C (iOS)" %}

```objectivec
NSMutableArray *items = [[NSMutableArray alloc] init];
[items addObject: [[TCItem alloc] initWithItemId: @"iID1"
                                  withProduct: [[TCProduct alloc] initWithProductId: @"pID1" 
                                  withName: @"pName1" 
                                  withPrice: [[NSDecimalNumber alloc] initWithString: @"1.5"]]
                                  withQuantity: 1]];
[items addObject: [[TCItem alloc] initWithItemId: @"iID2"
                                  withProduct: [[TCProduct alloc] initWithProductId: @"pID2" 
                                  withName: @"pName2" 
                                  withPrice: [[NSDecimalNumber alloc] initWithFloat: 2.5f]]
                                  withQuantity: 2]];

TCViewItem *event = [[TCViewItem alloc] initWithItems: items];
event.revenue = [[NSDecimalNumber alloc] initWithString: @"12.2"];
event.currency = @"EUR";

[TCS execute: event];
```

{% endtab %}

{% tab title="Swift (iOS)" %}

```swift
let item_1:TCItem = TCItem(itemId: "my_item1.id", with: TCProduct(productId: "my_product1.id", withName: "my_product1.name", withPrice: 12.5), withQuantity: 1)
let item_2:TCItem = TCItem(itemId: "my_item2.id", with: TCProduct(productId: "my_product2.id", withName: "my_product2.name", withPrice: 22.5), withQuantity: 1)

let event = TCViewItem(items: [item_1, item_2])
	event?.revenue = 12.2
	serverside?.execute(event)
```

{% endtab %}

{% tab title="Dart (Flutter)" %}

```dart
TCProduct tc_product = TCProduct();
		tc_product.ID = "product_1_ID";
		tc_product.name = "product_1_name";
		tc_product.price = 150;
		tc_product.addAdditionalProperty("key_additional_product", "val_additional_product");
TCItem tc_item_1 = TCItem();
		tc_item_1.ID = "item_1_id";
		tc_item_1.product = tc_product;
		tc_item_1.quantity = 1;
		tc_item_1.addAdditionalProperty("key_additional_item", "val_additional_product");
var event = TCViewItemEvent();
	event.pageName = "event_page_name";
	event.pageType = "event_page_type";
	event.items = [tc_item_1];
	event.addAdditionalPropertyWithIntValue("key_additional_1", 12);
	event.addAdditionalPropertyWithListValue("key_additional_2", [12,12,12]);
	event.addAdditionalPropertyWithMapValue("key_map", {'test': 12, "test2": "value"});
serverside.execute(event);
```

{% endtab %}

{% tab title="json" %}

```json
{
    "event_name": "view_item",
        "value": 8.00,
        "currency": "EUR",
        "items": [
            {
                "id": "SKU_12345",
                "quantity": 1,
                "price": 9.99,
                "variant": "red",
                "coupon": "CHRISTMAS",
                "discount": 1.99,
                "product": {
                    "id": "12345",
                    "name": "Trex tshirt",
                    "category_1": "clothes",
                    "category_2": "t-shirts",
                    "category_3": "boy",
                    "brand": "Lacoste",
                    "colors": [
                        "red"
                    ]
                }
            }
        ]
}
```

{% endtab %} {% endtabs %}

## view\_item\_list

Enregistrez cet événement lorsque l’utilisateur s’est vu présenter une liste d’articles d’une certaine catégorie.

#### Paramètres <a href="#parameters_35" id="parameters_35"></a>

<table><thead><tr><th width="195">Nom</th><th width="100">Type</th><th width="78">Obligatoire</th><th width="163">Valeur d'exemple</th><th>Description</th></tr></thead><tbody><tr><td><code>item_list_name</code></td><td><code>string</code></td><td>Non</td><td>Produits associés</td><td>Le nom de la liste dans laquelle l'article a été présenté à l'utilisateur.</td></tr><tr><td><code>user</code></td><td><a href="#user"><code>Object&#x3C;User></code></a></td><td>Oui</td><td><p><code>{</code><br><code>id: '12345',</code><br><code>email: 'toto@domain.fr',</code></p><p><code>consent_categories: [1,3]</code></p><p><code>}</code></p></td><td><p><code>consent_categories</code> est la liste des consentements de l'utilisateur. Elle est remplie automatiquement à partir des sources web si vous utilisez Commanders Act CMP.</p><p>Vous devriez également ajouter toutes les propriétés de l'utilisateur dans cet objet user, en particulier la clé de rapprochement (id, email).</p></td></tr><tr><td><code>items</code></td><td><a href="#items"><code>Array&#x3C;Items></code></a></td><td><strong>Oui</strong></td><td></td><td>Les articles de l'événement.</td></tr></tbody></table>

**Exemple**

{% tabs %} {% tab title="Javascript" %}

```kotlin
cact('trigger','view_item_list', {
  item_list_name: 'Produits associés',
   items: [{
    id: 'SKU_12345',
    quantity: 1,
    price: 9.99,
    variant: 'red',
    coupon: 'CHRISTMAS',
    discount: 1.99,
    product:{
      id: '12345',
      name: 'Trex tshirt',
      category_1: 'clothes',
      category_2: 't-shirts',
      category_3: 'boy',
      brand: 'Lacoste',
      colors: ['red'],
      price: 9.99
    }
  }, {
    id: 'SKU_12346',
    quantity: 1,
    price: 9.99,
    variant: 'green',
    coupon: 'CHRISTMAS',
    discount: 1.99,
    product:{
      id: '12346',
      name: 'Heart tshirt',
      category_1: 'clothes',
      category_2: 't-shirts',
      category_3: 'girl',
      brand: 'Jenny',
      colors: ['blue','white'],
      price: 9.99
    }
  }],
  user: {
    id: '12356',
    email:'toto@domain.fr',
    consent_categories: [1,3]
  }
});
```

{% endtab %}

{% tab title="Kotlin (Android)" %}

```kotlin
val item1 = TCItem("my_product1_id", TCProduct("my_product_1_id", "my_product_1_name", 12.5f), 1)
val item2 = TCItem("my_product2_id", TCProduct("my_product_2_id", "my_product_2_name", 110f), 1)
val items = listOf<TCItem>(item1, item2)

val event = TCViewItemList(items)
    event.itemListName = "vos produits"
serverside.execute(event)
```

{% endtab %}

{% tab title="Java (Android)" %}

```
TCItem item1 = new TCItem("my_product1_id", new TCProduct("my_product_1_id", "my_product_1_name", 12.5f), 1);
TCItem item2 = new TCItem("my_product2_id", new TCProduct("my_product_2_id", "my_product_2_name", 25.6f), 1);
ArrayList<TCItem> items = new ArrayList<>(Arrays.asList(item1, item2));

TCViewItemListEvent event = new TCViewItemListEvent(items);
event.itemListName = "vos produits";
serverside.execute(event);
```

{% endtab %}

{% tab title="iOS" %}

```objectivec
NSMutableArray *items = [[NSMutableArray alloc] init];
[items addObject: [[TCItem alloc] initWithItemId: @"iID1"
                                  withProduct: [[TCProduct alloc] initWithProductId: @"pID1" 
                                  withName: @"pName1" 
                                  withPrice: @1.5f]
                                  withQuantity: 1]];
[items addObject: [[TCItem alloc] initWithItemId: @"iID2"
                                  withProduct: [[TCProduct alloc] initWithProductId: @"pID2" 
                                  withName: @"pName2" 
                                  withPrice: [[NSDecimalNumber alloc] initWithFloat: 2.5f]]
                                  withQuantity: 2]];

TCViewItemListEvent *event = [[TCViewItemListEvent alloc] initWithItems: items];
event.itemListName = @"summer_collection";

[TCS execute: event];
```

{% endtab %}

{% tab title="Swift" %}

```swift
let item_1:TCItem = TCItem(itemId: "my_item1.id", with: TCProduct(productId: "my_product1.id", withName: "my_product1.name", withPrice: 12.5), withQuantity: 1)
let item_2:TCItem = TCItem(itemId: "my_item2.id", with: TCProduct(productId: "my_product2.id", withName: "my_product2.name", withPrice: 22.5), withQuantity: 1)

let event = TCViewItemListEvent(items: [item_1, item_2])
	event?.itemListName = "summer_collection"
	serverside?.execute(event)
```

{% endtab %}

{% tab title="Flutter" %}

```dart
TCProduct tc_product = TCProduct();
		tc_product.ID = "product_1_ID";
		tc_product.name = "product_1_name";
		tc_product.price = 150;
		tc_product.addAdditionalProperty("key_additional_product", "val_additional_product");
TCItem tc_item_1 = TCItem();
		tc_item_1.ID = "item_1_id";
		tc_item_1.product = tc_product;
		tc_item_1.quantity = 1;
		tc_item_1.addAdditionalProperty("key_additional_item", "val_additional_product");
TCProduct tc_product_2 = TCProduct();
		tc_product_2.ID = "product_2_ID";
		tc_product_2.name = "product_2_name";
		tc_product_2.price = 150;
		tc_product_2.addAdditionalProperty("key_additional_product", "val_additional_product");
TCItem tc_item_2 = TCItem();
		tc_item_2.ID = "item_2_id";
		tc_item_2.quantity = 2;
		tc_item_2.product = tc_product;
		tc_item_2.addAdditionalProperty("key_additional_item", "val_additional_product");

var event = TCViewItemListEvent();
	event.pageName = "event_page_name";
	event.pageType = "event_page_type";
	event.items = [tc_item_1, tc_item_2];
	event.addAdditionalPropertyWithIntValue("key_additional_1", 12);
	event.addAdditionalPropertyWithListValue("key_additional_2", [12,12,12]);
	event.addAdditionalPropertyWithMapValue("key_map", {'test': 12, "test2": "value"});
	event.itemListName = "itemListName";	
serverside.execute(event);
```

{% endtab %}

{% tab title="json" %}

```json
{
    "event_name": "view_item_list",
        "item_list_name": "Produits associés",
        "items": [
            {
                "id": "SKU_12345",
                "quantity": 1,
                "price": 9.99,
                "variant": "red",
                "coupon": "CHRISTMAS",
                "discount": 1.99,
                "product": {
                    "id": "12345",
                    "name": "Trex tshirt",
                    "category_1": "clothes",
                    "category_2": "t-shirts",
                    "category_3": "boy",
                    "brand": "Lacoste",
                    "colors": [
                        "red"
                    ],
                    "price": 9.99
                }
            },
            {
                "id": "SKU_12346",
                "quantity": 1,
                "price": 9.99,
                "variant": "green",
                "coupon": "CHRISTMAS",
                "discount": 1.99,
                "product": {
                    "id": "12346",
                    "name": "Heart tshirt",
                    "category_1": "clothes",
                    "category_2": "t-shirts",
                    "category_3": "girl",
                    "brand": "Jenyfion",
                    "colors": [
                        "blue",
                        "white"
                    ],
                    "price": 9.99
                }
            }
        ],
        "user": {
            "id": "12345",
            "email": "toto@domain.fr",
            "consent_categories": [
                1,
                3
            ]
        }
}
```

{% endtab %} {% endtabs %}

## - SCHÉMAS COMMUNS -

### Items

#### Paramètres **(obligatoire et recommandé)** <a href="#parameters_27" id="parameters_27"></a>

| Nom             | Type                          | Obligatoire | Valeur d'exemple | Description                                                                                                                                                                                      |
| --------------- | ----------------------------- | ----------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| `ID`            | `string`                      | **Oui**     | SKU\_12345       | <p>L'ID d'un article.</p><p>Si vous n'avez pas d'ID d'article, vous pouvez utiliser l'ID du produit comme valeur. Ce champ est utilisé comme clé pour les mises à jour (ex. : remboursement)</p> |
| `product`       | [`Object<Product>`](#product) | **Oui**     |                  | Les détails du produit                                                                                                                                                                           |
| `variant`       | `string`                      | Non         | rouge            | La variante de l'article.                                                                                                                                                                        |
| `list_position` | `number`                      | Non         | 1                | La position de l'article dans une liste ou une collection.                                                                                                                                       |
| `discount`      | `number`                      | Non         | 2.00             | Valeur monétaire de la remise associée à un achat                                                                                                                                                |
| `quantity`      | `number`                      | **Oui**     | 2                | La quantité de l'article.                                                                                                                                                                        |
| `affiliation`   | `string`                      | **Non**\*   | DOWNLOAD         | Requis pour la plupart des destinations d'affiliation.                                                                                                                                           |
| `coupon`        | `string`                      | Non         | CHRISTMAS        | Le code promo associé à un article.                                                                                                                                                              |

### Produit

**Paramètres (obligatoires et recommandés)**

| Nom          | Type                | Obligatoire | Valeur d'exemple | Description                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| ------------ | ------------------- | ----------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `ID`         | `string`            | **Oui**\*   | 12345            | <p>L'ID du produit (ex. : dans la base de données de votre catalogue de produits)<br>Le <code>item.id</code> et <code>product.id</code> n'ont pas besoin d'être différents. S'ils sont différents, généralement le <code>product.id</code> est un identifiant de base de données, comme <code>9714107479</code> et les <code>item.id</code> est un identifiant public, comme <code>SKU-12345</code>.</p><p>(\*) Si vous avez importé le catalogue de vos produits dans la plateforme, le <code>product.id</code> correspond à l'ID unique du produit dans le catalogue et peut être utilisé avec la fonctionnalité d'expansion d'ID.</p> |
| `name`       | `string`            | **Oui**     | Trex             | Nom du produit                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| `price`      | `number`            | **Oui**     | 14.99            | Le prix du produit                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| `currency`   | `string (ISO 4217)` | Non         | EUR              | <p>Devise du <code>price</code>, au format ISO 4217 à 3 lettres.</p><p>Si elle est définie, la devise au niveau de l'événement <code>currency</code> est ignorée.<br><br>Plusieurs devises par événement ne sont pas prises en charge. Chaque article doit définir la même devise.</p>                                                                                                                                                                                                                                                                                                                                                   |
| `category_1` | `string`            | Non         | T-shirts         | Catégorie de produit (selon le contexte). `item_category2` jusqu'à `item_category5` peut également être utilisé si le produit possède plusieurs catégories.                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| `brand`      | `string`            | Non         | Lacoste          | Marque du produit                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| `colors`     | `Array[string]`     | Non         | \[bleu, blanc]   | La ou les couleurs du produit                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| `size`       | `string`            | Non         | 128              | Taille de l'article                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |

### Utilisateur

Lorsque vous envoyez un événement, il doit contenir suffisamment d'informations pour identifier l'utilisateur qui l'a généré. Nous pouvons relier les événements entre eux à l'aide de cookies. Mais les partenaires de destination ont besoin d'identifiants précis pour effectuer des actions.

`ID` et `email` sont généralement les paramètres les plus utiles. Certains partenaires de destination utilisent également `firstname`, `lastname`, `birthdate`, `city`, ...

Vous n'aurez pas toujours tous ces paramètres. Mais il est recommandé de les envoyer dès que possible pendant la navigation de l'utilisateur.

#### Paramètres **(obligatoire et recommandé)** <a href="#parameters_17" id="parameters_17"></a>

<table><thead><tr><th width="229">Nom</th><th width="118">Type</th><th width="104">Obligatoire</th><th>Valeur d'exemple</th><th>Description</th></tr></thead><tbody><tr><td><code>ID</code></td><td><code>string</code></td><td>Non*</td><td>845454</td><td><p>Identifiant principal de l'utilisateur (ex. : ID CRM)</p><p>(*) requis pour de nombreuses destinations et pour le traitement interne.</p></td></tr><tr><td><code>email</code></td><td><code>string</code></td><td>Oui*</td><td>john.doe@example.com</td><td><p>Email (valeur brute)</p><p>(*) requis pour de nombreuses destinations et pour le traitement interne. Non requis si <code>email_sha256</code> est fourni</p></td></tr><tr><td><code>email_md5</code></td><td><code>string</code></td><td>Non*</td><td>8eb1b52... (size 32)</td><td>Email, haché à l'aide de <a href="https://en.wikipedia.org/wiki/MD5">algorithme MD5</a>. Non requis si <code>email</code> est fourni (voir ci-dessous)</td></tr><tr><td><code>email_sha256</code></td><td><code>string</code></td><td>Non*</td><td>836f82d... (size 64)</td><td>Email, haché à l'aide de <a href="https://en.wikipedia.org/wiki/SHA-2">algorithme SHA-256</a>. Non requis si <code>email</code> est fourni (voir ci-dessous)</td></tr><tr><td><code>phone</code></td><td><code>string</code></td><td>Non*</td><td>+33612345678</td><td>Numéro de téléphone, <a href="https://en.wikipedia.org/wiki/E.164">E.164</a> format<br>(*) requis pour certaines destinations.</td></tr><tr><td><code>firstname</code></td><td><code>string</code></td><td>Non</td><td>John</td><td>Prénom</td></tr><tr><td><code>lastname</code></td><td><code>string</code></td><td>Non</td><td>Doe</td><td>Nom</td></tr><tr><td><code>gender</code></td><td><code>string</code></td><td>Non</td><td>m</td><td><p>Genre</p><ul><li><code>f</code> pour femme</li><li><code>m</code> pour homme</li></ul></td></tr><tr><td><code>birthdate</code></td><td><code>string</code></td><td>Non</td><td>1970-01-01</td><td>Date de naissance, <code>YYYY-MM-DD</code> format</td></tr><tr><td><code>city</code></td><td><code>string</code></td><td>Non</td><td>Boston</td><td>Ville</td></tr><tr><td><code>state</code></td><td><code>string</code></td><td>Non</td><td>Massachusetts</td><td>État</td></tr><tr><td><code>zipcode</code></td><td><code>string</code></td><td>Non</td><td>02108</td><td>Code postal</td></tr><tr><td><code>country</code></td><td><code>string</code></td><td>Non</td><td>USA</td><td>Code pays, ISO 3166-1 <a href="https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2">2 lettres</a> ou <a href="https://en.wikipedia.org/wiki/ISO_3166-1_alpha-3">3 lettres</a> formats</td></tr><tr><td><code>consent_categories</code></td><td><code>Tableau</code></td><td><strong>Oui</strong></td><td>[1,2,3]</td><td>Catégories de consentement de l'utilisateur.<br>Nécessaires pour autoriser le partage de données avec les partenaires de destination. Elles sont automatiquement renseignées à partir des sources web si vous utilisez Commanders Act CMP.</td></tr></tbody></table>

**À propos du hachage**

Dans certains cas, vous ne pourrez pas envoyer un paramètre **brut** valeur. Elle est soit indisponible, soit restreinte.

Il peut donc être possible d'envoyer les **hachées** valeurs. Nous acceptons actuellement 2 algorithmes : [`md5`](https://en.wikipedia.org/wiki/MD5) et [`sha256`](https://en.wikipedia.org/wiki/SHA-2).

Chaque `user.<property>` peut être envoyé au format haché avec le suffixe de l'algorithme : `_md5` ou `_sha256` *(underscore suivi du nom d'algorithme en minuscules)*

Exemple :

```
{
  user: {
    email_md5: '8eb1b522f60d11fa897de1dc6351b7e8',                                      // md5('john.doe@example.com')
    email_sha256: '836f82db99121b3481011f16b49dfa5fbc714a0d1b1b9f784a1ebbbf5b39577f',   // sha256('john.doe@example.com')
    phone_md5: '60dd761f55cb17f0532c9fb1679e8ddd',                                      // md5('+33612345678')
    phone_sha256: '42d573cfc315801d4cd8eddd5416b416a0bf298b9b9e12d6b07442c91db42bd8',   // sha256('+33612345678')
  }
}
```

> :information\_source: nous prenons uniquement en charge l'encodage hexadécimal (base16)\
> \&#xNAN;*(c.-à-d. : **hachées** les valeurs sont transportées par des chaînes contenant les caractères \[0-9a-f])*\
> Les autres encodages ne sont pas encore pris en charge

Pas besoin d'envoyer les deux **brut** et **hachées** valeurs :

* si vous envoyez **brut** valeur, les **hachées** valeurs ne sont pas nécessaires\
  \&#xNAN;*Nous pouvons générer **hachées** des valeurs côté server side à l'aide de **brut** value*
* si vous n'envoyez pas **brut** valeur, alors vous devriez renseigner autant de **hachées** valeurs que possible\
  \&#xNAN;*Les partenaires requièrent des algorithmes de hachage différents et, sans **brut** valeur, nous ne pouvons générer aucun hachage. C'est pourquoi nous avons besoin de la valeur exacte **hachées** value*

## - VALEUR ÉNUMÉRÉE -

### Méthodes de paiement

Valeurs énumérées pour les méthodes de paiement :

| Propriété       | Valeur                          |
| --------------- | ------------------------------- |
| payment\_method | by\_invoice                     |
| payment\_method | by\_bank\_transfer\_in\_advance |
| payment\_method | card                            |
| payment\_method | check\_in\_advance              |
| payment\_method | cod                             |
| payment\_method | coupon                          |
| payment\_method | direct\_debit                   |
| payment\_method | online\_payment\_system         |
| payment\_method | other                           |

### Statut d'achat

Valeurs énumérées pour le statut d'achat:

<table><thead><tr><th width="380">Propriété</th><th>Valeur</th></tr></thead><tbody><tr><td>status</td><td>canceled</td></tr><tr><td>status</td><td>delivered</td></tr><tr><td>status</td><td>in_progress</td></tr><tr><td>status</td><td>partially_delivered</td></tr><tr><td>status</td><td>partially_returned</td></tr><tr><td>status</td><td>partially_shipped</td></tr><tr><td>status</td><td>pending_shipment</td></tr><tr><td>status</td><td>returned</td></tr><tr><td>status</td><td>shipped</td></tr><tr><td>status</td><td>pending</td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://doc.commandersact.com/fr/developpeurs/tracking-and-integrations/tracking/events-reference/e-commerce-events.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
