Pular para o conteúdo
Docs

Envie os pedidos da sua loja para atribuir a receita aos e-mails e montar perfis de compra.

URL basehttps://api.emailit.com/v2AutenticaçãoErrosLimites de requisições

Criar ou atualizar um pedido

Envie um pedido a partir do backend da sua loja. O pedido é identificado pelo id dele na sua loja: envie o mesmo id de novo e o pedido armazenado é atualizado. Requer uma chave de API com escopo full ou events. Com uma chave events, a resposta traz apenas object, id e external_id.

Quando um pedido é armazenado pela primeira vez, o Emailit:

  • o atribui ao e-mail de campanha ou de automação em que o comprador clicou por último dentro da janela de cliques antes de placed_at ou, sem um clique, que ele abriu por último dentro da janela de aberturas. As janelas estão nas configurações de e-commerce. Consulte Como os pedidos são atribuídos aos e-mails.
  • o vincula ao contato do comprador e cria o contato, se necessário (consulte create_contact).
  • marca como convertido o carrinho indicado em cart_id e também os outros carrinhos abertos do comprador que foram atualizados pela última vez antes do pedido.
  • marca os códigos de cupom correspondentes como resgatados.
  • atualiza as métricas de compra do contato.
  • emite order.placed, que os webhooks e as automações recebem.

Enviar um pedido que já está armazenado o atualiza e emite order.updated, com previous_status quando o status mudou. A atribuição não muda. Só mudam os campos que você enviar: status, placed_at, currency, os valores, coupon_codes, cart_id e items mantêm os valores armazenados quando você não os envia, metadata é mesclado ao objeto armazenado e total não é obrigatório. Enviar items substitui todos os itens. Para mudar só o status ou um reembolso, você também pode usar Atualizar um pedido.

Para importar pedidos antigos sem atribuí-los a e-mails nem iniciar automações, use Importar pedidos em massa.

POST/orders

Corpo da requisição

idstring | numberObrigatório

O ID do pedido na sua loja, com até 255 caracteres. Os números são armazenados como strings. Armazenado como external_id. Você também pode enviá-lo como external_id ou order_id.

emailstring

O endereço de e-mail do comprador. Armazenado em minúsculas. O Emailit o usa para encontrar o contato e para atribuir o pedido a um e-mail enviado para esse endereço. customer.email também é aceito.

contact_idstring

O contato do comprador (con_...). Se nenhum contato tiver esse ID, o Emailit procura o contato pelo email.

first_namestring

O nome do comprador, com até 191 caracteres. Usado quando o Emailit cria o contato. customer.first_name também é aceito.

last_namestring

O sobrenome do comprador, com até 191 caracteres. Usado quando o Emailit cria o contato. customer.last_name também é aceito.

statusstring

placed (padrão), paid, fulfilled, canceled ou refunded. Na primeira vez que um pedido tiver paid, fulfilled, canceled ou refunded, o Emailit define o paid_at, fulfilled_at, canceled_at ou refunded_at correspondente com o horário atual. Os pedidos cancelados não contam na receita.

currencystring

Código ISO 4217 de três letras. O padrão é a moeda do workspace nas configurações de e-commerce. Os valores nunca são convertidos: os relatórios agrupam a receita por moeda.

totalnumber | string

Total do pedido. Obrigatório para um novo pedido sem itens. Sem ele, o Emailit calcula a soma dos totais dos itens, menos discount, mais shipping e tax, e nunca abaixo de 0.

Os valores são números ou strings numéricas, não podem ser negativos e são armazenados com até 4 casas decimais.

subtotalnumber | string

Valor antes do desconto, do frete e dos impostos. O padrão é a soma dos totais dos itens quando o pedido tem itens.

discountnumber | string

Valor do desconto, como número positivo.

shippingnumber | string

Valor do frete.

taxnumber | string

Valor dos impostos.

refunded_amountnumber | string

Valor reembolsado. O padrão é 0, ou total quando status é refunded. A receita é total menos refunded_amount.

coupon_codesstring[]

Até 20 códigos de cupom ou de desconto usados no pedido. Um código que corresponde a um código de cupom do workspace, sem diferenciar maiúsculas de minúsculas, é marcado como resgatado por este pedido. coupon_code e discount_codes também são aceitos.

cart_idstring

O ID do carrinho ou do checkout na sua loja de onde o pedido veio. O carrinho com esse ID passa a ser converted.

placed_atstring | number

Quando o pedido foi feito: uma data e hora ISO 8601 ou um timestamp Unix em segundos (milissegundos também funcionam). O padrão é o horário atual. Não pode estar mais de 24 horas no futuro. created_at também é aceito.

