Desempenho dos representantes
Resumo e painel de um representante, os pedidos atribuídos a ele e a busca de representantes por estado.
Quatro leituras para acompanhar quanto cada representante vendeu. Os valores em dinheiro são inteiros em centavos.
Resumo
/api/v1/admin/trade-reps/{id}/summaryAdminTotais de vendas e comissão de um representante
Parâmetros de caminho
idintegerobrigatório{
"total_sales": 1250000,
"total_commission": 62500,
"pending_commission": 20000,
"approved_commission": 12500,
"paid_commission": 30000,
"vendor_count": 1,
"order_count": 18,
"credit_balance": 0
}Campos da resposta
total_salesintegertotal_commissionintegerpending_commissionintegerapproved_commissionintegerpaid_commissionintegervendor_countintegerorder_countintegercredit_balanceintegerPainel
O resumo mais os números do mês corrente.
/api/v1/admin/trade-reps/{id}/dashboardAdminResumo e números do mês de um representante
Parâmetros de caminho
idintegerobrigatório{
"total_sales": 0,
"total_commission": 0,
"pending_commission": 0,
"approved_commission": 0,
"paid_commission": 0,
"vendor_count": 1,
"order_count": 0,
"credit_balance": 0,
"customer_count": 7,
"orders_this_month": 0,
"sales_this_month": 0,
"commission_this_month": 0
}Os campos novos em relação ao resumo: customer_count (clientes na carteira), orders_this_month, sales_this_month e commission_this_month (em centavos).
Pedidos do representante
Pedidos atribuídos ao representante, do mais novo para o mais antigo.
/api/v1/admin/trade-reps/{id}/ordersAdminLista os pedidos atribuídos a um representante
Parâmetros de caminho
idintegerobrigatórioParâmetros de consulta
statusstringcustomer_iduuidpageintegerpadrão: 1per_pageintegerpadrão: 20{
"orders": [
{
"order_id": "4cb4cd7c-e817-48b3-b4a0-2f99f856a50b",
"order_number": "19611",
"customer_id": "b2495fbb-8e8d-4d18-b370-b30f880bfd71",
"customer_name": "Bruno Gomes",
"customer_email": "bruno.gomes@example.com",
"status": "processing",
"total": 79990,
"currency": "BRL",
"created_at": "2026-09-07T02:04:51Z"
}
],
"total": 118,
"page": 1,
"per_page": 20,
"total_pages": 6
}Campos da resposta
ordersarrayorders[].order_iduuidorders[].order_numberstringorders[].customer_iduuidorders[].statusstringorders[].totalinteger79990 = R$ 799,90).orders[].currencystringBRL).orders[].created_atstringorders[].parent_idstringorders[].split_kindstringorders[].customer_cnpjstringtotalintegerRepresentantes por estado
Procura os representantes que atendem um estado, por exemplo para escolher a quem encaminhar um cliente novo.
/api/v1/admin/trade-reps/by-stateAdminLista representantes que atendem um estado
Parâmetros de consulta
statestringobrigatórioSP.{ "reps": [], "total": 0, "state": "SP" }reps traz os mesmos objetos da lista de representantes.
Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 400 | id não é inteiro. | {"error":"invalid trade rep ID"} |
| 400 | by-state sem state. | {"error":"state query parameter is required"} |
| 500 | Resumo ou painel de um representante que não existe. | {"error":"failed to get rep summary","detail":"trade rep not found"} |
| 401 / 403 | Sem token, módulo desligado ou sem privilégio. | {"error":"module_disabled","module":"trade-reps"} |