# Événements de commande

> Commandes enregistrées pour la première fois et commandes enregistrées qui ont changé.



## order.placed

> Envoyé lorsqu’une commande est enregistrée pour la première fois. Contient les articles et l’e-mail de campagne ou d’automatisation auquel la commande est attribuée. Alpha : réservé à l’équipe Emailit.

# order.placed

Envoyé lorsqu’Emailit enregistre une commande pour la première fois : depuis [Créer ou mettre à jour une commande](/fr/docs/api-reference/orders/create/), depuis le script de suivi, ou depuis [Importer des commandes par lots](/fr/docs/api-reference/orders/batch/) avec `historical` défini à `false`. Les imports historiques ne l’envoient pas. Le même événement peut démarrer une automatisation. Consultez [Commerce](/fr/docs/commerce/).

> **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_381an2bijq9dF40JdqYLuJT43Z4",
  "type": "order.placed",
  "object": {
    "object": "order",
    "id": "ord_3aMEK4No62Zw8S1fcHNznAnnbfp",
    "external_id": "1042",
    "contact_id": "con_3EwrXnu9OaQWlfI1AyPUUEoYjQs",
    "email": "ada@example.com",
    "status": "paid",
    "currency": "USD",
    "subtotal": 107,
    "discount": 10.7,
    "shipping": 5,
    "tax": 0,
    "total": 101.3,
    "refunded_amount": 0,
    "coupon_codes": [
      "WELCOME-7KQ2M9XA"
    ],
    "cart_id": "c-58f1a2",
    "source": "api",
    "placed_at": "2026-10-08T14:32:10.000Z",
    "paid_at": "2026-10-08T14:32:11.204Z",
    "fulfilled_at": null,
    "canceled_at": null,
    "refunded_at": null,
    "attribution": {
      "email_id": "eml_3TSvDAUQi7vqxvAQ1UEVN7k4igq",
      "campaign_id": "cmp_3zNrBaNjAoPK1l0IL2GQ3pDkubN",
      "campaign_name": "October newsletter",
      "variant_id": null,
      "automation_id": null,
      "automation_name": null,
      "type": "click",
      "touched_at": "2026-10-08T09:41:52.000Z"
    },
    "items": [
      {
        "product_id": "8123456789",
        "variant_id": "42-blue",
        "sku": "TRS-BLU-42",
        "title": "Trail running shoe",
        "quantity": 1,
        "unit_price": 89,
        "total": 89,
        "categories": [
          "Shoes",
          "Running"
        ],
        "url": "https://shop.example.com/products/trail-running-shoe",
        "image_url": "https://shop.example.com/images/trail-running-shoe.jpg"
      }
    ],
    "metadata": {
      "channel": "web"
    },
    "created_at": "2026-10-08T14:32:11.204Z",
    "updated_at": "2026-10-08T14:32:11.204Z"
  },
  "data": {
    "object": {
      "object": "order",
      "id": "ord_3aMEK4No62Zw8S1fcHNznAnnbfp",
      "external_id": "1042",
      "contact_id": "con_3EwrXnu9OaQWlfI1AyPUUEoYjQs",
      "email": "ada@example.com",
      "status": "paid",
      "currency": "USD",
      "subtotal": 107,
      "discount": 10.7,
      "shipping": 5,
      "tax": 0,
      "total": 101.3,
      "refunded_amount": 0,
      "coupon_codes": [
        "WELCOME-7KQ2M9XA"
      ],
      "cart_id": "c-58f1a2",
      "source": "api",
      "placed_at": "2026-10-08T14:32:10.000Z",
      "paid_at": "2026-10-08T14:32:11.204Z",
      "fulfilled_at": null,
      "canceled_at": null,
      "refunded_at": null,
      "attribution": {
        "email_id": "eml_3TSvDAUQi7vqxvAQ1UEVN7k4igq",
        "campaign_id": "cmp_3zNrBaNjAoPK1l0IL2GQ3pDkubN",
        "campaign_name": "October newsletter",
        "variant_id": null,
        "automation_id": null,
        "automation_name": null,
        "type": "click",
        "touched_at": "2026-10-08T09:41:52.000Z"
      },
      "items": [
        {
          "product_id": "8123456789",
          "variant_id": "42-blue",
          "sku": "TRS-BLU-42",
          "title": "Trail running shoe",
          "quantity": 1,
          "unit_price": 89,
          "total": 89,
          "categories": [
            "Shoes",
            "Running"
          ],
          "url": "https://shop.example.com/products/trail-running-shoe",
          "image_url": "https://shop.example.com/images/trail-running-shoe.jpg"
        }
      ],
      "metadata": {
        "channel": "web"
      },
      "created_at": "2026-10-08T14:32:11.204Z",
      "updated_at": "2026-10-08T14:32:11.204Z"
    }
  }
}
```

## 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 `order.placed`.

- `object` (object): La commande décrite 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 commande

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

- `id` (string): ID de la commande (`ord_…`).

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

- `external_id` (string): L’ID de la commande dans votre boutique.

- `contact_id` (string | null): Le contact de l’acheteur (`con_…`), ou `null`.

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

- `status` (string): `placed`, `paid`, `fulfilled`, `canceled` ou `refunded`.

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

- `subtotal, discount, shipping, tax` (number | null): Les montants de la commande, ou `null` s’ils n’ont pas été envoyés.

- `total` (number): Total de la commande.

- `refunded_amount` (number): Montant remboursé jusqu’ici.

- `coupon_codes` (string[]): Codes de coupon ou de réduction utilisés dans la commande.

- `cart_id` (string | null): L’ID du panier ou du paiement (checkout) dans votre boutique dont provient la commande.

- `source` (string): `api`, `js` (le script de suivi) ou `import`.

- `placed_at` (string): Date de la commande, au format ISO 8601 UTC.

- `paid_at, fulfilled_at, canceled_at, refunded_at` (string | null): Date à laquelle la commande a eu ce statut pour la première fois dans Emailit.

- `attribution` (object | null): L’e-mail auquel la commande est attribuée, ou `null` : `email_id`, `campaign_id`, `campaign_name`, `variant_id`, `automation_id`, `automation_name`, `type` (`click` ou `open`) et `touched_at`. Consultez [Attribution des commandes aux e-mails](/fr/docs/commerce/#how-orders-are-credited-to-emails).

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

- `metadata` (object): Vos propres données clé-valeur provenant de la commande.

- `created_at, updated_at` (string): Dates auxquelles Emailit a enregistré la commande et l’a modifiée pour la dernière fois, au format ISO 8601 UTC.

---
Source: https://emailit.com/fr/docs/webhooks/events/order/order-placed/

## order.updated

> Envoyé lorsqu’une commande enregistrée change, par exemple son statut ou un remboursement. Quand le statut a changé, l’événement inclut le statut précédent. Alpha : réservé à l’équipe Emailit.

# order.updated

Envoyé lorsqu’une commande déjà enregistrée par Emailit change :

- Vous modifiez son statut, son remboursement ou ses métadonnées avec [Mettre à jour une commande](/fr/docs/api-reference/orders/update/).
- Vous renvoyez la même commande avec [Créer ou mettre à jour une commande](/fr/docs/api-reference/orders/create/), ou le script de suivi la renvoie.
- Un import avec [Importer des commandes par lots](/fr/docs/api-reference/orders/batch/) et `historical` défini à `false` la met à jour. Les imports historiques n’envoient pas l’événement.

Quand le statut a changé, l’événement contient aussi `previous_status`.

> **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_3sRH2D1JwRBeo2uyN9p2NM4VX3i",
  "type": "order.updated",
  "object": {
    "object": "order",
    "id": "ord_3aMEK4No62Zw8S1fcHNznAnnbfp",
    "external_id": "1042",
    "contact_id": "con_3EwrXnu9OaQWlfI1AyPUUEoYjQs",
    "email": "ada@example.com",
    "status": "fulfilled",
    "currency": "USD",
    "subtotal": 107,
    "discount": 10.7,
    "shipping": 5,
    "tax": 0,
    "total": 101.3,
    "refunded_amount": 0,
    "coupon_codes": [
      "WELCOME-7KQ2M9XA"
    ],
    "cart_id": "c-58f1a2",
    "source": "api",
    "placed_at": "2026-10-08T14:32:10.000Z",
    "paid_at": "2026-10-08T14:32:11.204Z",
    "fulfilled_at": "2026-10-09T11:05:43.019Z",
    "canceled_at": null,
    "refunded_at": null,
    "attribution": {
      "email_id": "eml_3TSvDAUQi7vqxvAQ1UEVN7k4igq",
      "campaign_id": "cmp_3zNrBaNjAoPK1l0IL2GQ3pDkubN",
      "campaign_name": "October newsletter",
      "variant_id": null,
      "automation_id": null,
      "automation_name": null,
      "type": "click",
      "touched_at": "2026-10-08T09:41:52.000Z"
    },
    "items": [
      {
        "product_id": "8123456789",
        "variant_id": "42-blue",
        "sku": "TRS-BLU-42",
        "title": "Trail running shoe",
        "quantity": 1,
        "unit_price": 89,
        "total": 89,
        "categories": [
          "Shoes",
          "Running"
        ],
        "url": "https://shop.example.com/products/trail-running-shoe",
        "image_url": "https://shop.example.com/images/trail-running-shoe.jpg"
      }
    ],
    "metadata": {
      "channel": "web"
    },
    "created_at": "2026-10-08T14:32:11.204Z",
    "updated_at": "2026-10-09T11:05:43.019Z"
  },
  "previous_status": "paid",
  "data": {
    "object": {
      "object": "order",
      "id": "ord_3aMEK4No62Zw8S1fcHNznAnnbfp",
      "external_id": "1042",
      "contact_id": "con_3EwrXnu9OaQWlfI1AyPUUEoYjQs",
      "email": "ada@example.com",
      "status": "fulfilled",
      "currency": "USD",
      "subtotal": 107,
      "discount": 10.7,
      "shipping": 5,
      "tax": 0,
      "total": 101.3,
      "refunded_amount": 0,
      "coupon_codes": [
        "WELCOME-7KQ2M9XA"
      ],
      "cart_id": "c-58f1a2",
      "source": "api",
      "placed_at": "2026-10-08T14:32:10.000Z",
      "paid_at": "2026-10-08T14:32:11.204Z",
      "fulfilled_at": "2026-10-09T11:05:43.019Z",
      "canceled_at": null,
      "refunded_at": null,
      "attribution": {
        "email_id": "eml_3TSvDAUQi7vqxvAQ1UEVN7k4igq",
        "campaign_id": "cmp_3zNrBaNjAoPK1l0IL2GQ3pDkubN",
        "campaign_name": "October newsletter",
        "variant_id": null,
        "automation_id": null,
        "automation_name": null,
        "type": "click",
        "touched_at": "2026-10-08T09:41:52.000Z"
      },
      "items": [
        {
          "product_id": "8123456789",
          "variant_id": "42-blue",
          "sku": "TRS-BLU-42",
          "title": "Trail running shoe",
          "quantity": 1,
          "unit_price": 89,
          "total": 89,
          "categories": [
            "Shoes",
            "Running"
          ],
          "url": "https://shop.example.com/products/trail-running-shoe",
          "image_url": "https://shop.example.com/images/trail-running-shoe.jpg"
        }
      ],
      "metadata": {
        "channel": "web"
      },
      "created_at": "2026-10-08T14:32:11.204Z",
      "updated_at": "2026-10-09T11:05:43.019Z"
    },
    "previous_status": "paid"
  }
}
```

## 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 `order.updated`.

- `object` (object): La commande après la modification. Elle a les mêmes champs que dans [`order.placed`](/fr/docs/webhooks/events/order/placed/#order-object) et [Récupérer une commande](/fr/docs/api-reference/orders/get/).

- `previous_status` (string): Le statut de la commande avant la modification. Présent uniquement si le statut a changé. Il se trouve à côté de `object`, pas à l’intérieur.

- `data` (object): De nouveau `object` et `previous_status`, sous la forme que l’[API des événements](/fr/docs/api-reference/events/get/) renvoie dans `data`.

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