# Eventos de carrinho

> Carrinhos criados ou alterados e carrinhos abandonados de contatos conhecidos.



## cart.updated

> Enviado quando um carrinho é criado, ou quando os itens, o total, o status ou o contato dele mudam, a partir da API de carrinhos ou do script de rastreamento. Alfa: aberto apenas à equipe do Emailit.

# cart.updated

Enviado quando um carrinho é armazenado pela primeira vez, ou quando os itens, o total, a moeda, o status ou o contato dele mudam. Os carrinhos vêm de [Criar ou atualizar um carrinho](/pt/docs/api-reference/carts/upsert/) ou do comando `cart` do script de rastreamento, de contatos e de visitantes anônimos. Enviar o mesmo carrinho de novo não envia o evento. Consulte [E-commerce](/pt/docs/commerce/#events).

> **O e-commerce está em alfa:** O e-commerce está aberto apenas à equipe do Emailit enquanto o testamos. Consulte [Quem pode usar o e-commerce](/pt/docs/commerce/#who-can-use-commerce).

As atualizações de carrinho vêm do tráfego do site, então os webhooks que recebem **All events** não recebem este evento. Inscreva o webhook em `cart.updated` pelo nome. Quando o carrinho de um contato fica parado, o Emailit envia [`cart.abandoned`](/pt/docs/webhooks/events/cart/abandoned/) em vez disso.

As requisições de webhook trazem um array JSON de eventos como este; consulte [Requisições de webhook](/pt/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): ID do evento (`evt_…`). Uma nova tentativa da requisição traz o mesmo ID, então use-o para ignorar eventos que você já processou. Você também pode consultar o evento com [Obter um evento](/pt/docs/api-reference/events/get/).

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

- `object` (object): O carrinho que o evento descreve. Os campos dele estão listados abaixo.

- `data.object` (object): O mesmo objeto de novo, no formato que a [API de eventos](/pt/docs/api-reference/events/get/) retorna em `data`.

### Objeto de carrinho

O mesmo objeto que [Obter um carrinho](/pt/docs/api-reference/carts/get/) retorna.

- `id` (string): ID do carrinho (`crt_…`).

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

- `external_id` (string): O ID do carrinho ou do checkout na sua loja. Os carrinhos do script de rastreamento sem um ID próprio usam `web:` seguido do ID anônimo do visitante.

- `contact_id` (string | null): O contato a quem o carrinho pertence (`con_…`), ou `null` para o carrinho de um visitante anônimo.

- `email` (string | null): O endereço de e-mail do comprador.

- `status` (string): `active`, ou `converted` quando um pedido converteu o carrinho.

- `currency` (string | null): Código ISO 4217 de três letras dos valores.

- `total` (number): Valor do carrinho.

- `items` (object[]): Itens, cada um com `product_id`, `variant_id`, `sku`, `title`, `quantity`, `unit_price`, `total`, `url` e `image_url`.

- `checkout_url` (string | null): Link que leva o comprador de volta ao carrinho.

- `source` (string): `api`, ou `js` para os carrinhos do script de rastreamento.

- `abandoned_at` (null): Sempre `null`: atualizar um carrinho abandonado o torna ativo de novo.

- `converted_at, converted_order_id` (string | null): Quando um pedido converteu o carrinho, e o ID desse pedido (`ord_…`). `null` enquanto o carrinho estiver ativo.

- `created_at, updated_at` (string): Quando o carrinho foi armazenado pela primeira vez e quando mudou pela última vez, em ISO 8601 UTC.

---
Fonte: https://emailit.com/pt/docs/webhooks/events/cart/cart-updated/

## cart.abandoned

> Enviado quando o carrinho com itens de um contato fica sem mudanças durante o intervalo de abandono de carrinho das configurações de e-commerce. Alfa: aberto apenas à equipe do Emailit.

# cart.abandoned

Enviado quando um carrinho passa a ser abandonado: ele pertence a um contato, tem pelo menos um item e não foi atualizado durante os `cart_abandon_minutes` das [configurações de e-commerce](/pt/docs/api-reference/commerce/get-settings/) (60 por padrão). O Emailit verifica a cada minuto. Os carrinhos sem contato nunca passam a ser abandonados. Use o evento para iniciar uma automação de carrinho abandonado ou para notificar os seus próprios sistemas. Consulte [E-commerce](/pt/docs/commerce/#abandoned-carts).

O evento é enviado uma vez cada vez que o carrinho é abandonado. Se o carrinho for [atualizado](/pt/docs/api-reference/carts/upsert/) depois, ele volta a ficar ativo e pode ser abandonado de novo, e o evento, enviado de novo. Um carrinho que foi convertido por um pedido nunca é abandonado.

> **O e-commerce está em alfa:** O e-commerce está aberto apenas à equipe do Emailit enquanto o testamos. Consulte [Quem pode usar o e-commerce](/pt/docs/commerce/#who-can-use-commerce).

As requisições de webhook trazem um array JSON de eventos como este; consulte [Requisições de webhook](/pt/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): ID do evento (`evt_…`). Uma nova tentativa da requisição traz o mesmo ID, então use-o para ignorar eventos que você já processou. Você também pode consultar o evento com [Obter um evento](/pt/docs/api-reference/events/get/).

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

- `object` (object): O carrinho que o evento descreve. Os campos dele estão listados abaixo.

- `data.object` (object): O mesmo objeto de novo, no formato que a [API de eventos](/pt/docs/api-reference/events/get/) retorna em `data`.

### Objeto de carrinho

O mesmo objeto que [Obter um carrinho](/pt/docs/api-reference/carts/get/) retorna.

- `id` (string): ID do carrinho (`crt_…`).

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

- `external_id` (string): O ID do carrinho ou do checkout na sua loja. Os carrinhos do script de rastreamento sem um ID próprio usam `web:` seguido do ID anônimo do visitante.

- `contact_id` (string): O contato a quem o carrinho pertence (`con_…`).

- `email` (string | null): O endereço de e-mail do comprador.

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

- `currency` (string | null): Código ISO 4217 de três letras dos valores.

- `total` (number): Valor do carrinho.

- `items` (object[]): Itens, cada um com `product_id`, `variant_id`, `sku`, `title`, `quantity`, `unit_price`, `total`, `url` e `image_url`.

- `checkout_url` (string | null): Link que leva o comprador de volta ao carrinho.

- `source` (string): `api`, ou `js` para os carrinhos do script de rastreamento.

- `abandoned_at` (string): Quando o Emailit marcou o carrinho como abandonado, em ISO 8601 UTC.

- `converted_at, converted_order_id` (null): Sempre `null` neste evento.

- `created_at, updated_at` (string): Quando o carrinho foi armazenado pela primeira vez e quando mudou pela última vez, em ISO 8601 UTC.

---
Fonte: https://emailit.com/pt/docs/webhooks/events/cart/cart-abandoned/
