# Événements de panier

> Paniers créés ou modifiés, et paniers abandonnés de contacts connus.



## cart.updated

> Envoyé lorsqu’un panier est créé, ou lorsque ses articles, son total, son statut ou son contact changent, depuis l’API des paniers ou le script de suivi. Alpha : réservé à l’équipe Emailit.

# cart.updated

Envoyé lorsqu’un panier est enregistré pour la première fois, ou lorsque ses articles, son total, sa devise, son statut ou son contact changent. Les paniers proviennent de [Créer ou mettre à jour un panier](/fr/docs/api-reference/carts/upsert/) ou de l’appel `cart` du script de suivi, pour les contacts comme pour les visiteurs anonymes. Renvoyer le même panier n’envoie pas l’événement. Consultez [Commerce](/fr/docs/commerce/#events).

> **Commerce est en alpha:** Commerce est réservé à l’équipe Emailit pendant que nous le testons. Consultez [Qui peut utiliser Commerce](/fr/docs/commerce/#who-can-use-commerce).

Les mises à jour de panier proviennent du trafic du site : les webhooks abonnés à **All events** ne reçoivent donc pas cet événement. Abonnez-vous à `cart.updated` par son nom. Quand le panier d’un contact devient inactif, Emailit envoie [`cart.abandoned`](/fr/docs/webhooks/events/cart/abandoned/) à la place.

Les requêtes de webhook contiennent un tableau JSON d’événements comme celui-ci ; consultez [Requêtes de webhook](/fr/docs/webhooks/webhook-requests/).

```json
{
  "event_id": "evt_3xbAvDuFw01rXuy7pQR7EK2oAu2",
  "type": "cart.updated",
  "object": {
    "object": "cart",
    "id": "crt_3Rx784H7VYWRTViadjbp5oKHRud",
    "external_id": "c-58f1a2",
    "contact_id": "con_3EwrXnu9OaQWlfI1AyPUUEoYjQs",
    "email": "ada@example.com",
    "status": "active",
    "currency": "USD",
    "total": 107,
    "items": [
      {
        "product_id": "8123456789",
        "variant_id": "42-blue",
        "sku": "TRS-BLU-42",
        "title": "Trail running shoe",
        "quantity": 1,
        "unit_price": 89,
        "total": 89,
        "url": "https://shop.example.com/products/trail-running-shoe",
        "image_url": "https://shop.example.com/images/trail-running-shoe.jpg"
      },
      {
        "product_id": "8123456790",
        "variant_id": null,
        "sku": null,
        "title": "Merino running socks",
        "quantity": 2,
        "unit_price": 9,
        "total": 18,
        "url": "https://shop.example.com/products/merino-running-socks",
        "image_url": "https://shop.example.com/images/merino-running-socks.jpg"
      }
    ],
    "checkout_url": "https://shop.example.com/cart/recover/c-58f1a2",
    "source": "js",
    "abandoned_at": null,
    "converted_at": null,
    "converted_order_id": null,
    "created_at": "2026-10-08T12:12:47.630Z",
    "updated_at": "2026-10-08T12:28:51.902Z"
  },
  "data": {
    "object": {
      "object": "cart",
      "id": "crt_3Rx784H7VYWRTViadjbp5oKHRud",
      "external_id": "c-58f1a2",
      "contact_id": "con_3EwrXnu9OaQWlfI1AyPUUEoYjQs",
      "email": "ada@example.com",
      "status": "active",
      "currency": "USD",
      "total": 107,
      "items": [
        {
          "product_id": "8123456789",
          "variant_id": "42-blue",
          "sku": "TRS-BLU-42",
          "title": "Trail running shoe",
          "quantity": 1,
          "unit_price": 89,
          "total": 89,
          "url": "https://shop.example.com/products/trail-running-shoe",
          "image_url": "https://shop.example.com/images/trail-running-shoe.jpg"
        },
        {
          "product_id": "8123456790",
          "variant_id": null,
          "sku": null,
          "title": "Merino running socks",
          "quantity": 2,
          "unit_price": 9,
          "total": 18,
          "url": "https://shop.example.com/products/merino-running-socks",
          "image_url": "https://shop.example.com/images/merino-running-socks.jpg"
        }
      ],
      "checkout_url": "https://shop.example.com/cart/recover/c-58f1a2",
      "source": "js",
      "abandoned_at": null,
      "converted_at": null,
      "converted_order_id": null,
      "created_at": "2026-10-08T12:12:47.630Z",
      "updated_at": "2026-10-08T12:28:51.902Z"
    }
  }
}
```

## Champs

- `event_id` (string): ID de l’événement (`evt_…`). Une requête relancée porte le même ID : utilisez-le pour ignorer les événements déjà traités. Vous pouvez aussi consulter l’événement avec [Récupérer un événement](/fr/docs/api-reference/events/get/).

- `type` (string): Toujours `cart.updated`.

- `object` (object): Le panier décrit par l’événement. Ses champs sont détaillés ci-dessous.

- `data.object` (object): Le même objet, sous la forme que l’[API des événements](/fr/docs/api-reference/events/get/) renvoie dans `data`.

### Objet panier

Le même objet que celui renvoyé par [Récupérer un panier](/fr/docs/api-reference/carts/get/).

- `id` (string): ID du panier (`crt_…`).

- `object` (string): Toujours `cart`.

- `external_id` (string): L’ID du panier ou du paiement (checkout) dans votre boutique. Les paniers du script de suivi sans ID propre utilisent `web:` suivi de l’ID anonyme du visiteur.

- `contact_id` (string | null): Le contact auquel appartient le panier (`con_…`), ou `null` pour le panier d’un visiteur anonyme.

- `email` (string | null): L’adresse e-mail de l’acheteur.

- `status` (string): `active`, ou `converted` une fois qu’une commande a converti le panier.

- `currency` (string | null): Code ISO 4217 à trois lettres des montants.

- `total` (number): Valeur du panier.

- `items` (object[]): Les articles, chacun avec `product_id`, `variant_id`, `sku`, `title`, `quantity`, `unit_price`, `total`, `url` et `image_url`.

- `checkout_url` (string | null): Lien qui ramène l’acheteur à son panier.

- `source` (string): `api`, ou `js` pour les paniers du script de suivi.

- `abandoned_at` (null): Toujours `null` : mettre à jour un panier abandonné le rend de nouveau actif.

- `converted_at, converted_order_id` (string | null): Date à laquelle une commande a converti le panier, et ID de cette commande (`ord_…`). `null` tant que le panier est actif.

- `created_at, updated_at` (string): Dates auxquelles le panier a été enregistré pour la première fois et modifié pour la dernière fois, au format ISO 8601 UTC.

---
Source: https://emailit.com/fr/docs/webhooks/events/cart/cart-updated/

## cart.abandoned

> Envoyé lorsque le panier d’un contact contenant des articles reste inchangé pendant le délai d’abandon de panier défini dans les paramètres Commerce. Alpha : réservé à l’équipe Emailit.

# cart.abandoned

Envoyé lorsqu’un panier devient abandonné : il appartient à un contact, contient au moins un article et n’a pas été mis à jour pendant la durée `cart_abandon_minutes` des [paramètres Commerce](/fr/docs/api-reference/commerce/get-settings/) (60 minutes par défaut). Emailit vérifie chaque minute. Les paniers sans contact ne deviennent jamais abandonnés. Utilisez l’événement pour démarrer une automatisation de panier abandonné ou pour avertir vos propres systèmes. Consultez [Commerce](/fr/docs/commerce/#abandoned-carts).

L’événement est envoyé une fois chaque fois que le panier est abandonné. Si le panier est [mis à jour](/fr/docs/api-reference/carts/upsert/) plus tard, il redevient actif et peut de nouveau être abandonné, et l’événement de nouveau envoyé. Un panier converti par une commande n’est jamais abandonné.

> **Commerce est en alpha:** Commerce est réservé à l’équipe Emailit pendant que nous le testons. Consultez [Qui peut utiliser Commerce](/fr/docs/commerce/#who-can-use-commerce).

Les requêtes de webhook contiennent un tableau JSON d’événements comme celui-ci ; consultez [Requêtes de webhook](/fr/docs/webhooks/webhook-requests/).

```json
{
  "event_id": "evt_3xbAvDuFw01rXuy7pQR7EK2oAu2",
  "type": "cart.abandoned",
  "object": {
    "object": "cart",
    "id": "crt_3Rx784H7VYWRTViadjbp5oKHRud",
    "external_id": "c-58f1a2",
    "contact_id": "con_3EwrXnu9OaQWlfI1AyPUUEoYjQs",
    "email": "ada@example.com",
    "status": "abandoned",
    "currency": "USD",
    "total": 107,
    "items": [
      {
        "product_id": "8123456789",
        "variant_id": "42-blue",
        "sku": "TRS-BLU-42",
        "title": "Trail running shoe",
        "quantity": 1,
        "unit_price": 89,
        "total": 89,
        "url": "https://shop.example.com/products/trail-running-shoe",
        "image_url": "https://shop.example.com/images/trail-running-shoe.jpg"
      },
      {
        "product_id": "8123456790",
        "variant_id": null,
        "sku": null,
        "title": "Merino running socks",
        "quantity": 2,
        "unit_price": 9,
        "total": 18,
        "url": "https://shop.example.com/products/merino-running-socks",
        "image_url": "https://shop.example.com/images/merino-running-socks.jpg"
      }
    ],
    "checkout_url": "https://shop.example.com/cart/recover/c-58f1a2",
    "source": "js",
    "abandoned_at": "2026-10-08T13:31:04.118Z",
    "converted_at": null,
    "converted_order_id": null,
    "created_at": "2026-10-08T12:12:47.630Z",
    "updated_at": "2026-10-08T12:28:51.902Z"
  },
  "data": {
    "object": {
      "object": "cart",
      "id": "crt_3Rx784H7VYWRTViadjbp5oKHRud",
      "external_id": "c-58f1a2",
      "contact_id": "con_3EwrXnu9OaQWlfI1AyPUUEoYjQs",
      "email": "ada@example.com",
      "status": "abandoned",
      "currency": "USD",
      "total": 107,
      "items": [
        {
          "product_id": "8123456789",
          "variant_id": "42-blue",
          "sku": "TRS-BLU-42",
          "title": "Trail running shoe",
          "quantity": 1,
          "unit_price": 89,
          "total": 89,
          "url": "https://shop.example.com/products/trail-running-shoe",
          "image_url": "https://shop.example.com/images/trail-running-shoe.jpg"
        },
        {
          "product_id": "8123456790",
          "variant_id": null,
          "sku": null,
          "title": "Merino running socks",
          "quantity": 2,
          "unit_price": 9,
          "total": 18,
          "url": "https://shop.example.com/products/merino-running-socks",
          "image_url": "https://shop.example.com/images/merino-running-socks.jpg"
        }
      ],
      "checkout_url": "https://shop.example.com/cart/recover/c-58f1a2",
      "source": "js",
      "abandoned_at": "2026-10-08T13:31:04.118Z",
      "converted_at": null,
      "converted_order_id": null,
      "created_at": "2026-10-08T12:12:47.630Z",
      "updated_at": "2026-10-08T12:28:51.902Z"
    }
  }
}
```

## Champs

- `event_id` (string): ID de l’événement (`evt_…`). Une requête relancée porte le même ID : utilisez-le pour ignorer les événements déjà traités. Vous pouvez aussi consulter l’événement avec [Récupérer un événement](/fr/docs/api-reference/events/get/).

- `type` (string): Toujours `cart.abandoned`.

- `object` (object): Le panier décrit par l’événement. Ses champs sont détaillés ci-dessous.

- `data.object` (object): Le même objet, sous la forme que l’[API des événements](/fr/docs/api-reference/events/get/) renvoie dans `data`.

### Objet panier

Le même objet que celui renvoyé par [Récupérer un panier](/fr/docs/api-reference/carts/get/).

- `id` (string): ID du panier (`crt_…`).

- `object` (string): Toujours `cart`.

- `external_id` (string): L’ID du panier ou du paiement (checkout) dans votre boutique. Les paniers du script de suivi sans ID propre utilisent `web:` suivi de l’ID anonyme du visiteur.

- `contact_id` (string): Le contact auquel appartient le panier (`con_…`).

- `email` (string | null): L’adresse e-mail de l’acheteur.

- `status` (string): Toujours `abandoned`.

- `currency` (string | null): Code ISO 4217 à trois lettres des montants.

- `total` (number): Valeur du panier.

- `items` (object[]): Les articles, chacun avec `product_id`, `variant_id`, `sku`, `title`, `quantity`, `unit_price`, `total`, `url` et `image_url`.

- `checkout_url` (string | null): Lien qui ramène l’acheteur à son panier.

- `source` (string): `api`, ou `js` pour les paniers du script de suivi.

- `abandoned_at` (string): Date à laquelle Emailit a marqué le panier comme abandonné, au format ISO 8601 UTC.

- `converted_at, converted_order_id` (null): Toujours `null` dans cet événement.

- `created_at, updated_at` (string): Dates auxquelles le panier a été enregistré pour la première fois et modifié pour la dernière fois, au format ISO 8601 UTC.

---
Source: https://emailit.com/fr/docs/webhooks/events/cart/cart-abandoned/
