Análises por período
Indicadores com comparativos, receita por dia, produtos mais vendidos e pedidos por status do seller.
As análises alimentam os gráficos do painel. Diferente do resumo da conta, elas excluem da receita e do total os pedidos cancelados, reembolsados, recusados, estornados e anulados. Exigem o privilégio financeiro e o módulo analytics ligado na loja.
Indicadores do período
Devolve os indicadores do período pedido, já com a comparação contra o período imediatamente anterior (de mesma duração) e contra o mesmo período do ano passado.
/api/v1/vendor/analytics/statsSellerIndicadores do período
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso do usuário seller (veja Tokens).Parâmetros de consulta
periodstringpadrão: 30daystoday7days30days90daysallExemplo de requisição
curl -X GET "$BASE_URL/api/v1/vendor/analytics/stats?period=30days" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"total_orders": 4,
"total_revenue": 380377,
"pending_orders": 3,
"completed_orders": 0,
"cancelled_orders": 3,
"avg_order_value": 95094,
"unique_customers": 4,
"period": "30days",
"previous_total_orders": 1633,
"previous_total_revenue": 103680436,
"previous_avg_order_value": 63491,
"previous_unique_customers": 1024,
"year_ago_total_orders": 1146,
"year_ago_total_revenue": 73426509,
"year_ago_avg_order_value": 64072,
"year_ago_unique_customers": 950
}Campos da resposta
total_ordersintegertotal_revenueintegerpending_ordersintegercompleted_ordersintegercancelled_ordersintegertotal_orders.avg_order_valueintegerunique_customersintegerperiodstringprevious_*integerprevious_total_orders, previous_total_revenue, previous_avg_order_value, previous_unique_customers: os mesmos quatro números na janela anterior de mesma duração.year_ago_*integeryear_ago_total_orders, year_ago_total_revenue, year_ago_avg_order_value, year_ago_unique_customers: os mesmos quatro números um ano antes.Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Token ausente, inválido, expirado ou revogado. | invalid or expired token |
| 403 | O token não é de um usuário seller (por exemplo, um token de administrador), a loja ainda está em análise de cadastro, ou o usuário não tem o privilégio exigido. | {"error":"insufficient vendor privileges","privilege_required_any":["vendor_financial","vendor_view_financial","vendor_request_payouts","vendor_view_commissions","vendor_view_debts","vendor_view_referrals"]} |
| 400 | period desconhecido. | {"error":"invalid period; valid values: today, 7days, 30days, 90days, all"} |
| 403 | O módulo analytics está desligado nesta loja. | {"error":"module_disabled","module":"analytics"} |
Receita por dia
Devolve uma linha por dia do intervalo, com receita, número de pedidos e ticket médio. Dias sem venda aparecem com zeros.
/api/v1/vendor/analytics/daily-revenueSellerReceita por dia
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso do usuário seller (veja Tokens).Parâmetros de consulta
startstringobrigatórioYYYY-MM-DD.endstringobrigatórioYYYY-MM-DD. A janela é de no máximo 366 dias.Exemplo de requisição
curl -X GET "$BASE_URL/api/v1/vendor/analytics/daily-revenue?start=2026-10-08&end=2026-10-11" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"daily_revenue": [
{
"date": "2026-10-09",
"revenue": 13587,
"orders": 1,
"avg_order_value": 13587
},
{
"date": "2026-10-10",
"revenue": 45000,
"orders": 2,
"avg_order_value": 22500
}
]
}Campos da resposta
daily_revenueobject[]Um item por dia, em ordem crescente.
daily_revenue[].datestringYYYY-MM-DD.daily_revenue[].revenueintegerdaily_revenue[].ordersintegerdaily_revenue[].avg_order_valueintegerErros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Token ausente, inválido, expirado ou revogado. | invalid or expired token |
| 403 | O token não é de um usuário seller (por exemplo, um token de administrador), a loja ainda está em análise de cadastro, ou o usuário não tem o privilégio exigido. | {"error":"insufficient vendor privileges","privilege_required_any":["vendor_financial","vendor_view_financial","vendor_request_payouts","vendor_view_commissions","vendor_view_debts","vendor_view_referrals"]} |
| 400 | start ou end ausentes. | {"error":"start and end query parameters are required (format: 2006-01-02)"} |
| 400 | Data fora do formato YYYY-MM-DD, início depois do fim, ou janela maior que 1 ano. | {"error":"date range must not exceed 1 year"} |
| 403 | O módulo analytics está desligado nesta loja. | {"error":"module_disabled","module":"analytics"} |
Produtos mais vendidos
Ranking dos produtos do seller no intervalo, ordenado pela receita.
/api/v1/vendor/analytics/top-productsSellerProdutos mais vendidos
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso do usuário seller (veja Tokens).Parâmetros de consulta
startstringobrigatórioYYYY-MM-DD.endstringobrigatórioYYYY-MM-DD. Janela de no máximo 366 dias.limitintegerpadrão: 10Exemplo de requisição
curl -X GET "$BASE_URL/api/v1/vendor/analytics/top-products?start=2026-09-01&end=2026-10-11&limit=2" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"top_products": [
{
"product_id": "b02afb3d-4218-40ef-a72f-47beede28d46",
"product_name": "Cafeteira Elétrica Lumina 900W",
"quantity": 9,
"revenue": 2691000
},
{
"product_id": "f00b151f-498a-4c27-adfb-774ac5ac6c89",
"product_name": "Garrafa Vintage Verde 02477",
"quantity": 3,
"revenue": 392970
}
]
}Campos da resposta
top_productsobject[]Produtos, do que mais faturou para o que menos faturou.
top_products[].product_iduuidtop_products[].product_namestringtop_products[].quantityintegertop_products[].revenueintegerErros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Token ausente, inválido, expirado ou revogado. | invalid or expired token |
| 403 | O token não é de um usuário seller (por exemplo, um token de administrador), a loja ainda está em análise de cadastro, ou o usuário não tem o privilégio exigido. | {"error":"insufficient vendor privileges","privilege_required_any":["vendor_financial","vendor_view_financial","vendor_request_payouts","vendor_view_commissions","vendor_view_debts","vendor_view_referrals"]} |
| 400 | start ou end ausentes. | {"error":"start and end query parameters are required (format: 2006-01-02)"} |
| 400 | Data fora do formato YYYY-MM-DD, início depois do fim, ou janela maior que 1 ano. | {"error":"date range must not exceed 1 year"} |
| 403 | O módulo analytics está desligado nesta loja. | {"error":"module_disabled","module":"analytics"} |
Pedidos por status
Conta os sub-pedidos do seller agrupados por status. Sem period, conta tudo desde sempre.
/api/v1/vendor/analytics/orders-by-statusSellerPedidos por status
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso do usuário seller (veja Tokens).Parâmetros de consulta
periodstringtoday7days30days90daysallExemplo de requisição
curl -X GET "$BASE_URL/api/v1/vendor/analytics/orders-by-status?period=7days" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"statuses": [
{
"status": "I",
"code": "cancelled",
"name": "Cancelado",
"type": "cancelled",
"count": 3
},
{
"status": "O",
"code": "pending",
"name": "Pendente",
"type": "initial",
"count": 2
},
{
"status": "P",
"code": "processing",
"name": "Processando",
"type": "processing",
"count": 1
}
]
}Campos da resposta
statusesobject[]Um item por status que tem pedidos, do mais frequente para o menos.
statuses[].statusstringstatuses[].codestringstatuses[].namestringstatuses[].typestringinitialprocessingshippedcompletecancelledrefundedstatuses[].countintegerErros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Token ausente, inválido, expirado ou revogado. | invalid or expired token |
| 403 | O token não é de um usuário seller (por exemplo, um token de administrador), a loja ainda está em análise de cadastro, ou o usuário não tem o privilégio exigido. | {"error":"insufficient vendor privileges","privilege_required_any":["vendor_financial","vendor_view_financial","vendor_request_payouts","vendor_view_commissions","vendor_view_debts","vendor_view_referrals"]} |
| 403 | O módulo analytics está desligado nesta loja. | {"error":"module_disabled","module":"analytics"} |