Atualizar um produto existente
PUT/:tenantId/products/:productId
Atualiza o produto com o corpo enviado. Não é uma substituição integral: o efeito depende do campo.
Antes da validação, o PUT aplica os mesmos preenchimentos da criação em customTax: recipient.taxProfile, operationCode e issuer.taxRegime ausentes, cenários de remessa acrescentados, ajustes dos cenários de transferência e a customização de CST 20 (quando habilitada para a conta). A exceção é tax.exTipi: no PUT ele não é completado com zero antes da validação, e um valor de 1 dígito é recusado com 400 (ExTipi must have between 2 and 3 digits). Envie exTipi sempre com 2 ou 3 dígitos.
- Sempre regravados com o valor enviado (campo omitido é apagado):
sku,origin,description,additionalInformation,gtin,taxGtin,unit,unitPrice,category,details,volumeetax(os objetos são substituídos por inteiro). collectionIdnão muda: o valor gravado na criação é mantido. OcollectionIddo corpo só é usado para buscar o regime tributário da empresa quando um cenário vem semissuer.taxRegime.customTaxsó é substituído (pela lista inteira enviada) quando o produto está emErrorou quando há mudança tributária. Nesses casos o produto volta aCreated, o registro do produto no motor de cálculo, se houver, é desfeito e a validação tributária recomeça. Sem mudança tributária, os cenários gravados são mantidos e ostatusnão é reiniciado.
O que conta como mudança tributária: origin, gtin, tax.ncm, tax.exTipi ou tax.cest diferentes; quantidade de cenários de customTax diferente; ou, comparando os cenários pela posição na lista, diferença em issuer.taxRegime, issuer.taxProfile, recipient.taxRegime, recipient.taxProfile, operationCode, presença de intrastate/interstate e, dentro desses grupos, em cfop, benefitCode ou nos campos gravados de icms (cst, modBC, pRedBC, pICMS, pFCP, motDesICMS, indDeduzDeson, vBCSTRet, pST, vICMSSubstituto, vICMSSTRet, vBCFCPSTRet, pFCPSTRet, vFCPSTRet).
⚠️ Limitação: alterar em
customTaxapenaspis,cofins,ipiouadditionalInformationnão conta como mudança tributária. Com o produto fora deError, oPUTresponde204, mas os cenários gravados continuam os anteriores e essa alteração não é aplicada. Confira o resultado com a consulta do produto; para gravá-la, o mesmoPUTprecisa trazer uma mudança tributária da lista acima.
⚠️ Limitação conhecida: se um grupo
intrastateouinterstategravado no produto não temicms, e oPUTmantém nesse grupo o mesmocfop, o mesmobenefitCodee nenhumicms.cst, a comparação de mudança tributária pode falhar e oPUTresponder500. Para evitar, envie o grupoicms, comcst, em todo grupointrastate/interstate, tanto na criação quanto na atualização.
Criar ou atualizar produtos com regras tributárias registra consumo do Motor de Cálculo de Tributos, serviço cobrado separadamente da emissão da nota fiscal. O valor e a forma de cobrança são definidos no seu plano comercial. Veja Motor de Cálculo de Tributos.
Request
Responses
- 204
- 400
- 401
- 404
- 500
Produto atualizado. A resposta não tem corpo; consulte o produto para ver o resultado.
Requisição inválida. Na regra de validação recusada, o corpo traz status e detail com a primeira regra violada (em inglês). Um JSON malformado ou com tipo incompatível (ex.: cfop como texto) responde no formato Problem Details (title, status, errors).
Credencial ausente ou inválida.
Produto não encontrado nesta conta.
Erro inesperado. Tente novamente; se persistir, acione o suporte com o horário da chamada.