# Eventos de carritos

> Carritos creados o modificados y carritos abandonados de contactos conocidos.



## cart.updated

> Se envía cuando se crea un carrito, o cuando cambian sus artículos, su total, su estado o su contacto, desde la API de carritos o el script de seguimiento. Alfa: solo para el equipo de Emailit.

# cart.updated

Se envía cuando un carrito se guarda por primera vez, o cuando cambian sus artículos, su total, su moneda, su estado o su contacto. Los carritos llegan desde [Crear o actualizar un carrito](/es/docs/api-reference/carts/upsert/) o desde el comando `cart` del script de seguimiento, tanto de contactos como de visitantes anónimos. Si vuelves a enviar el mismo carrito, el evento no se envía. Consulta [Comercio electrónico](/es/docs/commerce/#events).

> **Comercio electrónico está en alfa:** Comercio electrónico solo está abierto al equipo de Emailit mientras lo probamos. Consulta [Quién puede usar Comercio electrónico](/es/docs/commerce/#who-can-use-commerce).

Las actualizaciones de carritos proceden del tráfico de la web, así que los webhooks con **All events** activado no reciben este evento. Suscribe el webhook a `cart.updated` por su nombre. Cuando el carrito de un contacto queda inactivo, Emailit envía [`cart.abandoned`](/es/docs/webhooks/events/cart/abandoned/) en su lugar.

Las peticiones de webhook contienen un array JSON de eventos como este; consulta [Peticiones de webhook](/es/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"
    }
  }
}
```

## Campos

- `event_id` (string): El ID del evento (`evt_…`). Una petición reintentada lleva el mismo ID, así que úsalo para omitir los eventos que ya hayas procesado. También puedes consultar el evento con [Obtener un evento](/es/docs/api-reference/events/get/).

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

- `object` (object): El carrito que describe el evento. Sus campos se indican a continuación.

- `data.object` (object): El mismo objeto otra vez, con la forma que devuelve la [API de eventos](/es/docs/api-reference/events/get/) en `data`.

### Objeto de carrito

El mismo objeto que devuelve [Obtener un carrito](/es/docs/api-reference/carts/get/).

- `id` (string): El ID del carrito (`crt_…`).

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

- `external_id` (string): El ID del carrito o del pago en tu tienda. Los carritos del script de seguimiento que no tienen ID propio usan `web:` seguido del ID anónimo del visitante.

- `contact_id` (string | null): El contacto al que pertenece el carrito (`con_…`), o `null` si es el carrito de un visitante anónimo.

- `email` (string | null): La dirección de email del comprador.

- `status` (string): `active`, o `converted` cuando un pedido ha convertido el carrito.

- `currency` (string | null): El código ISO 4217 de tres letras de los importes.

- `total` (number): El valor del carrito.

- `items` (object[]): Los artículos, cada uno con `product_id`, `variant_id`, `sku`, `title`, `quantity`, `unit_price`, `total`, `url` e `image_url`.

- `checkout_url` (string | null): El enlace que devuelve al comprador al carrito.

- `source` (string): `api`, o `js` para los carritos del script de seguimiento.

- `abandoned_at` (null): Siempre `null`: al actualizar un carrito abandonado, vuelve a estar activo.

- `converted_at, converted_order_id` (string | null): Cuándo convirtió un pedido el carrito, y el ID de ese pedido (`ord_…`). `null` mientras el carrito está activo.

- `created_at, updated_at` (string): Cuándo se guardó el carrito por primera vez y cuándo cambió por última vez, en formato ISO 8601 UTC.

---
Fuente: https://emailit.com/es/docs/webhooks/events/cart/cart-updated/

## cart.abandoned

> Se envía cuando el carrito con artículos de un contacto no cambia durante el plazo de abandono de los carritos de la configuración de Comercio electrónico. Alfa: solo para el equipo de Emailit.

# cart.abandoned

Se envía cuando un carrito pasa a estar abandonado: pertenece a un contacto, tiene al menos un artículo y no se ha actualizado durante los `cart_abandon_minutes` de la [configuración de Comercio electrónico](/es/docs/api-reference/commerce/get-settings/) (60 por defecto). Emailit lo comprueba cada minuto. Los carritos sin contacto nunca pasan a estar abandonados. Usa el evento para iniciar una automatización de carrito abandonado o para avisar a tus propios sistemas. Consulta [Comercio electrónico](/es/docs/commerce/#abandoned-carts).

El evento se envía una vez cada vez que se abandona el carrito. Si el carrito se [actualiza](/es/docs/api-reference/carts/upsert/) después, vuelve a estar activo y puede abandonarse de nuevo, y el evento se vuelve a enviar. Un carrito que ha convertido un pedido nunca se abandona.

> **Comercio electrónico está en alfa:** Comercio electrónico solo está abierto al equipo de Emailit mientras lo probamos. Consulta [Quién puede usar Comercio electrónico](/es/docs/commerce/#who-can-use-commerce).

Las peticiones de webhook contienen un array JSON de eventos como este; consulta [Peticiones de webhook](/es/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"
    }
  }
}
```

## Campos

- `event_id` (string): El ID del evento (`evt_…`). Una petición reintentada lleva el mismo ID, así que úsalo para omitir los eventos que ya hayas procesado. También puedes consultar el evento con [Obtener un evento](/es/docs/api-reference/events/get/).

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

- `object` (object): El carrito que describe el evento. Sus campos se indican a continuación.

- `data.object` (object): El mismo objeto otra vez, con la forma que devuelve la [API de eventos](/es/docs/api-reference/events/get/) en `data`.

### Objeto de carrito

El mismo objeto que devuelve [Obtener un carrito](/es/docs/api-reference/carts/get/).

- `id` (string): El ID del carrito (`crt_…`).

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

- `external_id` (string): El ID del carrito o del pago en tu tienda. Los carritos del script de seguimiento que no tienen ID propio usan `web:` seguido del ID anónimo del visitante.

- `contact_id` (string): El contacto al que pertenece el carrito (`con_…`).

- `email` (string | null): La dirección de email del comprador.

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

- `currency` (string | null): El código ISO 4217 de tres letras de los importes.

- `total` (number): El valor del carrito.

- `items` (object[]): Los artículos, cada uno con `product_id`, `variant_id`, `sku`, `title`, `quantity`, `unit_price`, `total`, `url` e `image_url`.

- `checkout_url` (string | null): El enlace que devuelve al comprador al carrito.

- `source` (string): `api`, o `js` para los carritos del script de seguimiento.

- `abandoned_at` (string): Cuándo marcó Emailit el carrito como abandonado, en formato ISO 8601 UTC.

- `converted_at, converted_order_id` (null): Siempre `null` en este evento.

- `created_at, updated_at` (string): Cuándo se guardó el carrito por primera vez y cuándo cambió por última vez, en formato ISO 8601 UTC.

---
Fuente: https://emailit.com/es/docs/webhooks/events/cart/cart-abandoned/
