Antecipações
Antecipação de recebíveis do seller: aprovar o pedido, registrar o envio e definir a política da loja.
A antecipação ("Antecipa Venddor") deixa o seller receber agora parte do saldo que só liberaria no ciclo normal, pagando uma taxa. O seller pede pelo painel dele e a plataforma calcula a taxa e confere se ele é elegível. O administrador então aprova (o que lança uma dívida igual ao valor pedido), registra o envio do dinheiro e a dívida vai sendo abatida dos saques seguintes até quitar.
pending > approved > disbursed > settling > settled. Um pedido pode ser canceled pelo seller antes do envio.
Listar antecipações
Lista as antecipações de todos os sellers, da mais recente para a mais antiga, até 500. Não há paginação.
/api/v1/admin/vendor-advancesAdminLista as antecipações dos sellers
Autenticação: Authorization: Bearer <token> de um administrador. Não depende de módulo; a antecipação precisa estar habilitada pela rota de configuração (abaixo) para o seller conseguir pedir.
Parâmetros de consulta
statusstringpendingapproveddisbursedsettlingsettledcanceledExemplo de requisição
curl "$BASE_URL/api/v1/admin/vendor-advances?status=pending" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"items": [
{
"id": "810384e7-ec30-4141-a993-238da66a7fac",
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"status": "pending",
"requested_cents": 100000,
"fee_cents": 2900,
"net_cents": 97100,
"fee_bps": 300,
"estimated_days": 29,
"created_at": "2026-07-19T00:52:54.145008Z"
}
]
}Campos da resposta
itemsarrayitems[].iduuiditems[].vendor_iduuiditems[].statusstringpendingapproveddisbursedsettlingsettledcanceledpending (pedida), approved (aprovada, dívida lançada), disbursed (dinheiro enviado), settling (dívida parcialmente abatida), settled (dívida quitada), canceled.items[].requested_centsintegeritems[].fee_centsintegeritems[].net_centsintegerrequested_cents - fee_cents.items[].fee_bpsintegeritems[].estimated_daysintegeritems[].debt_iduuiditems[].created_atstringitems[].disbursed_atstringitems[].settled_atstringErros
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem token ou token inválido | {"error":"missing authorization header"} |
| 500 | Falha na consulta | {"error":"failed to list advances","detail":"..."} |
Aprovar antecipação
Passa de pending para approved e lança uma dívida do seller no valor pedido (requested_cents), com motivo advance. Essa dívida será abatida dos saques seguintes. Publica o evento vendor.advance.approved.
/api/v1/admin/vendor-advances/{id}/approveAdminAprova uma antecipação pedida
Autenticação: Authorization: Bearer <token> de um administrador. Não depende de módulo; a antecipação precisa estar habilitada pela rota de configuração (abaixo) para o seller conseguir pedir.
Parâmetros de caminho
iduuidobrigatórioExemplo de requisição
curl -X POST "$BASE_URL/api/v1/admin/vendor-advances/d5ccd9e1-dd21-458c-90a5-4a7f3c2b9e10/approve" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"id": "810384e7-ec30-4141-a993-238da66a7fac",
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"status": "approved",
"requested_cents": 100000,
"fee_cents": 2900,
"net_cents": 97100,
"fee_bps": 300,
"estimated_days": 29,
"created_at": "2026-07-19T00:52:54.145008Z",
"debt_id": "5b1e7a2c-4f3d-4c8a-9d21-6e0f1a2b3c4d"
}Campos da resposta
iduuidvendor_iduuidstatusstringpendingapproveddisbursedsettlingsettledcanceledpending (pedida), approved (aprovada, dívida lançada), disbursed (dinheiro enviado), settling (dívida parcialmente abatida), settled (dívida quitada), canceled.requested_centsintegerfee_centsintegernet_centsintegerrequested_cents - fee_cents.fee_bpsintegerestimated_daysintegerdebt_iduuidcreated_atstringdisbursed_atstringsettled_atstringErros
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem token ou token inválido | {"error":"missing authorization header"} |
| 400 | Antecipação inexistente, id inválido ou fora de pending | {"error":"failed to approve advance","detail":"advance is not pending"} / {"error":"failed to approve advance","detail":"sql: no rows in result set"} |
Registrar o envio
Passa de approved para disbursed e grava a data. Use depois de transferir o valor líquido ao seller. A plataforma não envia o dinheiro: só registra.
/api/v1/admin/vendor-advances/{id}/disburseAdminRegistra que o valor da antecipação foi enviado
Autenticação: Authorization: Bearer <token> de um administrador. Não depende de módulo; a antecipação precisa estar habilitada pela rota de configuração (abaixo) para o seller conseguir pedir.
Parâmetros de caminho
iduuidobrigatórioExemplo de requisição
curl -X POST "$BASE_URL/api/v1/admin/vendor-advances/d5ccd9e1-dd21-458c-90a5-4a7f3c2b9e10/disburse" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"id": "810384e7-ec30-4141-a993-238da66a7fac",
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"status": "disbursed",
"requested_cents": 100000,
"fee_cents": 2900,
"net_cents": 97100,
"fee_bps": 300,
"estimated_days": 29,
"created_at": "2026-07-19T00:52:54.145008Z",
"debt_id": "5b1e7a2c-4f3d-4c8a-9d21-6e0f1a2b3c4d",
"disbursed_at": "2026-07-20T10:00:00Z"
}Campos da resposta
iduuidvendor_iduuidstatusstringpendingapproveddisbursedsettlingsettledcanceledpending (pedida), approved (aprovada, dívida lançada), disbursed (dinheiro enviado), settling (dívida parcialmente abatida), settled (dívida quitada), canceled.requested_centsintegerfee_centsintegernet_centsintegerrequested_cents - fee_cents.fee_bpsintegerestimated_daysintegerdebt_iduuidcreated_atstringdisbursed_atstringsettled_atstringErros
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem token ou token inválido | {"error":"missing authorization header"} |
| 400 | Antecipação inexistente ou fora de approved | {"error":"failed to disburse advance","detail":"advance not in approved state"} |
Configurar
Grava a política de antecipação da loja: se está ligada, a taxa, o teto por pedido e os critérios para o seller ser elegível. O corpo substitui a política inteira.
/api/v1/admin/vendor-advances/settingsAdminDefine a política de antecipação da loja
Autenticação: Authorization: Bearer <token> de um administrador. Não depende de módulo; a antecipação precisa estar habilitada pela rota de configuração (abaixo) para o seller conseguir pedir.
Corpo da requisição
enabledbooleanpadrão: falsefalse: a antecipação é desligada.fee_bpsintegerpadrão: 250250 = 2,5%). Zero ou negativo volta para 250.max_pctintegerpadrão: 8080.max_cents_capintegerpadrão: 00 = sem teto.exposure_cap_centsintegerpadrão: 00 = sem teto.min_days_activeinteger0 (sem mínimo). O padrão de uma loja nunca configurada é 90.min_delivered_ordersinteger0 (sem mínimo). O padrão de uma loja nunca configurada é 20.Exemplo de requisição
curl -X PUT "$BASE_URL/api/v1/admin/vendor-advances/settings" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"enabled": true,
"fee_bps": 250,
"max_pct": 80,
"max_cents_cap": 500000,
"exposure_cap_cents": 5000000,
"min_days_active": 90,
"min_delivered_orders": 20
}'Resposta
{
"enabled": true,
"fee_bps": 250,
"max_pct": 80,
"max_cents_cap": 500000,
"exposure_cap_cents": 5000000,
"min_days_active": 90,
"min_delivered_orders": 20
}A resposta ecoa o corpo recebido, com todos os campos. Não existe uma rota de leitura da política: guarde o que você enviou.
Erros
| Status | Quando | Corpo |
|---|---|---|
| 401 | Sem token ou token inválido | {"error":"missing authorization header"} |
| 400 | Corpo que não é JSON válido | {"error":"invalid request body","detail":"..."} |
| 500 | Falha ao gravar | {"error":"failed to save settings","detail":"..."} |