itemsobject[]

Até 250 itens. line_items também é aceito. Cada item tem:

  • product_id (string ou número): o ID do produto na sua loja. Os itens sem title, url, image_url ou categories recebem esses valores do catálogo. id também é aceito.

  • variant_id, sku (string): até 255 caracteres.

  • title (string): até 500 caracteres. Obrigatório quando o item não tem product_id nem sku. name também é aceito.

  • quantity (inteiro): 1 ou mais. O padrão é 1.

  • price (número ou string): o preço unitário. O padrão é 0. unit_price também é aceito.

  • total (número ou string): o total do item. O padrão é price vezes quantity.

  • categories (string[]): até 50 nomes de categorias.

  • url, image_url (string): URLs http ou https.

metadataobject

Os seus próprios dados de chave e valor, com até 16 KB em JSON. Nas atualizações, as chaves que você envia são mescladas ao objeto armazenado.

create_contactboolean

Padrão true: quando nenhum contato corresponde a contact_id ou email, o Emailit cria um a partir de email, first_name e last_name e emite contact.created. O novo contato não é inscrito em nenhuma lista de contatos, então as campanhas não o alcançam. Defina como false para nunca criar um contato: o pedido então só é vinculado a um contato que já existe.

accepts_marketingboolean

Defina como true, junto com audience_id, quando o comprador aceitou receber marketing. O Emailit então inscreve o contato nessa lista de contatos, a menos que o contato já esteja nela. Padrão false.

audience_idstring

A lista de contatos (aud_...) em que o comprador é inscrito quando accepts_marketing é true. Se a lista não existir ou o limite de inscritos do seu plano tiver sido atingido, o pedido é armazenado mesmo assim e o contato não é inscrito.

email_idstring

O e-mail de campanha (eml_...) de onde o comprador veio, se a sua loja o rastrear. Usado só para novos pedidos, e só são lidos os IDs que começam com eml_. O pedido é atribuído a esse e-mail quando ele é um e-mail de campanha do workspace e tem um clique dentro da janela de cliques antes do pedido ou foi enviado dentro dessa janela. Caso contrário, o Emailit atribui o pedido normalmente. attribution.email_id também é aceito.

Retorno

201 Created com o objeto de pedido quando o pedido é novo, ou 200 OK quando um pedido existente foi atualizado. Retorna 422 quando um campo é inválido.

POST/orders
Terminal
curl -X POST https://api.emailit.com/v2/orders \
  -H "Authorization: Bearer your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "1042",
    "email": "ada@example.com",
    "first_name": "Ada",
    "last_name": "Lovelace",
    "status": "paid",
    "currency": "USD",
    "discount": 10.7,
    "shipping": 5,
    "tax": 0,
    "coupon_codes": ["WELCOME-7KQ2M9XA"],
    "cart_id": "c-58f1a2",
    "placed_at": "2026-10-08T14:32:10Z",
    "items": [
      { "product_id": "8123456789", "variant_id": "42-blue", "sku": "TRS-BLU-42", "title": "Trail running shoe", "quantity": 1, "price": 89 },
      { "product_id": "8123456790", "title": "Merino running socks", "quantity": 2, "price": 9 }
    ],
    "metadata": { "channel": "web" },
    "accepts_marketing": true,
    "audience_id": "aud_3Cz7WJ9GpvD7P0PQez50xOmkZSV"
  }'
JSON
{
  "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"
    },
    {
      "product_id": "8123456790",
      "variant_id": null,
      "sku": null,
      "title": "Merino running socks",
      "quantity": 2,
      "unit_price": 9,
      "total": 18,
      "categories": [
        "Accessories"
      ],
      "url": "https://shop.example.com/products/merino-running-socks",
      "image_url": "https://shop.example.com/images/merino-running-socks.jpg"
    }
  ],
  "metadata": {
    "channel": "web"
  },
  "created_at": "2026-10-08T14:32:11.204Z",
  "updated_at": "2026-10-08T14:32:11.204Z"
}

Obter um pedido

Obtém um pedido pelo ID dele no Emailit ou pelo ID do pedido na sua loja, com os itens e a atribuição dele. Requer uma chave de API com escopo full.

GET/orders/{id}

Parâmetros de caminho

idstringObrigatório

O ID do pedido (ord_...) ou o ID do pedido na sua loja (external_id). Codifique para URL os IDs da loja que contêm caracteres especiais.

O objeto de pedido

objectstring

