Passando dados do Salesforce para ServiceNow CPQcampos

  • Versão de lançamento: Zurich
  • Atualizado 8 de out. de 2025
  • 4 min. de leitura
  • Saiba como passar informações do Salesforce para ServiceNow CPQUsando o aprimoramento de Configuração/Reconfiguração.

    Às vezes, um ServiceNow CPQa configuração precisa de informações de fora da configuração passada para a configuração na inicialização. Há várias maneiras de fazer isso.

    Fluxo de trabalho

    Se as informações puderem ser encontradas na cotação do Salesforce, use o método de geminação de transferência de dados. Os dados externos seriam atribuídos a um campo em ServiceNow CPQ.

    Neste exemplo, ServiceNow CPQUsará o aprimoramento de Configuração/reconfiguração (chamado "Init Enrigement" aqui) para enviar uma chamada de API para o site "FakerAPI.it". Este site envia uma resposta da API com informações falsas de cartão de crédito.

    API

    Nosso objetivo é preencher um campo no ServiceNow CPQCom o tipo de cartão de crédito (Visa, MasterCard ou outro).

    Configuração

    A primeira etapa de usar uma conexão externa e de aprimoramento é configurá-la. Para obter instruções, consulte Usando conexões externas com suporte a OAuth. (Observe que os exemplos neste link se concentram principalmente no aprimoramento da resposta da BOM. Este artigo complementa o outro porque se concentra mais no aprimoramento de Init.)

    As informações a seguir são usadas para nossa conexão externa com FakerAPI.it.

    Parâmetro Valor
    Nome Tipo de cartão
    variableName cardType
    Host https://fakerapi.it
    caminho /api/v1/credit_cards?_quantity: 1
    Tipo de autenticação Nenhum(a)
    timeout 500

    Em seguida, o campo em ServiceNow CPQDeve ser criado e associado ao Blueprint que usará o aprimoramento. Todos os quatro ServiceNow CPQos tipos de campo podem receber dados atribuídos do aprimoramento. Os dados atribuídos ao campo da resposta da API só precisam corresponder ao campo.

    Enriquecimento de Init

    A etapa final é gravar o script para o aprimoramento de Init. A linguagem de enriquecimentos é baseada em JavaScript, e os usuários são incentivados a consultar a seção de Ajuda do editor de funções avançadas para obter a maioria dos scripts de amostra necessários. As seguintes linhas de código não estão na seção de ajuda, portanto estão documentadas aqui:

    Para fazer referência a uma conexão externa em um aprimoramento, use o seguinte:

    Var {varName} = External.{externalConnectionVariableName}(inputs)

    Se estiver ligando para o Salesforce, mude Externo para Salesforce :

    Var {varName} = Salesforce.{externalConnectionVariableName}(inputs)

    Se não houver entradas, use parênteses vazios.

    No aprimoramento Init, o item Campos muda para Solicitação de configuração, que é referenciada no script como "cfgRequest". Este item é usado para definir campos no ServiceNow CPQconfiguração que está sendo inicializada. Portanto, se os dados externos forem passados para ServiceNow CPQ, Ele será atribuído a partir do objeto JSON cfgRequest e os valores terão que ser programados nele. Isso pode ser roteado de duas maneiras (itens entre chaves e itálico seriam determinados pelo usuário):

    cfgRequest.{LogikVariableName}.set(“value”, “{value}”) ;
    cfgRequest.{LogikVariableName}.value = ”{value}” ;

    Por exemplo, suponha que a empresa Solar Fare Well vende e instala painéis solares. Eles querem atribuir dois valores externos ao seu configurador: Para que lado o telhado está voltado e a metragem quadrada do telhado. O aprimoramento de inicialização pode ter as seguintes linhas de código:

    cfgRequest.roofDirection.value= “North”;
    cfgRequest.sqft.set(“value”, 500);

    Observe que o número não precisa das aspas ao redor dele.

    O item Solicitação de configuração contém todas as solicitações na configuração. Isso inclui campos que são geminados em ServiceNow CPQ. Além disso, cfgRequest é preenchido com os campos geminados antes que o script de aprimoramento de inicialização seja executado. Isso significa que os campos geminados podem ser usados como variáveis (entradas) para o script de aprimoramento e a conexão externa, o que pode afetar a saída do script e da conexão externa. Para obter valores de cfgRequest, aqui estão as opções de formatação:

    var x = cfgRequest.{varName}.get(“value”);
    x= cfgRequest.{varName}.value;

    Solução de script de amostra

    Ao implementar o código acima, a primeira etapa é analisar a resposta JSON da chamada de conexão externa.

    Usando a conexão externa definida acima, o script de aprimoramento a seguir retorna uma resposta de API semelhante à seguinte logo abaixo.

    var sample=External.cardType();
    return sample;
    "body": {
    	"total": "1",
    	"code": "200",
    	"data": [
    		{
    			"owner": "Mercedes Emmerich",
    			"number": "2410279364686428",
    			"expiration": "04/25",
    			"type": "American Express"
    		}
    	],
    	"status": "OK"
    }

    (Observe que esta não é a resposta completa da API e que os dados do cartão mudam a cada chamada de API.) Conforme esperado, isso corresponde à resposta da API do site.

    Em seguida, precisamos analisar o tipo de cartão. Os exemplos de formatação na seção Ajuda da função avançada podem ajudar a identificar como analisar a resposta do objeto JSON.

    O script de aprimoramento a seguir retorna o resultado a seguir.

    var sample=External.cardType();
    var x=sample.body.data[0].type;
    cfgRequest.cardType_adv.set("value", x);
    return cfgRequest;
    {
      "cardType_adv": {
        "userEdited": false,
        "value": "American Express"
      }
    } 

    E então ServiceNow CPQ, O campo CardType_adv será definido como "American Express".

    Dados de consulta do Salesforce (SOQL)

    Como mencionado anteriormente, os dados que estão em uma cotação do Salesforce podem ser geminados ServiceNow CPQ. Mas e se os dados forem encontrados em outro lugar no Salesforce? Nesse caso, o aprimoramento Init terá o Salesforce como a conexão externa e você executará uma consulta usando a linguagem de consulta de objeto do Salesforce (SOQL). Se você não estiver familiarizado com o idioma SOQL,e você pode descobrir mais no site Salesforceʼs Trailhead.

    Para usar SOQL no aprimoramento, a única diferença dos exemplos acima é uma mudança na conexão externa. Em Logik Admin, clique em Utilitários , clique em Conexões externas e clique em Novo .

    Normalmente, é assim que você criaria uma conexão externa. Em seguida, para o tipo de integração de campo, selecione Salesforce. Isso fornecerá uma caixa para você inserir sua consulta SOQL.

    Conexão externa