Documentação da API v1 · Conheça a Naut
v1

Alterar um produto

Altera nome, descrição, preço ou parcelamento. A regra de divisão não muda por aqui: ela tem rota própria.

PATCHhttps://api.navenaut.com/products/{productId}

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

NomeTipoDescrição
productIdobrigatóriotexto (uuid)O identificador do produto no seu catálogo.

Corpo da requisição

application/json.

CampoTipoDescrição
acceptedMethodsarranjo de um de: `pix`, `card`, `paypal`, `apple_pay`, `google_pay`, `boleto`—
affiliateProgramobjeto—
categoryum de: `Saúde e Esportes`, `Finanças e Investimentos`, `Relacionamento`, `Negócios e Carreira`, `Espiritualidade`, `Sexualidade`, `Entretenimento`, `Culinária e Gastronomia`, `Idiomas`, `Direito`, `Apps & Software`, `Literatura`, `Casa e Construção`, `Desenvolvimento Pessoal`, `Moda e Beleza`, `Animais e Plantas`, `Educacional`, `Hobbies`, `Internet`, `Ecologia e Meio Ambiente`, `Música e Artes`, `Tecnologia da Informação`, `Empreendedorismo Digital`, `Outros`—
deliveryInstructionstexto—
deliveryModeum de: `members`, `manual`—
descriptiontextoO texto que acompanha o nome na vitrine.
installmentExtraBpsinteiroO acréscimo novo por parcela, em pontos-base. Zero tira o acréscimo. Tem de ser um número inteiro (a string 10 entre aspas é recusada com 422). Com o teto em 1 (apenas à vista), enviado agora ou já gravado, o acréscimo é gravado como 0.
installmentLimitinteiroO teto de parcelas novo: 1 é só à vista.
nametextoO nome que o comprador vê na vitrine.
pixRecoveryEmailEnabledbooleano—
priceCentsinteiro (centavos)O preço novo, em centavos inteiros. Cobranças já criadas mantêm o valor com que nasceram.
showAllOffersbooleano—
statementDescriptortexto—
warrantyDaysinteiro—
{
  "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"
  },
  "category": "Saúde e Esportes",
  "deliveryInstructions": "exemplo",
  "deliveryMode": "members",
  "description": "exemplo",
  "installmentExtraBps": 0,
  "installmentLimit": 1,
  "name": "Loja Exemplo",
  "pixRecoveryEmailEnabled": true,
  "priceCents": 129900,
  "showAllOffers": true,
  "statementDescriptor": "exemplo",
  "warrantyDays": 7
}

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

O corpo não passou na validação.

Erros desta rota

StatusCódigoQuandoO que fazer
404PRODUCT_NOT_FOUNDO 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 nenhum campo foi alterado.
422PRODUCT_OFFERS_INVALIDO produto é recorrente e o pedido mexe no que ele não aceita: o preço, que é o da oferta principal, ou o parcelamento, que a assinatura não tem.Tire o campo do pedido. O preço de uma assinatura muda criando outra oferta, e nada foi alterado.
422PRODUCT_SPLIT_RULE_INVALIDO preço novo fica abaixo da soma das cotas fixas da regra de divisão: a venda não teria de onde tirar o que a regra promete a cada perna.Ajuste a regra de divisão (rota própria) ou mantenha um preço que a comporte. Nada foi alterado.

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.