Sempre order.

idstring

ID do pedido no Emailit (ord_...).

external_idstring

O ID do pedido na sua loja: o id que você enviou.

contact_idstring | null

O contato do comprador (con_...), ou null quando o pedido não está vinculado a um contato.

emailstring | null

O endereço de e-mail do comprador, em minúsculas.

statusstring

placed, paid, fulfilled, canceled ou refunded.

currencystring

Código ISO 4217 de três letras dos valores.

subtotalnumber | null

Soma dos itens antes do desconto, do frete e dos impostos.

discountnumber | null

Valor do desconto.

shippingnumber | null

Valor do frete.

taxnumber | null

Valor dos impostos.

totalnumber

Total do pedido. A receita nos relatórios é total menos refunded_amount, e os pedidos cancelados não contam.

refunded_amountnumber

Valor reembolsado até agora. 0 quando nada foi reembolsado.

coupon_codesstring[]

Códigos de cupom ou de desconto usados no pedido.

cart_idstring | null

O ID do carrinho ou do checkout na sua loja de onde o pedido veio.

sourcestring

Como o pedido chegou ao Emailit: api, js (o script de rastreamento) ou import (importação em massa).

placed_atstring

Quando o pedido foi feito, em ISO 8601 UTC.

paid_at, fulfilled_at, canceled_at, refunded_atstring | null

Quando o Emailit armazenou o pedido pela primeira vez com esse status. Definido uma vez e não é limpo quando o status muda de novo.

attributionobject | null

O e-mail ao qual o pedido é atribuído, ou null. Definido uma vez, quando o pedido é armazenado pela primeira vez. Consulte Como os pedidos são atribuídos aos e-mails.

  • email_id (string): o e-mail ao qual o pedido é atribuído.

  • campaign_id, campaign_name (string ou null): a campanha dele.

  • variant_id (string ou null): a versão do teste A/B (cvr_...) que o comprador recebeu.

  • automation_id, automation_name (string ou null): a automação dele.

  • type (string): click ou open.

  • touched_at (string ou null): quando o clique ou a abertura aconteceu.

itemsobject[]

Itens. Cada um tem product_id (o ID do produto na sua loja), variant_id, sku, title, quantity, unit_price, total, categories, url e image_url.

metadataobject

Os seus próprios dados de chave e valor.

created_at, updated_atstring

Quando o Emailit armazenou o pedido e quando ele mudou pela última vez, em ISO 8601 UTC.

GET/orders/{id}
Terminal
curl https://api.emailit.com/v2/orders/ord_3aMEK4No62Zw8S1fcHNznAnnbfp \
  -H "Authorization: Bearer your_api_key"
JSON
{
  "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"
    },
    {
      "product_id": "8123456790",
      "variant_id": null,
      "sku": null,
      "title": "Merino running socks",
      "quantity": 2,
      "unit_price": 9,
      "total": 18,
      "categories": [
        "Accessories"
      ],
      "url": "https://shop.example.com/products/merino-running-socks",
      "image_url": "https://shop.example.com/images/merino-running-socks.jpg"
    }
  ],
  "metadata": {
    "channel": "web"
  },
  "created_at": "2026-10-08T14:32:11.204Z",
  "updated_at": "2026-10-08T14:32:11.204Z"
}

Atualizar um pedido

Altera o status de um pedido armazenado, registra um reembolso ou adiciona metadados. Todo o resto continua como está, incluindo os itens e a atribuição. As métricas de compra do comprador são recalculadas, e o Emailit emite order.updated, com o previous_status do pedido quando o status mudou. Requer uma chave de API com escopo full ou events. Com uma chave events, a resposta traz apenas object, id e external_id.

POST/orders/{id}

Parâmetros de caminho

idstringObrigatório

O ID do pedido (ord_...) ou o ID do pedido na sua loja.

Corpo da requisição

Envie pelo menos um destes campos.

statusstring

placed, paid, fulfilled, canceled ou refunded. Na primeira vez que o pedido receber paid, fulfilled, canceled ou refunded, o paid_at, fulfilled_at, canceled_at ou refunded_at correspondente é definido com o horário atual. Os pedidos cancelados não contam na receita.

refunded_amountnumber | string

Valor total reembolsado até agora, e não o valor deste reembolso. Não pode ser negativo. A receita é total menos refunded_amount. Se você definir status como refunded sem refunded_amount e nada tiver sido reembolsado antes, o total inteiro conta como reembolsado.

metadataobject

Chaves a mesclar aos metadados do pedido. Até 16 KB em JSON.

Retorno

