Valores negativos como variantes de opção
Como funcionam os valores especiais -1 (qualquer variante) e -2 (nenhuma variante) na combinação de uma exceção de opções.
Além dos IDs positivos comuns de variantes de opções, a API da Venddor aceita valores negativos especiais em certos contextos, principalmente nas exceções de opções de produto. Esses valores negativos oferecem uma lógica poderosa para controlar o comportamento das opções. Eles são usados normalmente na configuração de exceções, para criar regras sobre quais combinações de opções são permitidas ou proibidas.
Valores negativos aceitos
Os valores negativos especiais abaixo podem ser usados no objeto combination ao trabalhar com exceções de opções:
| Valor | Nome | Descrição |
|---|---|---|
-1 | Curinga | Qualquer variante desta opção pode ser selecionada. Este valor indica que todas as variantes de uma determinada opção são aceitáveis em uma regra de combinação. |
-2 | Exclusão | Nenhuma variante desta opção pode ser selecionada. Este valor indica que nenhuma variante de uma determinada opção é aceitável em uma regra de combinação. |
Exemplo de uso
Aqui está um exemplo de exceção de opções com valores negativos:
{
"exception_id": "5",
"product_id": "12",
"combination": {
"3": "16",
"4": "-1",
"17": "-2"
}
}Exemplo prático explicado
Suponha uma camiseta com as seguintes opções:
- A opção de ID
3é Tamanho, com a variante16sendo "XXL". - A opção de ID
4é Cor, com várias variantes de cor. - A opção de ID
17é Embalagem para presente (opção do tipo checkbox).
Esta exceção (supondo que seja do tipo "Proibida") aplica a seguinte regra: "Quando o cliente seleciona o tamanho XXL (variante 16), ele pode selecionar qualquer cor (-1), mas a opção Embalagem para presente não pode ser selecionada (-2)."
Na interface do cliente, isso significa:
- Quando o tamanho "XXL" está selecionado, todas as opções de cor continuam disponíveis.
- Mas a caixa de seleção Embalagem para presente fica acinzentada e não pode ser marcada.
Usando valores negativos nas requisições
Ao criar ou atualizar exceções de opções pela API, você pode incluir valores negativos no objeto combination, como mostrado abaixo.
/api/products/{product_id}/exceptionsAdminCriar uma nova exceção de opções para um produto
Parâmetros de caminho
product_idintegerobrigatórioCorpo da requisição
exception_typestringF (Proibida).combinationobjectMapa de IDs de opção para IDs de variante. Além de IDs de variante, aceita os valores negativos.
-1string-2stringExemplo de requisição
curl -X POST -u "$EMAIL:$API_KEY" "$BASE_URL/api/products/12/exceptions" \
-H "Content-Type: application/json" \
-d '{
"exception_type": "F",
"combination": {
"3": "16",
"4": "-1",
"17": "-2"
}
}'O exemplo original anota os valores: "3": "16" é Tamanho = XXL, "4": "-1" é qualquer cor é permitida e "17": "-2" é embalagem para presente não é permitida.
Casos de uso comuns
- Regras de configuração de produto. Garantir que certas combinações de opções sejam válidas ou inválidas.
- Controle de estoque. Gerenciar as combinações disponíveis sem criar um registro individual para cada possibilidade.
- Restrições de recursos. Desabilitar certas opções conforme outras seleções (como no exemplo da embalagem para presente acima).
- Gerenciamento simplificado. Criar regras poderosas com menos registros de exceção.