Métricas dos sellers
Define quais status de pedido contam nas métricas e quais cartões aparecem no painel de métricas de cada seller, e replica a configuração para todos.
O painel de métricas do seller mostra receita, pedidos, ticket médio, recompra e outros cartões. Esta configuração decide quais pedidos entram na conta (pelos status) e quais cartões aparecem. Cada seller pode ter a sua; a loja guarda um padrão que vale para quem não tem. As três rotas exigem o módulo metrics-config ativo e os privilégios de conteúdo: view_content ou manage_content para ler, manage_content para gravar.
Ler configuração
/api/v1/admin/metrics-configAdminConfiguração de métricas de um seller ou da loja
Parâmetros de consulta
vendor_iduuidExemplo de requisição
curl "$BASE_URL/api/v1/admin/metrics-config?vendor_id=94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"included_statuses": [
"B",
"C",
"G",
"H",
"K",
"P"
],
"cards": {
"revenue": true,
"orders": true,
"customers": true,
"ticket": true,
"repurchase": true,
"ltv": false,
"avg_days": true,
"rfm": true,
"sales_evolution": true,
"customer_donut": true,
"weekday": true,
"growth": true,
"status_donut": true,
"heatmap": true,
"order_search": true,
"top_customers": true,
"recent_orders": true
},
"has_own_config": true,
"default_source_vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36"
}Campos da resposta
vendor_idstringincluded_statusesarrayB, C, G, H, K, P. O significado de cada letra é definido por loja.cardsobjectrevenue, orders, customers, ticket, repurchase, ltv, avg_days, rfm, sales_evolution, customer_donut, weekday, growth, status_donut, heatmap, order_search, top_customers, recent_orders. true mostra o cartão.has_own_configbooleantrue quando o seller (ou a loja) tem configuração própria gravada; false quando está herdando o padrão.default_source_vendor_idstringErros
| 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":["manage_content","view_content"]} |
| 403 | O módulo metrics-config não está ativo nesta loja. | {"error":"module_disabled","module":"metrics-config"} |
| 500 | Falha ao ler. | {"error":"failed to load metrics config","detail":"..."} |
Gravar configuração
/api/v1/admin/metrics-configAdminGrava a configuração de um seller
Corpo da requisição
vendor_iduuidincluded_statusesarraycardsobjectfalse esconde o cartão; só true mostra. Se cards for omitido por inteiro, todos os cartões aparecem. Veja as chaves em Ler configuração.save_as_defaultbooleanpadrão: falsetrue grava também como padrão da loja e marca este seller como origem do padrão.Exemplo de requisição
curl -X PUT "$BASE_URL/api/v1/admin/metrics-config" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36", "included_statuses": ["C", "K"], "cards": {"revenue": true, "orders": true, "ticket": true}, "save_as_default": false}'Resposta
{
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"included_statuses": [
"C",
"K"
],
"cards": {
"revenue": true,
"orders": true,
"customers": true,
"ticket": true,
"repurchase": true,
"ltv": false,
"avg_days": true,
"rfm": true,
"sales_evolution": true,
"customer_donut": true,
"weekday": true,
"growth": true,
"status_donut": true,
"heatmap": true,
"order_search": true,
"top_customers": true,
"recent_orders": true
},
"has_own_config": true,
"default_source_vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36"
}O corpo é a configuração como ficou depois de gravar, no formato de Ler configuração.
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":["manage_content"]} |
| 403 | O módulo metrics-config não está ativo nesta loja. | {"error":"module_disabled","module":"metrics-config"} |
| 400 | JSON inválido ou falha ao gravar. | {"error":"invalid json","detail":"..."} |
Replicar para todos
/api/v1/admin/metrics-config/replicateAdminCopia a configuração de um seller para a loja e todos os sellers ativos
Corpo da requisição
vendor_iduuidobrigatórioExemplo de requisição
curl -X POST "$BASE_URL/api/v1/admin/metrics-config/replicate" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36"}'Resposta
{
"ok": true
}Campos da resposta
okbooleantrue em caso de sucesso.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":["manage_content"]} |
| 403 | O módulo metrics-config não está ativo nesta loja. | {"error":"module_disabled","module":"metrics-config"} |
| 400 | JSON inválido. | {"error":"invalid json","detail":"..."} |
| 500 | Falha ao replicar (a mensagem indica o seller em que parou). | {"error":"failed to replicate","detail":"replicate ...: ..."} |