Gestão de estados abertos

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 5 min. de leitura
  • O modelo de estado aberto é uma estrutura programática na API Configuration State Model, que permite programar variações nas opções de produto que aparecem em configurador de produtos em Gestão de vendas e pedidos. A estrutura de API fornece determinados estados e métodos de API auxiliar para controlar como os nós na interface do usuário configurador de produtos são exibidos.

    Como desenvolvedores, você pode usar pontos de extensão para gestão de estados abertos para definir os estados somente exibição ou editáveis em qualquer nó do configurador, com base em eventos que ocorrem no carregamento ou quando as seleções de produto mudam. Opcionalmente, você também pode criar scripts de mensagens de informações junto com a mudança do estado do nó. Essas mensagens são exibidas contextualmente na interface do usuário do Configurador de produtos. Vários métodos de API auxiliar estão disponíveis para ler e definir estados em qualquer nó, eliminando a necessidade de scripts JSON extensivos.
    Nota:
    Verifique seus direitos para determinar se você tem acesso a esses recursos.

    Casos de uso para gestão de estados de configuração

    A tabela a seguir mostra diferentes maneiras de controlar as opções de produto exibidas no configurador de produtos.
    Tabela 1. Exemplos de casos de uso do modelo de estado de configuração
    Caso de uso do configurador de produtos Exemplo
    Ocultar determinadas opções para um cliente Uma seleção de atributo de produto não é exibida para clientes na Califórnia devido às regulamentações de segurança do estado​.
    Definir determinadas opções padrão para um cliente Para upgrades, somente o plano Definitivo é exibido para clientes existentes que têm um plano premium.
    Permitir que somente determinadas opções sejam selecionadas com base em outras opções de atributo Para determinados produtos, como laptops, exibe todos os tamanhos de 13", 15" e 17", mas exibe somente laptops de 15" e 17" se apenas o recurso de tela sensível ao toque for necessário.
    Permitir que a quantidade seja definida para produtos Alguns produtos podem ter valores de quantidade padrão diferentes. Permita que os agentes configurem a quantidade, desde que o valor esteja dentro dos limites de uma quantidade mínima e uma quantidade máxima permitidas para esse produto.
    Permitir que somente determinadas seleções de característica sejam feitas Certas seleções de produtos exigem que um valor de característica específico seja escolhido. Por exemplo, após a seleção do Plano de Internet Definitivo, a velocidade de conectividade que pode ser escolhida é 5G.

    Você pode gerenciar a exibição de opções no configurador de produtos usando a Estrutura de API do modelo de estado de configuração.

    Estados do nó

    Os nós no configurador de produtos exibem grupos de relacionamentos de produtos, produtos secundários e opções de características. Os nós podem ter os seguintes estados:
    Visível - Sim (tornar o nó visível) ou Não (tornar o nó invisível)
    Configurações que estão visíveis ou não para o agente no configurador de produtos. As opções podem não estar visíveis se forem incompatíveis com outras seleções feitas pelo agente. Por exemplo, para um tamanho de roda de carro específico, as opções de rodas incompatíveis não estão visíveis.
    Editável - Sim (mostrar nó e torná-lo selecionável) ou Não (mostrar nó mas torná-lo não selecionável)
    Configurações que podem ou não ser editadas pelo agente no configurador de produtos. Os agentes podem personalizar determinados aspectos do produto enquanto mantêm as restrições necessárias para o produto. Por exemplo, para um modelo de carro específico, somente cores externas compatíveis são editáveis.
    Quantidade - Visível (Sim/Não), Editável (Sim/Não)
    Configurações que definem a quantidade em um produto, impõem regras relacionadas à quantidade e mostram mensagens informativas e de erro relacionadas à quantidade no nó apropriado.
    Marcado - Sim (mostrar seleções de nós) ou Não (tornar as seleções de nós invisíveis)
    Configurações que mostram as opções de configuração para seleção com base no contexto.
    Valor - Visível (Sim/Não), Editável (Sim/Não)
    Configurações que definem um valor para uma característica, impõem regras relacionadas à característica e mostram mensagens informativas ou de erro relacionadas ao nó apropriado.
    Nota:
    Os agentes podem optar por definir mensagens no nível do nó para fornecer justificativa para uma mudança de estado.

    Eventos

    Gerencie estados de nó usando a Estrutura de API do modelo de estado de configuração. Ative esses estados usando os dois eventos a seguir na Estrutura de eventos do modelo de estado de configuração:
    • Ao carregar - O estado (visibilidade, capacidade de edição) de cada nó é definido inicialmente como Sim (verdadeiro). O estado aberto é invocado no carregamento.
    • Ao mudar - Esta função é chamada sempre que há uma mudança no valor de um nó na interface do usuário configurador de produtos. No entanto, este estado não é invocado quando ocorrem mudanças de quantidade no configurador de produtos. Esses estados podem ser definidos programaticamente de uma das seguintes maneiras: ao carregar, durante as seleções ou pouco antes de a instância ser sincronizada novamente com a transação

    Métodos da API de ajuda

    Você pode usar os seguintes métodos de API auxiliar para ler e definir estados em qualquer nó.
    Aplicar estados
    Defina os estados visíveis e editáveis para grupos de relacionamentos do produto, características do produto e opções de característica do produto usando os métodos Getter e Setter para ler e mudar o estado do modelo de configuração.
    Métodos getter
    Obtenha caminhos de nó junto com os estados em qualquer nó de configuração:
    • getAllNodes(): retorna JSON com o caminho do nó (referência ao código) e seu respectivo caminho relativo com todos os estados.
    • getNode(nodePath): retorna o objeto javascript do nó para o caminho do nó especificado, se existir.
    • getNodeDetails(nodePath: retorna todos os estados do caminho do nó especificado, se ele existir.
    Métodos de definidor
    • Defina os estados visíveis e editáveis para grupos de relacionamentos do produto, características do produto e opções de característica do produto.
      • setVisible: verdadeiro/falso em todos os níveis
      • setVisible(verdadeiro/falso)
      • setEditable: verdadeiro/falso em todos os níveis
      • setEditable(verdadeiro)
      • Exemplo de implementação:
        var newHandler = configInstance.getNode(nodePath);
        newHandler.setVisible(true, “This is a sample message for setVisible”);
        newHandler.setEditable(false, “This is a sample message for setEditable”);
    • Defina a quantidade para ofertas e especificações. O nodePath determina o produto e o valor é a quantidade a ser definida.
      • definirQuantidade(valor);
      • Exemplo de implementação:
        var newHandler = configInstance.getNode(nodePath);
        newHandler.setQuantity(value, “This is a sample message for setQuantity”);
    • Defina as opções de configuração para ver o que está sendo selecionado.
      • setChecked (valor); Verdadeiro/Falso
      • Exemplo de implementação:
        var nodePath = “QUADPLAYHO1/OPTIONALPRODUCTS/CONNECTEDC2/CONNECTEDC1/VIN”
        var newHandler = configInstance.getNode(nodePath);
        var newHandler.setChecked(true, “This is a sample message for setChecked”)
        
    • Defina o valor de um nó de característica em que o tipo de entrada é uma única linha de texto.
      • setValue( valor);
      • Exemplo de implementação:
        var nodePath =
        “QUADPLAYHO1/OPTIONALPRODUCTS/CONNECTEDC2/CONNECTEDC1/VIN”
        var newHandler = configInstance.getNode(nodePath);
        newHandler.setValue(“9TKN332”, “This is a sample message for
        setValue”);
    Métodos de variável de contexto getter
    Recupere variáveis de contexto dentro da interface do usuário configurador de produtos.
    • getHeaderContextVariables(): retorna uma lista de todas as variáveis de contexto do cabeçalho.
    • getHeaderContextVariableValue(contextVariable): retorna um valor e o valor de exibição de uma variável de contexto específica no cabeçalho.
    • getLineContextVariables(): retorna uma lista de todas as variáveis de contexto de linha.
    • getLineContextVariableValue(nodePath, contextVariable): retorna o valor de uma variável de contexto específica na linha.