Agente enviando um caso

  • Versão de lançamento: Yokohama
  • Atualizado 30 de jan. de 2025
  • 3 min. de leitura
  • Este caso de uso ilustra como permitir que um agente envie um caso para um cliente conhecido.

    Neste cenário, em um formulário de reclamação FSO, um agente consulta as informações da conta de um cliente, que estão localizadas em uma aplicação bancária remota. Uma vez localizado, ele aparece no formulário de reclamação e o agente preenche manualmente os detalhes do caso relacionados à conta de hipoteca do cliente e salva o caso de reclamação. Em segundo plano, o script do formulário salva os detalhes do cliente e as informações da conta financeira localmente no ServiceNowinstância.

    Nota:
    Este cenário pressupõe que a aplicação do banco expõe dois endpoints REST OBTENHA /api/getConsumerDetails e. OBTER /api/getFinancialAccounts que retornam os detalhes do consumidor solicitados e as informações da conta financeira associadas.

    O diagrama de fluxo mostra um caso, em que um agente faz referência ao registro do cliente, que tem contas de consumidor e financeiras integradas.

    . ServiceNowas tabelas acessadas neste cenário são as seguintes:
    • Consumidor [csm_consumer]: Contém o registro do cliente.
    • Conta de empréstimo [sn_bom_loan_account]: Contém informações da conta de empréstimo para cada cliente.
      Nota:
      Conta de empréstimo é um tipo de conta financeira.

    O exemplo a seguir é um exemplo de um ServiceNowformulário de reclamação (formulário de caso) que orienta um agente a preencher uma reclamação em nome de um cliente. Neste formulário, o agente clica no botão Pesquisa de conta no formulário para localizar as informações da conta do cliente.

    O formulário de pesquisa de conta mostra a etapa um do preenchimento dos campos do formulário de reclamação, como produto, cliente e tipo de insatisfação.

    Quando o agente clica em Pesquisa de conta uma janela pop-up semelhante à seguinte é exibida. O pop-up permite que o agente pesquise a conta do cliente usando qualquer um dos parâmetros de pesquisa exibidos. Você pode criar seus próprios critérios de pesquisa com base em seu serviço da web específico. Esses serviços web geralmente vêm de sistemas Master de cliente e mestre de conta, CRMs, mainframes de core banking e APIs de provedores de software de core banking, como Fiserv, FIS, Jack Henry, Finastra e outros.

    O formulário de pesquisa de conta mostra o nome dos campos, o número do cliente e os campos da conta a serem preenchidos para pesquisa.

    A pesquisa retorna as seguintes contas para este cliente.

    Os resultados da pesquisa de conta mostram contas ativas retornadas em uma pesquisa para o cliente especificado.

    O agente seleciona a conta apropriada e as informações de conta necessárias são preenchidas automaticamente no formulário de caso. Em seguida, o agente adiciona todas as informações adicionais necessárias para enviar o caso do cliente e clica em Enviar botão para salvar a reclamação no ServiceNowinstância.

    O diagrama a seguir mostra o fluxo das chamadas da REST API para este caso de uso e fornece breves observações sobre qualquer processamento necessário.

    Diagrama Swim mostrando seis etapas no processo de envio do agente de aplicações bancárias, obtendo registros de clientes das tabelas de contas de consumidor e empréstimo, respostas de dados subsequentes e armazenando informações atualizadas em tabelas.
    1. O agente insere as informações de pesquisa do cliente no formulário de reclamação. Usando essas informações, formule a chamada REST /api/getConsumerDetails usando o. RESTMessageV2 E envie-a para a aplicação bancária remota para obter os detalhes da conta do cliente.
    2. . /GetConsumerDetails o endpoint retorna os detalhes do consumidor ou um erro se o cliente não for localizado.
    3. Usando o. GlideRecord API, criar/atualizar o registro do cliente associado no ServiceNowTabela Consumidores [csm_consumer] com as informações do consumidor.
    4. Usando as informações da conta retornadas pelo /api/getConsumerDetails Chamada REST, pesquise o registro de hipoteca do cliente na aplicação bancária remota. Novamente, use RESTMessageV2 API para formular e enviar a chamada para /GetFinancialAccounts endpoint na aplicação bancária para obter o registro de hipoteca do cliente.
    5. . /GetFinancialAccounts o endpoint retorna as contas financeiras associadas ao cliente especificado.
    6. Usando o. GlideRecord API, criar/atualizar as informações da conta financeira do consumidor associado no ServiceNow financial_account tabela.

    Código de exemplo

    A seguir está um exemplo de JavaScript que executa as etapas descritas acima:
    // Fetch consumers for the given first name and last name and associated
    // financial accounts from the remote bank application
    function fetchConsumers(consumer_fname, consumer_lname) {
    
      var request = new sn_ws.RESTMessageV2();
      request.setHttpMethod('get');
      request.setEndpoint('api/getConsumerDetails?fname=consumer_fname&lname=consumer_lname');
    
      var response = request.execute();
      var responseBody = response.getBody();
      var responseObj = JSON.parse(responseBody);
      var consumers = responseObj.consumers;
    
      // Create a record in the ServiceNow Consumer [csm_consumer] table for the specified consumer
      var consumerDetails = [];
      consumers.foreach(function(consumer){
        var consumerGR = new GlideRecord('csm_consumer');
        consumerGR.initialize();
        consumerGR.setValue('uid', consumer.uid);
        consumerGR.setValue('name', consumer.name);
        consumerGR.setValue('email', consumer.email);
        consumerGR.setValue('mobile', consumer.mobile);
        consumerGR.setValue('address', consumer.address);
        if(consumerGR.update()){
          consumer.sysId = consumerGR.getValue('sys_id');
          consumer.financialAccount = fetchFinancialAccountsForConsumer(consumer);
        }
      });
    }
    // Fetch financial accounts for the specified consumer
    function fetchFinancialAccountsForConsumer(consumer) {
    
      var financialAccounts = [];
      var request = new sn_ws.RESTMessageV2();
      request.setHttpMethod('get');
      request.setEndpoint('api/getFinancialAccounts/' + consumer);
      var response = request.execute();
      var responseBody = response.getBody();
      var responseObj = JSON.parse(responseBody);
      var financialAccounts = responseObj.financialAccounts;
    
    // Create a record in the ServiceNow financial_account table for each of the customer's financial accounts
      financialAccounts.foreach(function(finAccount){
        var finAccountGR = new GlideRecord('financial_account');
        finAccountGR.initialize();
        finAccountGR.setValue('uid', finAccount.uid);
        finAccountGR.setValue('type', finAccount.type);
        finAccountGR.setValue('number', finAccount.ac_number);
        finAccountGR.setValue('balance', finAccount.balance);
    
        if(finAccountGR.update()){
          finAccount.sysId = finAccountGR.getValue('balance');
          financialAccounts.push(finAccount);
        }
      });
    
      return financialAccounts;
    }
    
    
    // The following retrieves an object to display in UI page
    
    fnmae = ‘john’;
    lname = ‘brown’;
    
    var consumerObj = fetchConsumers(fname, lname);
    
    consumerObj.foreach(function(consumer){
      // Display the details on the page and populate it in the form as necessary
      console.log(consumer);
    });