Atualizar tabela de preço do produto (Tier prices)
Atualiza, em lote ou de forma única, o preço por quantidade para um ou mais produtos em Magento Adobe Commerce
Descrição
Campo de texto
Descrição visual do conector na construção do fluxo.
Conta de serviço
Seletor
Permite selecionar uma conta de serviço do tipo Bearer Token, cadastrada no Workspace Floui, para realizar a conexão e autenticação com o ambiente Adobe Commerce Magento.
Tipo de envio de dados
Seletor
Permite selecionar se a atualização de tabela de preços será feita em Lote ou Único. O envio Único irá gerar apenas uma linha de preço por quantidade, enquanto o Lote permite adicionar várias linhas para um ou vários produtos.
Caminho do array com itens a percorrer (objeto JS/JSON)
Campo de texto
Disponível quando selecionada a opção Lote em Tipo de envio de dados. Permite informar o caminho, dentro do objeto msg, de uma lista JSON contendo os dados de atualização em lote.
Preço
Campo de texto
Permite informar o preço do produto com base na quantidade a ser adicionada.
Em Lote pode ser informado o caminho relativo do campo dentro da lista informada em “Caminho do array com itens a percorrer (objeto JS/JSON)”. Utilize um ponto como separador.
Tipo de preço
Campo de texto
Permite informar o tipo de desconto do produto com base na quantidade.
Em Lote pode ser informado o caminho relativo do campo dentro da lista informada em “Caminho do array com itens a percorrer (objeto JS/JSON)”. O valor deste campo deverá ser “fixed” ou “discount”.
Website ID
Campo de texto
Permite informar o website onde o preço será disponibilizado.
Em Lote pode ser informado o caminho relativo do campo dentro da lista informada em “Caminho do array com itens a percorrer (objeto JS/JSON)”. Use 0 para aplicar para todos os websites..
SKU
Campo de texto
Permite informar o SKU do produto que receberá o desconto por quantidade.
Em Lote pode ser informado o caminho relativo do campo dentro da lista informada em “Caminho do array com itens a percorrer (objeto JS/JSON)”.
Grupo de Clientes
Campo de texto
Permite informar o grupo de clientes que terão acesso ao desconto por quantidade.
Em Lote pode ser informado o caminho relativo do campo dentro da lista informada em “Caminho do array com itens a percorrer (objeto JS/JSON)”. O valor deverá ser escrito conforme o nome do grupo, exemplo: “General”.
Quantidade
Campo de texto
Permite informar a quantidade necessária para receber o desconto por quantidade.
Em Lote é necessário informar o caminho relativo do campo dentro da lista informada em “Caminho do array com itens a percorrer (objeto JS/JSON)”.
Output Path
Campo de texto
Refere-se ao caminho do resultado da requisição na saída do conector no contexto de execução do fluxo
Detalhes
O conector Atualizar Tabela de Preços oferece uma forma prática para atualização dos preços de acordo com a quantidade de itens inseridos no carrinho pelo usuário. O conector permite o cadastro de preços de forma única ou o cadastro de vários preços em lote para um ou mais produtos.
O conector utiliza o endpoint POST rest/V1/products/tier-list para criar um novo preço ou atualizar um preço existente (UPSERT). Para saber mais sobre esta ou outras APIs disponibilizadas para Adobe Commerce Magento, acesse o link REST endpoints (ReDocly).
Lista de produtos para atualização
Para adicionar uma lista de itens para atualização de preços por quantidade, o JSON deve seguir um formato específico. Abaixo está um exemplo de estrutura para cadastrar os preços em lote em um produto. Cada item dentro de prices refere-se a uma linha de cadastro de preço por quantidade, neste caso, 2 preços de acordo com a quantidade.
{
"prices": [
{
"price": 10,
"price_type": "discount",
"website_id": 1,
"sku": "24-MB03",
"customer_group": "General",
"quantity": 5
},
{
"price": 15,
"price_type": "discount",
"website_id": 1,
"sku": "24-MB03",
"customer_group": "General",
"quantity": 8
}
]
}No exemplo, o JSON contendo os dados para atualização em lote está localizado no caminho msg.list.prices. Dessa forma, na configuração Caminho do array com itens a percorrer (objeto JS/JSON), é necessário indicar msg.list.prices.
Nos campos de configuração subsequentes, o caminho pode ser informado no formato {{$.chaveObjeto}}. No exemplo, a notação {{$.price}} acessa iterativamente o valor de price dentro de cada item da lista, ou seja, acessa msg.list.prices[i].price onde [i] serão as iterações de acordo com o tamanho da lista. O mesmo se aplica para {{$.sku}}, {{$.quantity}} e demais atributos. Desta forma é possível informar de forma dinâmica os preços que serão cadastrados no produto.
Em casos onde o valor é fixo, é possível inserir este valor sem a notação {{$.chaveObjeto}}. Exemplo: inserir o valor “fixed” em Tipo de preço fará com que todos os produtos da lista tenham um desconto fixo.
Com base no payload de exemplo, na plataforma Adobe Commerce, os preços serão cadastrados da seguinte forma:
Sucesso
Quando a requisição for bem-sucedida, a resposta conterá uma lista vazia, o código de status 200 indica que a atualização em lote foi realizada com sucesso.
Erros
Casos comuns de erros podem ser devido a parametrização incorreta do campo “Caminho do array com itens a percorrer (objeto JS/JSON)”, ao informar um conteúdo que não é uma lista válida, ou quando os campos para atualização de preços contém valores inesperados.
O exemplo demonstra como os erros genéricos são exibidos na saída do conector, neste caso, um código de produto incorreto em uma lista. O item da lista com erro será ignorado, enquanto os itens corretos da lista serão criados/atualizados no produto.
Last updated
Was this helpful?