Comissões e saldo
Saldo, extrato, razão por item e comissões por pedido do seller.
Cada venda do seller gera dinheiro dividido em duas partes: a comissão que fica com a loja e o valor do seller. Estas cinco rotas mostram essa conta de ângulos diferentes. As rotas usam dois razões distintos, explicados na visão geral.
Saldo do seller
Devolve quanto o seller pode sacar agora e como o restante do dinheiro está distribuído. Atenção: apesar de ser um GET, a leitura primeiro gera as entradas de comissão que faltam (pedidos concluídos ainda sem lançamento) e confirma as que já passaram da janela de 72 horas. Chamar essa rota pode alterar o razão.
/api/v1/vendor/commissions/balanceSellerSaldo disponível, pendente e retido
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso de um usuário seller (veja Tokens).Exemplo de requisição
curl "$BASE_URL/api/v1/vendor/commissions/balance" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"id": "",
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"available_cents": 125000,
"pending_cents": 9293,
"held_cents": 0,
"total_earned_cents": 250000,
"total_paid_cents": 115707,
"gross_cents": 277778,
"commission_cents": 27778,
"confirmed_cents": 126000,
"reserved_cents": 1000,
"updated_at": "2026-10-11T21:24:44Z"
}Campos da resposta
idstringvendor_iduuidavailable_centsintegerpending_centsintegerP). Não é sacável.held_centsintegertotal_earned_centsintegertotal_paid_centsintegergross_centsintegercommission_centsintegerconfirmed_centsintegerreserved_centsintegerO, A ou P).updated_atstringErros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Token ausente, inválido, expirado ou revogado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário seller (por exemplo, é de administrador), ou o usuário não está vinculado a nenhum seller. | {"error":"insufficient permissions"} |
| 403 | Sub-conta do seller sem nenhum dos privilégios financeiro (a lista completa vem em privilege_required_any; o exemplo está cortado). O dono da loja passa sempre. | {"error":"insufficient vendor privileges","privilege_required_any":["vendor_financial","vendor_view_financial"]} |
| 403 | O usuário não está vinculado a nenhum seller. | {"error":"no vendor account associated with this user"} |
Extrato
Extrato em ordem cronológica: cada comissão ganha entra como crédito e cada saque como débito, com os saldos de abertura e fechamento do período. Sem from/to devolve os últimos 30 dias. Como o saldo, esta leitura gera e confirma entradas pendentes no período antes de responder.
/api/v1/vendor/commissions/statementSellerExtrato do seller por período
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso de um usuário seller (veja Tokens).Parâmetros de consulta
fromstringYYYY-MM-DD. Padrão: um mês atrás.tostringYYYY-MM-DD. Padrão: hoje.Exemplo de requisição
curl "$BASE_URL/api/v1/vendor/commissions/statement?from=2026-09-01&to=2026-09-30" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"period_start": "2026-09-01",
"period_end": "2026-09-30",
"opening_balance": 100000,
"closing_balance": 116000,
"total_credits": 21000,
"total_debits": 5000,
"entries": [
{
"id": "eedb4d02-57da-467b-b5fd-e553fbe5476a",
"type": "commission",
"description": "order_commission",
"order_id": "1c56dcf8-3ed2-4166-b02f-cd917fb0e90a",
"credit": 21000,
"debit": 0,
"balance": 121000,
"status": "A",
"date": "2026-09-08T03:04:21Z"
},
{
"id": "ff4e3984-349f-49e4-9398-3232a4e35ec7",
"type": "payout",
"description": "vendor_payout",
"credit": 0,
"debit": 5000,
"balance": 116000,
"status": "C",
"date": "2026-09-20T10:00:00Z"
}
]
}Campos da resposta
vendor_iduuidperiod_startstringYYYY-MM-DD.period_endstringYYYY-MM-DD.opening_balanceintegerclosing_balanceintegertotal_creditsintegertotal_debitsintegerentriesobject[]Linhas do extrato.
iduuidtypestringcommissionpayoutadjustmentdescriptionstringorder_commission ou vendor_payout. Traduza no seu cliente.order_iduuidcreditintegerdebitintegerbalanceintegerstatusstringdatestringErros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 400 | from ou to fora do formato YYYY-MM-DD (o texto de detail vem em inglês). | {"error":"invalid 'from' date, expected YYYY-MM-DD","detail":"parsing time \"2026-13-01\": month out of range"} |
| 401 | Token ausente, inválido, expirado ou revogado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário seller (por exemplo, é de administrador), ou o usuário não está vinculado a nenhum seller. | {"error":"insufficient permissions"} |
| 403 | Sub-conta do seller sem nenhum dos privilégios financeiro (a lista completa vem em privilege_required_any; o exemplo está cortado). O dono da loja passa sempre. | {"error":"insufficient vendor privileges","privilege_required_any":["vendor_financial","vendor_view_financial"]} |
| 403 | O usuário não está vinculado a nenhum seller. | {"error":"no vendor account associated with this user"} |
Razão por item
É o razão detalhado: uma entrada por item vendido em sub-pedido, mostrando quanto fica para a loja e quanto para o seller. Da mais recente para a mais antiga. Este é o razão que alimenta saldo, extrato e saques.
/api/v1/vendor/commissions/entriesSellerEntradas de comissão por item vendido
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso de um usuário seller (veja Tokens).Parâmetros de consulta
pageintegerpadrão: 1per_pageintegerpadrão: 20Exemplo de requisição
curl "$BASE_URL/api/v1/vendor/commissions/entries?page=1&per_page=20" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"entries": [
{
"id": "9c37d00c-d9f7-4c0e-9826-1ed655d812bd",
"order_id": "18566b6e-7857-4f00-9e62-52f644c2e78e",
"order_item_id": "ccb748c1-a2a4-49a8-b52e-a6db1a989147",
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"rule_id": "c962f0d4-b899-4055-b156-e559873970eb",
"item_amount": 8194,
"commission_amount": 819,
"vendor_amount": 7375,
"status": "P",
"created_at": "2026-10-09T06:30:57Z"
}
],
"total": 56197,
"page": 1,
"per_page": 20,
"total_pages": 2810
}Campos da resposta
entriesobject[]Entradas da página.
iduuidorder_iduuidorder_item_iduuid|nullvendor_iduuidrule_iduuid|nullitem_amountintegercommission_amountintegervendor_amountintegeritem_amount menos commission_amount).statusstringPASCcreated_atstringtotalintegerpageintegerper_pageintegertotal_pagesintegerErros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Token ausente, inválido, expirado ou revogado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário seller (por exemplo, é de administrador), ou o usuário não está vinculado a nenhum seller. | {"error":"insufficient permissions"} |
| 403 | Sub-conta do seller sem nenhum dos privilégios financeiro (a lista completa vem em privilege_required_any; o exemplo está cortado). O dono da loja passa sempre. | {"error":"insufficient vendor privileges","privilege_required_any":["vendor_financial","vendor_view_financial"]} |
| 403 | O usuário não está vinculado a nenhum seller. | {"error":"no vendor account associated with this user"} |
Comissões por pedido
Lista a comissão que a loja cobra em cada pedido do seller, calculada com o percentual e a taxa fixa do plano do seller. Existe um segundo razão, por item, em /commissions/entries. Não filtre por status aqui: só page e per_page são aceitos.
/api/v1/vendor/commissionsSellerComissões do plano, uma por pedido
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso de um usuário seller (veja Tokens).Parâmetros de consulta
pageintegerpadrão: 1per_pageintegerpadrão: 20Exemplo de requisição
curl "$BASE_URL/api/v1/vendor/commissions?page=1&per_page=20" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"commissions": [
{
"id": 36975,
"order_id": "4d4d79f4-f71b-4706-a303-bc79d48df101",
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"vendor_name": "Loja Exemplo",
"plan_id": 8,
"order_amount": 129990,
"commission_bps": 700,
"fixed_fee_cents": 0,
"commission_amount": 9099,
"status": "O",
"created_at": "2026-10-11T21:02:32Z",
"updated_at": "2026-10-11T21:02:32Z"
}
],
"total": 36926,
"page": 1,
"per_page": 20,
"total_pages": 1847
}Campos da resposta
commissionsobject[]Comissões da página.
idintegerorder_iduuidvendor_iduuidvendor_namestringplan_idintegerorder_amountintegercommission_bpsinteger700 = 7%).fixed_fee_centsintegercommission_amountintegerorder_amount x commission_bps / 10000 + fixed_fee_cents.statusstringOACIpaid_atstringcreated_atstringupdated_atstringtotalintegerpageintegerper_pageintegertotal_pagesintegerErros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Token ausente, inválido, expirado ou revogado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário seller (por exemplo, é de administrador), ou o usuário não está vinculado a nenhum seller. | {"error":"insufficient permissions"} |
| 403 | Sub-conta do seller sem nenhum dos privilégios financeiro (a lista completa vem em privilege_required_any; o exemplo está cortado). O dono da loja passa sempre. | {"error":"insufficient vendor privileges","privilege_required_any":["vendor_financial","vendor_view_financial"]} |
| 403 | O usuário não está vinculado a nenhum seller. | {"error":"no vendor account associated with this user"} |
Resumo das comissões
Soma as comissões por pedido (as de /commissions) por status. Comissões canceladas (I) ficam fora de todos os totais.
/api/v1/vendor/commissions/summarySellerTotais das comissões do plano por status
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso de um usuário seller (veja Tokens).Exemplo de requisição
curl "$BASE_URL/api/v1/vendor/commissions/summary" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"total_pending": 7793179,
"total_approved": 0,
"total_paid": 1041,
"total_all_time": 7794220,
"pending_count": 36925,
"approved_count": 0,
"paid_count": 1
}Campos da resposta
total_pendingintegerO (pendente).total_approvedintegerA (aprovada).total_paidintegerC (paga).total_all_timeintegerpending_countintegerapproved_countintegerpaid_countintegerErros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Token ausente, inválido, expirado ou revogado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário seller (por exemplo, é de administrador), ou o usuário não está vinculado a nenhum seller. | {"error":"insufficient permissions"} |
| 403 | Sub-conta do seller sem nenhum dos privilégios financeiro (a lista completa vem em privilege_required_any; o exemplo está cortado). O dono da loja passa sempre. | {"error":"insufficient vendor privileges","privilege_required_any":["vendor_financial","vendor_view_financial"]} |
| 403 | O usuário não está vinculado a nenhum seller. | {"error":"no vendor account associated with this user"} |