Rechercher des informations à distance dans le système d’enregistrement

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 3 minutes de lecture
  • Ce cas d’utilisation illustre l’utilisation d’un appel d’API REST pour rechercher les détails d’une transaction financière pour le compte hypothécaire d’un client sur un système bancaire à distance (système d’enregistrement).

    Un agent de centre d’appels répond à la demande d’un client et crée un nouveau ticket FSO à l’aide d’un ServiceNow formulaire. Dans ce formulaire, ils saisissent manuellement le consommateur, le compte financier, la catégorie et les informations de description brève, ainsi que toutes les notes associées.

    À l’aide des informations sur le consommateur et le compte financier, un script dans le ServiceNow formulaire appelle un point de terminaison REST distant sur le système bancaire à distance (application bancaire) pour obtenir les détails de la transaction financière. Il affiche ensuite ces détails dans le ServiceNow formulaire afin que l’agent puisse vérifier les informations avant de saisir manuellement le reste des informations de ticket requises. Une fois terminé, le ticket FSO est mis en cache sur l’instance ServiceNow .

    Remarque :
    Ce cas d’utilisation suppose que l’application bancaire expose le point de terminaison REST GET /api/getTransactions qui renvoie les détails du consommateur demandé et son compte financier associé.

    Workflow qui montre comment rechercher les détails d’une transaction financière sur un système bancaire à distance d’enregistrement.

    Voici un exemple de ce à quoi peuvent ressembler les détails de transaction financière reçus de l’application de la banque distante lorsqu’ils apparaissent sur le formulaire de ticket FSO :

    Formulaire de ticket FSO qui affiche les détails de la transaction reçus de l’application de la banque distante.

    Le diagramme suivant montre le flux d’application pour ce scénario de cas d’utilisation et fournit de brèves remarques sur tout traitement requis. Dans cette implémentation, les données obtenues à partir de l’application de banque distante sont stockées dans des tables distantes. Les tables distantes sont uniquement mises en cache en mémoire, elles ne sont jamais stockées dans les tables de ServiceNow base de données. Vous pouvez également implémenter ce scénario en écrivant les données distantes dans les tables de base de données correspondantes ServiceNow . Le scénario s illustre comment stocker des données dans les ServiceNow tables de base de données à l’aide de l’API GlideRecord .

    Workflow qui affiche un ticket dans lequel l’agent saisit les informations requises et utilise les appels d’API REST pour rechercher les détails d’une transaction financière sur un système bancaire à distance.
    1. L’agent saisit les informations requises sur le formulaire FSO. À l’aide de ces informations, formulez l’appel REST /api/getTransactions à l’aide de l’API RESTMessageV2 et envoyez-le à l’application de la banque distante pour obtenir les détails de la transaction financière du client.
    2. L’application de banque distante traite la demande et renvoie les détails de la transaction financière du client spécifié.
    3. Les détails de la transaction financière sont mis en cache sur l’instance dans des ServiceNow tables distantes à l’aide de l’API v_table .
    4. Les détails de la transaction sont ensuite affichés sur le formulaire FSO.

    Exemple de code

    L’exemple de code de suivi montre comment utiliser l’API RESTMessageV2 pour créer et exécuter l’appel REST vers l’application bancaire externe. Il stocke ensuite les résultats renvoyés dans une table distante à l’aide de l’API v_table . Avant de pouvoir utiliser l’API v_table , vous devez activer le module d’extension Tables distantes (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);

    Exemple de code

    L’exemple de code de suivi montre comment interroger une table distante et l’afficher dans le formulaire 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();