200 OK com o objeto de pedido atualizado. Retorna 404 se nenhum pedido corresponder a id e 422 quando o corpo estiver vazio ou um campo for inválido.

POST/orders/{id}
Terminal
curl -X POST https://api.emailit.com/v2/orders/1042 \
  -H "Authorization: Bearer your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "refunded_amount": 18 }'
JSON
{
  "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": 18,
  "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"
    },
    {
      "product_id": "8123456790",
      "variant_id": null,
      "sku": null,
      "title": "Merino running socks",
      "quantity": 2,
      "unit_price": 9,
      "total": 18,
      "categories": [
        "Accessories"
      ],
      "url": "https://shop.example.com/products/merino-running-socks",
      "image_url": "https://shop.example.com/images/merino-running-socks.jpg"
    }
  ],
  "metadata": {
    "channel": "web"
  },
  "created_at": "2026-10-08T14:32:11.204Z",
  "updated_at": "2026-10-10T08:05:39.871Z"
}

Listar pedidos

Lista os pedidos com os itens deles, dos feitos mais recentemente para os mais antigos. Requer uma chave de API com escopo full.

GET/orders

Parâmetros de consulta

pageinteger

Número da página para a paginação (mínimo: 1, padrão: 1).

limitinteger

Número de pedidos a retornar (mínimo: 1, máximo: 100, padrão: 25).

searchstring

Busca sem diferenciar maiúsculas de minúsculas no ID do pedido na sua loja ou no endereço de e-mail do comprador.

contact_idstring

Só os pedidos deste contato (con_...).

emailstring

Só os pedidos com este endereço de e-mail do comprador, sem diferenciar maiúsculas de minúsculas.

statusstring

Só os pedidos com este status: placed, paid, fulfilled, canceled ou refunded.

campaign_idstring

Só os pedidos atribuídos a esta campanha (cmp_...).

automation_idstring

Só os pedidos atribuídos a esta automação (aut_...).

attributedboolean

true para os pedidos atribuídos a um e-mail, false para os que não são.

fromstring

Só os pedidos feitos neste momento ou depois dele. Uma data ou data e hora ISO 8601; qualquer outro valor retorna 422.

tostring

Só os pedidos feitos neste momento ou antes dele. Uma data ou data e hora ISO 8601; qualquer outro valor retorna 422.

matchstring

all (padrão) exige que todos os filtros key.condition correspondam. or aceita qualquer um deles. Consulte Filtragem.

sortstring

Chave de ordenação: placed_at (padrão), total ou created_at.

orderstring

Direção da ordenação: asc ou desc (padrão).

Filtros

Os filtros de listagem são um único nível de parâmetros de consulta key.condition=value. Consulte Filtragem para match, order, direction e a lista de condições por tipo.

Chaves de filtro

ChaveTipoCondiçõesObservações
external_idstringexact, not_exact, contains, not_contains, starts_with, ends_with, empty, not_empty
emailstringexact, not_exact, contains, not_contains, starts_with, ends_with, empty, not_empty
statusenumexact, not_exactValores: placed, paid, fulfilled, canceled, refunded
currencystringexact, not_exact, contains, not_contains, starts_with, ends_with, empty, not_empty
totalnumberexact, not_exact, gt, gte, lt, lte, empty, not_empty
sourceenumexact, not_exactValores: api, js, import, dashboard
attribution_typeenumexact, not_exactValores: click, open
placed_atdateexact, before, after, empty, not_empty
created_atdateexact, before, after, empty, not_empty

Chaves de ordenação

Este endpoint ordena com sort definido como uma destas chaves e order definido como asc ou desc (aqui, order=<key> retorna 400): placed_at, total, created_at

Neste endpoint, order só aceita asc ou desc. Passe a chave de ordenação em sort, por exemplo sort=total&order=desc.

Retorno

Uma página de objetos de pedido em data, com total_records, next_page_url e previous_page_url. As URLs de página levam só page e limit, então adicione a sua busca e os seus filtros de novo quando segui-las.

GET/orders
Terminal
curl "https://api.emailit.com/v2/orders?campaign_id=cmp_3zNrBaNjAoPK1l0IL2GQ3pDkubN&from=2026-10-01&limit=25" \
  -H "Authorization: Bearer your_api_key"
