Resumo de pedidos Shopify
Totais agregados de pedidos do Shopify no período informado. status filtra a coluna status derivada do Shopify (closed | cancelled | processed | open). Dimensões de groupBy: source_name, utm_source, utm_campaign (colunas do pedido; a UTM vem da última visita da jornada do cliente) e product (faz join com shopify_order_items; totalRevenue = preço unitário original × quantity, bruto de descontos de linha; totalOrders = pedidos distintos; a linha (outros) informa apenas key e totalRevenue — seus totalOrders, avgTicket e uniqueCustomers são null). O Shopify não expõe dados de pagamento — payment_method retorna 400.
ClientIdAuthClientSecretAuthx-client-id<token>Client ID
x-client-secret<token>Client secret
organizationId*stringIdentificador da organização (obrigatório)
dateStart*stringInício do período (YYYY-MM-DD), filtra created_at
datedateEnd*stringFim do período (YYYY-MM-DD), filtra created_at (dia inteiro incluído)
dateintegrationName?stringRestringe a uma única integração de loja
status?stringStatus do pedido no Shopify (closed | cancelled | processed | open). Quando omitido, pedidos cancelados/reembolsados são excluídos por padrão; informá-lo substitui esse padrão.
groupBy?stringDetalha o resumo por uma dimensão. O Shopify suporta: utm_source, utm_campaign, product, source_name.
"utm_source""utm_campaign""product""source_name"Resumo de pedidos (com eco de groupBy e groups quando solicitado)
application/json- response
totalOrders?integertotalRevenue?numberfloatavgTicket?numberfloattotalCustomers?integeruniqueCustomers?integerperiod?platform?string"vtex""shopify""tray"integrationName?string|nullgroupBy?stringEco da dimensão solicitada. Presente apenas quando groupBy foi enviado.
"payment_method""utm_source""utm_campaign""product""source_name"groups?array<>Presente apenas quando groupBy foi enviado. Os 20 principais grupos ordenados por totalRevenue decrescente, mais uma linha '(outros)' agregando o restante, quando existe. Valores de dimensão null/em branco são agrupados como '(sem valor)'. O grupo '(sem valor)', quando tem linhas, é sempre retornado como seu próprio grupo explícito — mesmo fora do top 20 — e seus números são excluídos de '(outros)'. Em dimensões de granularidade de pedido (payment_method, utm_source, utm_campaign, source_name), a linha '(outros)' é completa — seu uniqueCustomers é uma aproximação de limite inferior ajustada (contagens distintas não se subtraem entre grupos). Para groupBy=product (granularidade de item), a linha '(outros)' traz APENAS key e totalRevenue: totalOrders, avgTicket e uniqueCustomers são null, porque as contagens de pedidos por produto se sobrepõem (um pedido conta uma vez por produto que contém) e as contagens do restante não podem ser derivadas; o grupo '(sem valor)' na granularidade de item é um grupo normal com todas as métricas.
curl -X GET "https://example.com/v1/shopify/orders/summary?organizationId=org_123&dateStart=2019-08-24&dateEnd=2019-08-24"{ "totalOrders": 847, "totalRevenue": 152340.5, "avgTicket": 179.86, "totalCustomers": 612, "uniqueCustomers": 489, "period": { "start": "2026-06-01", "end": "2026-06-23" }, "platform": "vtex", "integrationName": "lupo-vtex", "groupBy": "payment_method", "groups": [ { "key": "creditCard", "totalOrders": 412, "totalRevenue": 80231.4, "avgTicket": 194.74, "uniqueCustomers": 322 } ]}