Pesquisar informações remotas no sistema de registro

  • Versão de lançamento: Washingtondc
  • Atualizado 1 de fev. de 2024
  • 3 min. de leitura
  • Este caso de uso ilustra como usar uma chamada de REST API para pesquisar detalhes de transações financeiras para a conta de hipoteca de um cliente em um sistema bancário remoto (sistema de registro).

    Um agente de call center responde a uma consulta do cliente e cria um novo caso de FSO usando um formulário ServiceNow. Nesse formulário, eles inserem manualmente as informações do consumidor, da conta financeira, da categoria e da descrição resumida e todas as anotações associadas.

    Usando as informações da conta financeira e do consumidor, um script no formulário ServiceNow chama um endpoint REST remoto no sistema bancário remoto (aplicação do banco) para obter os detalhes da transação financeira. Em seguida, ele exibe esses detalhes no formulário ServiceNow para que o agente possa verificar as informações antes de inserir manualmente o restante das informações de caso necessárias. Depois de concluído, o caso de FSO é armazenado em cache na instância ServiceNow.

    Nota:
    Este caso de uso pressupõe que a aplicação do banco exponha o endpoint REST GET /api/getTransactions que retorna os detalhes do consumidor solicitados e sua conta financeira associada.

    Fluxo de trabalho que mostra como pesquisar detalhes de transações financeiras em um sistema bancário remoto de registro.

    A seguir está um exemplo de como os detalhes da transação financeira recebidos da aplicação bancária remota podem ser quando aparecem no formulário de caso de FSO:

    Formulário de caso de FSO que mostra os detalhes da transação recebidos do aplicativo bancário remoto.

    O diagrama a seguir mostra o fluxo da aplicação para este cenário de caso de uso e fornece breves comentários sobre qualquer processamento necessário. Nesta implementação, os dados obtidos da aplicação do banco remoto são armazenados em tabelas remotas. Tabelas remotas são armazenadas somente em cache na memória, nunca são armazenadas nas tabelas de banco de dados ServiceNow. Você também pode implementar este cenário gravando os dados remotos nas tabelas de banco de dados ServiceNow correspondentes. O cenário s ilustra como armazenar dados nas tabelas de banco de dados ServiceNow usando a API GlideRecord.

    Fluxo de trabalho que mostra um caso, em que o agente insere as informações necessárias e usa as chamadas de REST API para pesquisar detalhes da transação financeira em um sistema bancário remoto.
    1. O agente insere as informações necessárias no formulário FSO. Usando essas informações, formule a chamada REST /api/getTransactions usando a API RESTMessageV2 e envie-a para a aplicação do banco remoto para obter os detalhes da transação financeira do cliente.
    2. A aplicação bancária remota processa a solicitação e retorna os detalhes da transação financeira do cliente especificado.
    3. Os detalhes da transação financeira são armazenados em cache na instância ServiceNow em tabelas remotas usando a API v_table.
    4. Os detalhes da transação são exibidos no formulário FSO.

    Código de exemplo

    O exemplo de código a seguir mostra como usar a API RESTMessageV2 para criar e executar a chamada REST para a aplicação bancária externa. Em seguida, ele armazena os resultados do retorno em uma tabela remota usando a API v_table. Antes de usar a API v_table, você deve ativar o plug-in Remote Tables (com.glide.script.vtable).
    (function executeQuery (v_table, v_query) {
    // Parameters needed in the request body of the REST endpoint
      var requestBody = {
        'financial_account':v_query.getParameter('financial_account')
      };
    
      // Instantiate the RESTMessageV2 object
      var request = new sn_ws.RESTMessageV2();
      // Set the HTTP method as "GET"
      request.setHttpMethod('get');
      // URL of the endpoint on the bank application
      request.setEndpoint('https://<yourbankapphost>/api/getTransactionDetails');
      // Request body as a string
      request.setRequestBody(JSON.stringify(requestBody));
      // Call the REST endpoint
      var response = request.execute();
      // Get the response body
      var responseBody = response.getBody();
      // Parse the response body into an object
      var responseObj = JSON.parse(responseBody);
    
      // Store the response body into a virtual table
      v_table.addRow({
        sys_id: gs.generateGUID(),
        amount: responseObj.amount,
        description: responseObj.description,
        posting_date: responseObj.posting_date,
        transaction_date: responseObj.transaction_date
      });
    
    }) (v_table, v_query);

    Código de exemplo

    O exemplo de código a seguir mostra como consultar uma tabela remota e exibi-la no formulário FSO.
    function getRequiredInfo() {
    
      // Instantiate a GlideRecord object with the remote table containing the financial transaction details.
      var now_GR = new GlideRecord('transaction_details_remote_table');
    
      // Create a query to obtain the desired financial account
      now_GR.addQuery('financial_account', g_form.getValue('financial_account'));
    
      // Execute the query
      var result = now_GR.query(); 
    
      // Display the data in the FSO form
      var data = [];
      data ['amount'] = result.amount;
      data ['description'] = result.description;
      data ['posting_date'] = result.posting_date;
      data ['transaction_date'] = result.transaction_date;
    
      return data;
    }
    
    getRequiredInfo();