JSON
{
  "data": [
    {
      "object": "order",
      "id": "ord_3aMEK4No62Zw8S1fcHNznAnnbfp",
      "external_id": "1042",
      "contact_id": "con_3EwrXnu9OaQWlfI1AyPUUEoYjQs",
      "email": "ada@example.com",
      "status": "paid",
      "currency": "USD",
      "subtotal": 89,
      "discount": null,
      "shipping": 5,
      "tax": 0,
      "total": 94,
      "refunded_amount": 0,
      "coupon_codes": [],
      "cart_id": null,
      "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": null,
          "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": {},
      "created_at": "2026-10-08T14:32:11.204Z",
      "updated_at": "2026-10-08T14:32:11.204Z"
    }
  ],
  "total_records": 1,
  "next_page_url": null,
  "previous_page_url": null
}

Importar pedidos em massa

Envie até 1.000 pedidos em uma requisição. Use este endpoint para importar o seu histórico de pedidos, para que as métricas de compra, os segmentos e as recomendações de produtos tenham dados desde o primeiro dia. Cada pedido segue as regras de Criar ou atualizar um pedido: ele é criado ou atualizado pelo id, os contatos são criados a menos que create_contact seja false, os carrinhos são convertidos, os códigos de cupom são resgatados e as métricas de compra são atualizadas. Requer uma chave de API com escopo full ou events. Com uma chave events, a resposta traz apenas object, id e external_id.

Por padrão, os pedidos são históricos: eles não são atribuídos a nenhum e-mail, e o Emailit não emite order.placed nem order.updated, então eles não iniciam automações nem chegam aos webhooks. Os novos contatos continuam emitindo contact.created. Os pedidos enviados com este endpoint têm source definido como import, com ou sem historical.

Os pedidos inválidos são ignorados e listados em rejected; os outros são armazenados. A requisição retorna 200 mesmo assim.

POST/orders/batch

Corpo da requisição

ordersobject[]Obrigatório

De 1 a 1.000 pedidos, cada um com os campos de Criar ou atualizar um pedido.

historicalboolean

Padrão true: sem atribuição e sem eventos de pedido. Defina como false para tratar os pedidos como pedidos enviados um a um: os novos pedidos são atribuídos aos e-mails e emitem order.placed, e os pedidos atualizados emitem order.updated.

Retorno

createdinteger

Número de pedidos novos.

updatedinteger

Número de pedidos que já estavam armazenados e foram atualizados.

rejectedobject[]

Pedidos que não foram armazenados. Cada item tem o index do pedido no seu array orders e errors, indexado pelo caminho do campo, como orders.4.currency. Um pedido que passou na validação mas não pôde ser salvo tem o erro could not be stored em orders.<index>.

Retorna 422 se orders estiver vazio ou tiver mais de 1.000 itens.

POST/orders/batch
Terminal
curl -X POST https://api.emailit.com/v2/orders/batch \
  -H "Authorization: Bearer your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
    "orders": [
      {
        "id": "981",
        "email": "ada@example.com",
        "status": "fulfilled",
        "currency": "USD",
        "placed_at": "2026-03-14T10:12:00Z",
        "items": [{ "product_id": "8123456789", "quantity": 1, "price": 89 }]
      },
      {
        "id": "982",
        "email": "grace@example.com",
        "status": "fulfilled",
        "currency": "usd dollars",
        "total": 18,
        "placed_at": "2026-03-15T16:40:00Z"
      }
    ]
  }'
JSON
{
  "created": 1,
  "updated": 0,
  "rejected": [
    {
      "index": 1,
      "errors": {
        "orders.1.currency": [
          "must be a three-letter ISO 4217 code, e.g. USD"
        ]
      }
    }
  ]
}

Excluir um pedido

Exclui um pedido e os itens dele. As métricas de compra do comprador são recalculadas sem ele, e a receita dele deixa de contar nos relatórios. Os códigos de cupom que ele resgatou continuam resgatados e os carrinhos convertidos continuam convertidos. Nenhum evento é emitido. Para manter o pedido mas deixar de contar a receita dele, defina o status dele como canceled com Atualizar um pedido em vez de excluí-lo. Requer uma chave de API com escopo full.

DELETE/orders/{id}

Parâmetros de caminho

idstringObrigatório

O ID do pedido (ord_...) ou o ID do pedido na sua loja.

DELETE/orders/{id}
Terminal
curl -X DELETE https://api.emailit.com/v2/orders/ord_3aMEK4No62Zw8S1fcHNznAnnbfp \
  -H "Authorization: Bearer your_api_key"
JSON
{
  "object": "order",
  "id": "ord_3aMEK4No62Zw8S1fcHNznAnnbfp",
  "deleted": true
}

Esta página foi útil?

Obrigado pelo feedback.

Obrigado, lemos todas as mensagens.