Relatórios avançados de vendas
Vendas com comparação entre períodos, formas de pagamento e categorias, com filtro por seller e categoria.
Os relatórios avançados aceitam filtros por seller e categoria e, no de vendas, comparação com outro período. Todos exigem from e to (YYYY-MM-DD) e o privilégio view_reports. Valores em dinheiro vêm em centavos e porcentagens em pontos-base (5115 = 51,15%).
Vendas avançado
/api/v1/admin/advanced-reports/salesAdminVendas com comparação de períodos
Parâmetros de consulta
fromstringobrigatórioInício do período,
YYYY-MM-DD. Obrigatório.tostringobrigatórioFim do período,
YYYY-MM-DD. Obrigatório.vendor_iduuidLimita ao seller (lojista) informado.
category_iduuidAceito, mas ignorado neste relatório: só o relatório de categorias filtra por categoria.
group_bystringpadrão: daydayweekmonthAgrupamento da série: por dia, semana ou mês.
compare_fromstringInício do período de comparação,
YYYY-MM-DD.compare_tostringFim do período de comparação. Os dois campos de comparação precisam vir juntos, senão a comparação é ignorada.
Exemplo de requisição
Resposta
200Relatório com comparação
Os campos são os mesmos de Vendas. Aqui revenue_change e order_change são o quanto o período atual ficou acima ou abaixo do de comparação, em pontos-base.
Erros
| Status | Quando | Exemplo de corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário administrador. | {"error":"admin access required"} |
| 403 | O usuário é administrador, mas não tem o privilégio exigido. | {"error":"insufficient privileges","privilege_required_any":["view_reports"]} |
| 400 | from ou to ausente. | {"error":"from and to query parameters are required (format: 2006-01-02)"} |
| 500 | Falha ao gerar o relatório. | {"error":"failed to generate sales report","detail":"..."} |
Formas de pagamento
/api/v1/admin/advanced-reports/paymentsAdminReceita por forma de pagamento
Parâmetros de consulta
fromstringobrigatórioInício do período,
YYYY-MM-DD. Obrigatório.tostringobrigatórioFim do período,
YYYY-MM-DD. Obrigatório.vendor_iduuidLimita ao seller (lojista) informado.
category_iduuidAceito, mas ignorado neste relatório: só o relatório de categorias filtra por categoria.
group_bystringpadrão: daydayweekmonthAgrupamento da série: por dia, semana ou mês.
Exemplo de requisição
Resposta
200Relatório de pagamentos
Campos da resposta
methodsarrayUm item por forma de pagamento usada.
methods[].methodstringCódigo (slug) da forma de pagamento, como
pix, credit_card, boleto. Pode ser um código customizado da loja.methods[].order_countintegerPedidos pagos com a forma.
methods[].revenueintegerReceita da forma, em centavos.
methods[].percentageintegerParticipação na receita total, em pontos-base.
time_seriesarrayPor dia (ou semana/mês):
date e methods, um mapa de código da forma para receita em centavos.generated_atstringMomento da geração (RFC 3339).
Erros
| Status | Quando | Exemplo de corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário administrador. | {"error":"admin access required"} |
| 403 | O usuário é administrador, mas não tem o privilégio exigido. | {"error":"insufficient privileges","privilege_required_any":["view_reports"]} |
| 400 | from ou to ausente. | {"error":"from and to query parameters are required"} |
| 500 | Falha ao gerar o relatório. | {"error":"failed to generate payment report","detail":"..."} |
Categorias
/api/v1/admin/advanced-reports/categoriesAdminDesempenho por categoria
Parâmetros de consulta
fromstringobrigatórioInício do período,
YYYY-MM-DD. Obrigatório.tostringobrigatórioFim do período,
YYYY-MM-DD. Obrigatório.vendor_iduuidLimita ao seller (lojista) informado.
category_iduuidLimita à categoria informada.
group_bystringpadrão: daydayweekmonthAgrupamento da série: por dia, semana ou mês.
Exemplo de requisição
Resposta
200Desempenho por categoria
Campos da resposta
categoriesarrayDo maior para o menor faturamento.
categories[].category_idstringUUID da categoria ou
uncategorized.categories[].category_namestringNome da categoria.
categories[].product_countintegerProdutos distintos vendidos.
categories[].products_soldintegerUnidades vendidas.
categories[].revenueintegerReceita, em centavos.
categories[].avg_priceintegerPreço médio por unidade, em centavos.
categories[].order_countintegerPedidos que tiveram a categoria.
categories[].percentageintegerParticipação na receita total, em pontos-base.
time_seriesarrayPor dia:
date e categories, mapa de nome da categoria para receita em centavos, só para as 5 maiores categorias.generated_atstringMomento da geração (RFC 3339).
Erros
| Status | Quando | Exemplo de corpo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário administrador. | {"error":"admin access required"} |
| 403 | O usuário é administrador, mas não tem o privilégio exigido. | {"error":"insufficient privileges","privilege_required_any":["view_reports"]} |
| 400 | from ou to ausente. | {"error":"from and to query parameters are required"} |
| 500 | Falha ao gerar o relatório. | {"error":"failed to generate category report","detail":"..."} |