Service Desk-Mitarbeiter, der einen Fall übermittelt

  • Freigeben Version: Australia
  • Aktualisiert 31. Juli 2025
  • 3 Minuten Lesedauer
  • Dieser Anwendungsfall veranschaulicht, wie ein Service Desk-Mitarbeiter einen Fall für einen bekannten Kunden übermitteln kann.

    In diesem Szenario sucht ein Service Desk-Mitarbeiter in einem FSO-Beschwerdeformular nach den Kontoinformationen eines Kunden, die sich in einer Remote-Bankanwendung befinden. Nach der Suche wird sie im Beschwerdeformular angezeigt, und der Service Desk-Mitarbeiter füllt dann die Falldetails im Zusammenhang mit dem Hypothekenkonto des Kunden manuell aus, und speichert den Beschwerdefall. Im Hintergrund speichert das Formularskript die Kundendetails und Finanzkontoinformationen lokal auf der ServiceNow Instanz.

    Hinweis:
    Dieses Szenario setzt voraus, dass die Bankanwendung zwei REST-Endpunkte bereitstellt RUFT /api/getConsumerDetails AB Und RUFT /api/getFinancialAccounts AB Die die angeforderten Verbraucherdetails und die zugehörigen Finanzkontoinformationen zurückgeben.

    Die ServiceNow Tabellen, auf die in diesem Szenario zugegriffen wird, sind die folgenden:
    • Verbraucher [csm_Consumer]: Enthält Kundendatensatz.
    • Darlehenskonto [sn_bom_loan_account]: Enthält Darlehenskontoinformationen für jeden Kunden.
      Hinweis:
      Darlehenskonto ist eine Art Finanzkonto.

    Das folgende ist ein Beispiel für ServiceNow Beschwerdeformular (Fallformular), das einen Service Desk-Mitarbeiter durch die Einreichung einer Beschwerde im Namen eines Kunden begleitet. In diesem Formular klickt der Service Desk-Mitarbeiter im Formular auf die Schaltfläche „Accountsuche“, um die Accountinformationen des Kunden zu finden.

    Wenn der Service Desk-Mitarbeiter auf klickt Account-Suche Ein Popup ähnlich dem folgenden wird angezeigt. Mit dem Popup kann der Service Desk-Mitarbeiter den Account des Kunden mithilfe eines der angezeigten Suchparameter suchen. Sie können Ihre eigenen Suchkriterien basierend auf Ihrem spezifischen Webservice erstellen. Diese Webservices stammen im Allgemeinen von Kundenstamm- und Account-Master-Systemen, CRMs, Core-Banking-Mainframes und APIs von Core-Banking-Softwareanbietern wie Fiserv, FIS, Jack Henry, Finastra und anderen.

    Die Suche gibt die folgenden Accounts für diesen Kunden zurück.

    Der Service Desk-Mitarbeiter wählt den entsprechenden Account aus, und die erforderlichen Account-Informationen werden automatisch im Fallformular ausgefüllt. Der Service Desk-Mitarbeiter fügt dann alle zusätzlichen Informationen hinzu, die zum übermitteln des Kundenfalls erforderlich sind, und klickt auf Übermitteln Schaltfläche zum Speichern der Beschwerde in ServiceNow Instanz.

    Das folgende Diagramm zeigt den Flow der REST-API-Aufrufe für diesen Anwendungsfall und enthält kurze Anmerkungen zu erforderlicher Verarbeitung.

    1. Der Service Desk-Mitarbeiter gibt die Kundensuchinformationen in das Beschwerdeformular ein. Formulieren Sie anhand dieser Informationen den REST-Aufruf /api/getConsumerDetails Mit RESTMessageV2 API und senden Sie sie an die Remote-Bank-Anwendung, um die Account-Details des Kunden abzurufen.
    2. Die /GetConsumerDetails Endpunkt gibt die Verbraucherdetails oder einen Fehler zurück, wenn der Kunde nicht gefunden wird.
    3. Mit GlideRecord API, erstellen/aktualisieren Sie den zugehörigen Kundendatensatz in ServiceNow Tabelle „Verbraucher [csm_Consumer]“ mit den Verbraucherinformationen.
    4. Verwendet die von zurückgegebenen Accountinformationen /api/getConsumerDetails REST-Anruf, suchen Sie den Kundenhypothekendatensatz in der Remote-Bankanwendung. Verwenden Sie erneut RESTMessageV2 API zum Formulieren und Senden des Anrufs an /GetFinancialAccounts Endpunkt in der Bankanwendung zum Abrufen des Hypothekendatensatzes des Kunden.
    5. Die /GetFinancialAccounts Endpunkt gibt die Finanzkonten zurück, die dem angegebenen Kunden zugeordnet sind.
    6. Mit GlideRecord API, erstellt/aktualisiert die Finanzkontoinformationen des zugehörigen Verbrauchers in ServiceNow Financial_Account Tabelle.

    Beispielcode

    Im Folgenden finden Sie ein JavaScript-Beispiel, das die oben beschriebenen Schritte ausführt:
    // 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);
    });