added

Inclusão de um produto variante em portfolios pelo método PATCH de Produtos

Foi adicionado o array portfolioIds no corpo da requisição do endpoint PATCH /produtos/{identificador} no qual agora é possível adicionar ou remover produtos de um ou mais portfolios. Cada valor do array deve corresponder ao ID de um portfólio previamente cadastrado na plataforma, podendo ter um ou mais IDs.

🧾 Como era antes?

Anteriormente, ao utilizar o endpoint PUT /portfolios/{portfolioId}/produtos, era possível vincular o produto a apenas um único portfólio por vez (relação 1:1). Caso fosse necessário associar o mesmo produto a outro portfólio, era preciso realizar chamadas adicionais.

✅ O que mudou?

Agora, foi adicionado ao corpo da requisição o novo campo portfolioIds, no endpoint PATCH /produtos/{identificador} que é um array de IDs numéricos que representa os portfólios cadastrados na plataforma.

Com isso, é possível:

  • Adicionar ou remover o produto de um ou mais portfólios em uma única requisição;
  • Evitar múltiplas chamadas para vincular o produto a diferentes portfólios;

🧪 Exemplo de payload com o array portfolioIDs

{
  "portfolioIds": [101, 202, 303]
}

Neste exemplo, o produto será vinculado aos portfólios de ID 101, 202 e 303. Caso o produto já esteja associado a outros portfólios que não estejam listados no array, esses vínculos serão removidos.

📘

Nota técnica

Para que as atualizações parciais reflitam de acordo no produto, atenção aos seguintes cenários

Cenário 1: Não é possível enviar um campo com valor null, nesse caso é preciso excluir o campo da requisição. Sendo assim, se o campo não for enviado será mantido o valor existente no banco de dados.

Cenário 2: Se for enviado um campo vazio, todos os itens/valores existentes no banco serão excluídos.

Cenário 3: Se for enviado um campo com valores, as novas informações serão salvas. Os valores que estiverem no banco e não estiverem no array, serão excluídos.

📚 Documentação

Confira como utilizar essa funcionalidade na Atualizando parcialmente um produto.