Atualiza uma promoção
PUT/sku/promotion/:idstockkeepingunitpromotion
Atualiza o cabeçalho da promoção e substitui as listas vinculadas. A atualização não é totalmente parcial: os campos StockKeepingUnitPromotionName, PercentualDiscountValue, BrandsIncluded, CategoriesIncluded, ProductsIncluded, SkusIncluded, CumulativeManualPrice, OnlyRegisteredConsumer, AllowDifferentItemQuantitySum e ExactlyQuantity são reescritos a cada chamada — omiti-los apaga o nome, zera o desconto percentual, devolve os quatro flags de inclusão para 1 e os quatro flags de comportamento para 0. Reenvie sempre o valor atual desses campos. Além disso, PercentualDiscountValue e NominalDiscountValue são mutuamente excludentes: enviar um zera o outro. O tipo (IDTypeSkuPromotion) não pode ser alterado — vem da promoção existente; o sistema respeita as regras do tipo original e zera campos que não fazem sentido (ex.: para tipo 1 zera MinimumQuantityBuyTogether e PercentualDiscountValueBuyTogether).
Valida o mesmo conjunto de regras do POST (vigência, existência de marcas/categorias/produtos/SKUs na empresa, faixas únicas no Progressivo, etc.).
Sincronização das listas (diff inteligente): quando você envia uma lista (qualquer um dos campos StockKeepingUnitPromotionBrands, Categories, Products, Skus, TypeOrders, SalesPolicies, SkusBuyTogether, Progressive), o sistema:
- Lê os vínculos atuais.
- Insere os itens da lista enviada que ainda não existem.
- Apaga os itens existentes que não estão na lista enviada.
- Mantém o resto inalterado.
Enviar uma lista vazia ([]) apaga todos os vínculos daquele tipo. Para não tocar numa lista, omita o campo do body.
As alterações passam a valer imediatamente. Trava PercentualDiscountValue > 1 com [BadRequest] - Desconto percentual não pode ser maior que 100%.
Request
Responses
- 200
- 400
- 500
Promoção atualizada. Retorna o detalhe (mesmo formato do GET).
Erros (prefixo [BadRequest]):
Promoção não localizadaDesconto percentual não pode ser maior que 100%Data de precisa ser maior que data atéPromoção sem regra de cadastroTipo pedido(s) não localizado(s): <ids>Politica(s) comercial não localizada(s): <ids>Marca(s) não localizada(s): <ids>Categoria(s) não localizada(s): <ids>Produto(s) não localizado(s): <ids>Sku(s) não localizado(s): <ids>Quantidade mínima é obrigatória na promoção compre e ganheQuantidade mínima é obrigatória na promoção compre juntoPercentual desconto lista um é obrigatóriaPercentual desconto lista dois é obrigatóriaObrigatório informar itens/Obrigatório informar itens brinde/Obrigatório informar itens lista doisObrigatório informar quantidade e % descontoCampo quantidade precisa ser único
Erro interno (prefixo Error:).