Razão de comissões
Consulta e ajusta as entradas do razão: uma linha por item vendido, com a parte da loja e a parte do seller.
O razão (ledger) é o extrato da comissão. Quando um pedido de seller é concluído, a plataforma cria uma entrada por item, aplica a regra escolhida e grava quanto fica com a loja e quanto com o seller. É esse extrato que alimenta o saldo do seller e os repasses.
Listar entradas do razão
Lista as linhas do razão, da mais recente para a mais antiga, com filtro por seller e por estado. É o extrato de tudo que a loja reteve e de tudo que cada seller tem a receber.
/api/v1/admin/commission-entriesAdminLista as entradas do razão de comissões
Autenticação: Authorization: Bearer <token> de um administrador com o privilégio view_vendors ou manage_vendors (as escritas exigem manage_vendors). O módulo commissions precisa estar ativo na loja; com o módulo desligado a resposta é 403.
Parâmetros de consulta
vendor_idstringstatusstringpendingconfirmedsettledPASpending, confirmed, settled ou a letra P, A, S. Outro valor não casa com nada e a lista volta vazia.pageintegerpadrão: 1per_pageintegerpadrão: 20Exemplo de requisição
curl "$BASE_URL/api/v1/admin/commission-entries?status=confirmed&per_page=20" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"entries": [
{
"id": "82fd7077-0479-4457-bd8e-8b21006ff207",
"order_id": "6af86ed3-d949-474d-8e04-513c6e83bfe4",
"order_item_id": "a43b9f10-5590-424b-87c8-dffa34bae43d",
"vendor_id": "9d9d9d56-eb43-4719-889d-055632f7c7da",
"rule_id": "c962f0d4-b899-4055-b156-e559873970eb",
"item_amount": 4266,
"commission_amount": 426,
"vendor_amount": 3840,
"status": "P",
"created_at": "2026-10-11T21:06:42.025492Z"
}
],
"total": 41269,
"page": 1,
"per_page": 20,
"total_pages": 2064
}Campos da resposta
entriesarrayentries[].iduuidentries[].order_iduuidentries[].order_item_iduuid | nullentries[].vendor_iduuidentries[].rule_iduuid | nullnull quando nenhuma regra casou (comissão zero).entries[].item_amountintegerentries[].commission_amountintegerentries[].vendor_amountintegeritem_amount - commission_amount).entries[].statusstringPASentries[].created_atstringtotalintegerpageintegerper_pageintegertotal_pagesintegerErros
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem token ou token inválido | {"error":"missing authorization header"} |
| 403 | Sem o privilégio exigido, ou módulo desligado | {"error":"module_disabled","module":"commissions"} / {"error":"insufficient privileges","required":"manage_vendors"} |
| 500 | Falha na consulta | {"error":"failed to list commission entries","detail":"..."} |
Alterar o estado de uma entrada
Move uma entrada entre os estados pending, confirmed e settled. É um ajuste manual do operador: o caminho normal é automático (a confirmação ocorre sozinha após a janela de retenção e a liquidação acontece quando um repasse é gerado ou concluído).
/api/v1/admin/commission-entries/{id}/statusAdminAltera o estado de uma entrada do razão
Autenticação: Authorization: Bearer <token> de um administrador com o privilégio view_vendors ou manage_vendors (as escritas exigem manage_vendors). O módulo commissions precisa estar ativo na loja; com o módulo desligado a resposta é 403.
Parâmetros de caminho
iduuidobrigatórioCorpo da requisição
statusstringobrigatóriopendingconfirmedsettledPASExemplo de requisição
curl -X PATCH "$BASE_URL/api/v1/admin/commission-entries/d5ccd9e1-dd21-458c-90a5-4a7f3c2b9e10/status" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"status": "confirmed"
}'Resposta
{
"status": "confirmed"
}A resposta ecoa o valor enviado, não a letra gravada. Um id inexistente também responde 200: nada é alterado e nenhum erro é devolvido.
Erros
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem token ou token inválido | {"error":"missing authorization header"} |
| 403 | Sem o privilégio exigido, ou módulo desligado | {"error":"module_disabled","module":"commissions"} / {"error":"insufficient privileges","required":"manage_vendors"} |
| 400 | status vazio, ausente ou fora de pending/confirmed/settled (o texto de detail volta em português) | {"error":"invalid status","detail":"status de entrada de comissão inválido: ..."} |
| 500 | id que não é UUID ou falha ao gravar | {"error":"failed to update entry status","detail":"..."} |
Faturas de comissão
Rota mantida por compatibilidade com a plataforma antiga, que emitia uma fatura mensal de comissão por seller. Na plataforma atual essas faturas não são geradas: a resposta é sempre uma lista vazia. Para o extrato de comissões use a lista de entradas do razão, acima.
/api/v1/admin/commission-invoicesAdminLista as faturas mensais de comissão (compatibilidade)
Autenticação: Authorization: Bearer <token> de um administrador. Esta rota não depende do módulo commissions.
Sem parâmetros.
Exemplo de requisição
curl "$BASE_URL/api/v1/admin/commission-invoices" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"invoices": [],
"total": 0,
"source": "ec_accounting_page"
}Campos da resposta
invoicesarraytotalinteger0.sourcestringErros
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem token ou token inválido | {"error":"missing authorization header"} |