Resumo de pedidos Tray
Totais agregados de pedidos da Tray no período informado. status filtra diretamente a coluna status da Tray. Dimensões de groupBy: payment_method (coluna do pedido) e product (faz join com tray_products; totalRevenue = price × quantity, totalOrders = pedidos distintos; a linha (outros) informa apenas key e totalRevenue — seus totalOrders, avgTicket e uniqueCustomers são null). Outras dimensões retornam 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 date
datedateEnd*stringFim do período (YYYY-MM-DD), filtra date (dia inteiro incluído)
dateintegrationName?stringRestringe a uma única integração de loja
status?stringStatus do pedido na Tray. Quando omitido, pedidos 'Cancelado' são excluídos por padrão; informá-lo substitui esse padrão.
groupBy?stringDetalha o resumo por uma dimensão. A Tray suporta: payment_method, product.
"payment_method""product"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/tray/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 } ]}