Definir a regra de divisão
Substitui a regra de divisão do produto inteira. As pernas precisam fechar a divisão: sobra ou falta recusa.
PUThttps://api.navenaut.com/products/{productId}/split-rule
Autenticação
A sessão do painel autentica esta rota, e ela é lida de forma autoritativa: não há parâmetro em que o chamador aponte para outra conta.
Esta rota não exige escopo nomeado — o que não quer dizer que ela seja aberta: sem a credencial acima ela recusa.
Exige sessão de vendedor. O dono do produto vem do vínculo da sessão, nunca da requisição.
Parâmetros
Caminho
| Nome | Tipo | Descrição |
|---|---|---|
productIdobrigatório | texto (uuid) | O identificador do produto no seu catálogo. |
Corpo da requisição
application/json.
| Campo | Tipo | Descrição |
|---|---|---|
partsobrigatório | arranjo de objeto | As pernas da divisão, todas de uma vez. Esta rota substitui a regra, nunca a completa. |
{
"parts": [
{
"beneficiaryId": "0f2a4e6c-91c4-4e1b-9a3d-5b7c2e8f4a06",
"bps": 1,
"priority": 0,
"role": "coprodutor",
"shareKind": "proportional"
}
]
}Respostas
200 · sucesso
{
"acceptedMethods": [
"pix"
],
"affiliateProgram": {
"clickModel": "first",
"commissionBps": 1,
"cookieDays": 30,
"description": "exemplo",
"enabled": true,
"manualApproval": true,
"onBump": true,
"onUpsell": true,
"rules": "exemplo",
"supportEmail": "comprador@exemplo.com.br"
},
"archivedAt": "2026-01-15T12:00:00.000Z",
"billingType": "one_time",
"category": "Saúde e Esportes",
"createdAt": "2026-01-15T12:00:00.000Z",
"deliveryInstructions": "exemplo",
"deliveryMode": "members",
"description": "exemplo",
"id": "0f2a4e6c-91c4-4e1b-9a3d-5b7c2e8f4a06",
"imageUrl": "https://loja.exemplo.com.br/webhooks",
"installmentExtraBps": 0,
"installmentLimit": 1,
"name": "Loja Exemplo",
"offers": [
{
"createdAt": "2026-01-15T12:00:00.000Z",
"id": "0f2a4e6c-91c4-4e1b-9a3d-5b7c2e8f4a06",
"interval": {
"count": 1,
"unit": "week"
},
"name": "Loja Exemplo",
"position": 1,
"price": {
"amountCents": 129900,
"currency": "BRL"
},
"principal": true,
"publicId": "7K3M9X",
"status": "active"
}
],
"parts": [
{
"beneficiaryId": "0f2a4e6c-91c4-4e1b-9a3d-5b7c2e8f4a06",
"bps": 1,
"priority": 0,
"role": "coprodutor",
"shareKind": "proportional"
}
],
"pixRecoveryEmailEnabled": true,
"price": {
"amountCents": 129900,
"currency": "BRL"
},
"publicId": "7k3m9x",
"showAllOffers": true,
"statementDescriptor": "exemplo",
"status": "draft",
"updatedAt": "2026-01-15T12:00:00.000Z",
"warrantyDays": 7
}404 · não encontrado
O produto não existe, ou não é seu.
422 · corpo inválido
As pernas não fecham a divisão.
Erros desta rota
| Status | Código | Quando | O que fazer |
|---|---|---|---|
| 404 | PRODUCT_NOT_FOUND | O identificador não existe, ou o produto é de outra conta. As duas causas respondem igual de propósito: distinguir revelaria a existência de produto alheio. | Confira o identificador na listagem de produtos. Repetir não muda o resultado, e a regra de divisão anterior continua valendo. |
| 422 | PRODUCT_SPLIT_RULE_INVALID | As pernas da divisão não fecham: a soma não bate com o todo, uma perna repete o mesmo beneficiário, ou uma delas pede um valor que a venda não tem para dar. | Some as pernas e confira contra o preço antes de reenviar. A resposta nomeia o que recusou, e nada foi gravado. |
Os códigos são estáveis e fazem parte do contrato. A lista completa, com todos os vocabulários, está na tabela de erros.