Regras adicionais

As regras adicionais (entityRules) incluem ou excluem itens do carrinho da promoção com base em uma entidade (marca, seller, coleção…). Cada regra tem quatro campos:

CampoValores
entityIdEntidade (tabela abaixo).
validationId1 incluir todos · 2 excluir todos · 3 apenas os informados · 4 todos exceto os informados.
restrictionIdOnde a regra vale: 2 apenas no desconto (o item não recebe benefício) · 3 apenas nas condições (o item não conta para atingir as condições) · 1 nos dois.
argumentsIDs da entidade, como strings. Obrigatório com validationId 3 ou 4; vazio com 1 ou 2.
entityIdEntidadeValores de arguments
1KitIDs de kit.
2Produtos remarcados (preço “por” menor que o preço “de”)Sem argumentos.
3MarcaIDs de marca.
4SellerIDs de seller.
5Atributos"{attributeId}:{valor}", ex.: ["4:Azul","9:P"].
6Recorrência de assinaturaIDs de recorrência de assinatura.
7Centro de distribuiçãoIDs de centro de distribuição.
8ColeçãoIDs de coleção.
9Grupo de produtosIDs de grupo de produtos.
10Pré-venda (produtos com lançamento futuro)Sem argumentos.

As entidades e as combinações recomendadas para a loja estão em Estrutura de regras adicionais. Ao salvar, só é conferido que a entidade existe e que arguments está preenchido com as validações 3 e 4; use apenas as validações e restrições listadas na estrutura. Para Atributos (entidade 5), envie "{attributeId}:{valor}", mesmo que a estrutura indique ListInt.

Regra no desconto e nas condições

  • Para aplicar a mesma regra no desconto e nas condições, envie duas regras com a mesma entidade, validação e argumentos: uma com restrição 2 e outra com 3. A API as grava como uma regra só.
  • A leitura (Obter promoção) sempre devolve essas regras separadas, como 2 e 3.
  • Também é aceito enviar uma única regra com restrição 1, com o mesmo efeito.
  • Os argumentos são comparados sem considerar ordem, espaços e repetições. Qualquer outra diferença mantém duas regras independentes.
  • Regras repetidas (duas 2 ou duas 3 iguais, ou uma 1 junto de uma 2 ou 3 iguais) são recusadas com 400 (ENTITY_RULE_DUPLICATED).
// Não dar desconto em produtos remarcados nem em produtos da marca 12
"entityRules": [
  { "entityId": 2, "validationId": 2, "restrictionId": 2, "arguments": [] },
  { "entityId": 3, "validationId": 4, "restrictionId": 2, "arguments": ["12"] }
]