Atualizando parcialmente um produto
O método de requisição PATCH aplica atualizações parciais em um produto, permitindo modificações mais flexíveis.
Para alterações de dados de um produto, como imagem, categoria e atributos utilize o endpoint que Atualiza parcialmente um produto.
Parâmetros para inserção:
identificador
- Identificador do produto.tipoIdentificador
- Tipo de identificador;
Request body:
{
"sku": "boiilnha",
"dataCadastro": "2025-05-20T12:21:45.797Z",
"idPaiExterno": "string",
"idVinculoExterno": "string",
"nome": "string",
"nomeProdutoPai": "string",
"exibirMatrizAtributos": "Sim",
"contraProposta": true,
"fabricante": "string",
"autor": "string",
"editora": "string",
"colecao": "string",
"genero": "string",
"precoCusto": 0,
"precoDe": 0,
"precoPor": 0,
"fatorMultiplicadorPreco": 0,
"prazoEntrega": 0,
"valido": true,
"exibirSite": true,
"freteGratis": "Sempre",
"trocaGratis": true,
"peso": 0,
"altura": 0,
"comprimento": 0,
"largura": 0,
"garantia": 0,
"isTelevendas": true,
"ean": "string",
"localizacaoEstoque": "string",
"listaAtacado": [
{
"precoPor": 0,
"quantidade": 0
}
],
"estoque": [
{
"estoqueFisico": 0,
"estoqueReservado": 0,
"centroDistribuicaoId": 0,
"alertaEstoque": 0
}
],
"atributos": [
{
"nome": "string",
"valor": "string",
"exibir": true
}
],
"quantidadeMaximaCompraUnidade": 0,
"quantidadeMinimaCompraUnidade": 0,
"condicao": "string",
"urlVideo": "string",
"spot": true,
"paginaProduto": true,
"marketplace": true,
"somenteParceiros": true,
"buyBox": true,
"prazoValidade": 0,
"consumo": {
"quantidadeDias": 0,
"enviarEmail": true
},
"categorias": {
"categoriaPrincipalId": 0,
"listaCategoriaId": [
0
]
},
"informacoes": [
{
"titulo": "string",
"texto": "string",
"exibirSite": true,
"tipoInformacao": "string"
}
],
"imagens": [
{
"base64": "string",
"formato": "string",
"exibirMiniatura": true,
"estampa": true,
"ordem": 0
}
],
"seo": {
"tagCanonical": "string",
"title": "string",
"metaTags": [
{
"content": "string",
"httpEquiv": "string",
"name": "string",
"scheme": "string"
}
]
}
}
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.
Exemplo: SKU 123
Atributos salvos no banco: cor azul, tamanho M e gênero masculino
O produto foi atualizado via PATCH com os valores cor azul e tamanho M, o resultado disso será que o gênero masculino será deletado.
Os cenários se aplicam para todos os campos presentes no corpo do endpoint. Logo:
SKU: Se não for enviado, será mantido o valor existente no banco.
Data Cadastro: Se não for enviado, será mantido o valor existente no banco.
Categorias:
Cenário 1: Se os campos não forem enviados, serão mantidos os valores que estão no banco.
Cenário 2: Se for enviado um array vazio, serão excluídos todos os itens.
Cenário 3: Se for enviado um array com valores, serão salvos os valores recebidos no array. Já os que estiverem no banco e não estiverem no array serão excluídos.
Informações:
Cenário 1: Se os campos não forem enviados, serão mantidos os valores que estão no banco.
Cenário 2: Se for enviado um array vazio, serão excluídos todos os itens.
Cenário 3: Se for enviado um array com valores, serão salvos os valores recebidos no array. Já os que estiverem no banco e não estiverem no array serão excluídos.
Imagens:
Cenário 1: Se os campos não forem enviados, serão mantidos os valores que estão no banco.
Cenário 2: Se for enviado um array vazio, serão excluídos todos os itens.
Cenário 3: Se for enviado um array _com valores, serão salvos os valores recebidos no _array. Já os que estiverem no banco e não estiverem no array serão excluídos.
SEO:
Cenário 1: Se os campos não forem enviados, serão mantidos os valores que estão no banco.
Cenário 2: Se for enviado um objeto com os valores tagCanonical e title preenchidos, serão atualizados pelos recebidos na requisição.
Cenário 2.1: Se o campo metaTags não for enviado, serão mantidas as metaTags que existentes no banco.
Cenário 2.2: Se o campo metaTags for um array vazio, serão excluídos todos os itens.
Cenário 2.3: Se o campo metaTags for um array com valores, serão salvos os valores recebidos no array . Já os que estiverem no banco e não estiverem no array, serão excluídos.
Updated about 1 month ago