Resumo de vendas
Pedidos, receita, ticket médio e clientes de um período, com comparação com o período anterior e com o ano anterior.
Estas duas rotas respondem à pergunta "como a loja está indo?". stats devolve os números de um período. overview devolve os mesmos números mais a contagem de pedidos por status, numa chamada só, para montar uma tela inicial. Os dois comparam com o período anterior de mesma duração e com o mesmo intervalo um ano antes, o que dá a variação sem uma segunda chamada.
Estatísticas do período
/api/v1/admin/analytics/statsAdminEstatísticas de pedidos de um período
Parâmetros de consulta
periodstringpadrão: 30daystoday7days30days90daysallJanela de tempo, contada de agora para trás.
Exemplo de requisição (stats)
Resposta (stats)
200Estatísticas retornadas
Campos da resposta
total_ordersintegerPedidos que contam como venda: todos menos cancelados, reembolsados, falhos, chargeback e anulados.
total_revenueintegerReceita desses pedidos, em centavos.
pending_ordersintegerPedidos pendentes (status
O) no período, contados à parte.completed_ordersintegerPedidos concluídos segundo o cadastro de status da loja.
cancelled_ordersintegerPedidos cancelados (status
I).avg_order_valueintegerTicket médio em centavos (receita dividida por
total_orders).unique_customersintegerClientes distintos no período. Em
/analytics/report o valor vem sempre 0.periodstringO período pedido. No relatório por datas,
start, um travessão longo e end.previous_total_ordersintegerMesmo número do período imediatamente anterior, com a mesma duração.
0 quando period=all.previous_total_revenueintegerReceita do período anterior, em centavos.
previous_avg_order_valueintegerTicket médio do período anterior, em centavos.
previous_unique_customersintegerClientes distintos no período anterior.
year_ago_total_ordersintegerPedidos na mesma janela, um ano antes.
year_ago_total_revenueintegerReceita na mesma janela, um ano antes, em centavos.
year_ago_avg_order_valueintegerTicket médio um ano antes, em centavos.
year_ago_unique_customersintegerClientes distintos um ano antes.
Erros (stats)
| Status | Quando | Corpo |
|---|---|---|
| 400 | period fora da lista. | {"error":"invalid period; valid values: today, 7days, 30days, 90days, all"} |
| 401 | Sem token, token inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O usuário não tem o privilégio exigido. | {"error":"insufficient privileges","required":"view_reports"} |
| 403 | O módulo está desligado na loja. | {"error":"module_disabled","module":"analytics"} |
| 500 | Falha ao consultar os dados. | {"error":"failed to ..."} |
Visão geral
/api/v1/admin/analytics/overviewAdminEstatísticas mais pedidos por status
Parâmetros de consulta
periodstringpadrão: 30daystoday7days30days90daysallJanela de tempo, contada de agora para trás.
Exemplo de requisição (overview)
Resposta (overview)
200Visão geral retornada
Campos da resposta
periodstringO período usado.
statsobjectO mesmo objeto de
/analytics/stats (o exemplo mostra só alguns campos).orders_by_statusarrayPedidos por status, igual a Pedidos por status. Se essa parte falhar, a rota ainda responde 200 com a lista vazia.
Erros (overview)
| Status | Quando | Corpo |
|---|---|---|
| 400 | period fora da lista. | {"error":"invalid period; valid values: today, 7days, 30days, 90days, all"} |
| 401 | Sem token, token inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O usuário não tem o privilégio exigido. | {"error":"insufficient privileges","required":"view_reports"} |
| 403 | O módulo está desligado na loja. | {"error":"module_disabled","module":"analytics"} |
| 500 | Falha ao consultar os dados. | {"error":"failed to ..."} |