Skip to content
Docs

Orders stored for the first time, and stored orders that changed.

order.placed

Sent when Emailit stores an order for the first time: from Create or update an order, from the tracking script, or from Import orders in bulk with historical set to false. Historical imports don’t send it. The same event can start an automation. See Commerce.

Webhook requests carry a JSON array of events like this one; see Webhook requests.

Fields

event_idstring

Event ID (evt_…). A retried request carries the same ID, so use it to skip events you already handled. You can also look the event up with Retrieve an event.

typestring

Always order.placed.

objectobject

The order the event describes. Its fields are listed below.

data.objectobject

The same object again, in the shape that the Events API returns in data.

Order object

The same object as Retrieve an order returns.

idstring

Order ID (ord_…).

objectstring

Always order.

external_idstring

The order ID in your shop.

contact_idstring | null

The buyer’s contact (con_…), or null.

emailstring | null

The buyer’s email address, in lowercase.

statusstring

placed, paid, fulfilled, canceled or refunded.

currencystring

Three-letter ISO 4217 code of the amounts.

subtotal, discount, shipping, taxnumber | null

The order’s amounts, or null when not sent.

totalnumber

Order total.

refunded_amountnumber

Amount refunded so far.

coupon_codesstring[]

Coupon or discount codes used in the order.

cart_idstring | null

The cart or checkout ID in your shop that the order came from.

sourcestring

api, js (the tracking script) or import.

placed_atstring

When the order was placed, in ISO 8601 UTC.

paid_at, fulfilled_at, canceled_at, refunded_atstring | null

When the order first had that status in Emailit.

attributionobject | null

The email the order is credited to, or null: email_id, campaign_id, campaign_name, variant_id, automation_id, automation_name, type (click or open) and touched_at. See How orders are credited to emails.

itemsobject[]

Line items, each with product_id, variant_id, sku, title, quantity, unit_price, total, categories, url and image_url.

metadataobject

Your own key-value data from the order.

created_at, updated_atstring

When Emailit stored the order and when it last changed, in ISO 8601 UTC.

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"
    }
  }
}

order.updated

Sent when an order that Emailit already stored changes:

When the status changed, the event also carries previous_status.

Webhook requests carry a JSON array of events like this one; see Webhook requests.

Fields

event_idstring

Event ID (evt_…). A retried request carries the same ID, so use it to skip events you already handled. You can also look the event up with Retrieve an event.

typestring

Always order.updated.

objectobject

The order after the change. It has the same fields as in order.placed and Retrieve an order.

previous_statusstring

The order’s status before the change. Only present when the status changed. It sits next to object, not inside it.

dataobject

object and previous_status again, in the shape that the Events API returns in data.

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"
  }
}

Was this page helpful?

Thanks for the feedback.

Thanks, we read every message.