Service Desk-Mitarbeiter, der einen Fall übermittelt

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 3 Minuten Lesedauer
  • Dieser Anwendungsfall veranschaulicht, wie Sie einen Service Desk-Mitarbeiter in die Lage versetzen, einen Fall für einen bekannten Kunden zu übermitteln.

    In diesem Szenario sucht ein Service Desk-Mitarbeiter in einem FSO-Beschwerdeformular nach den Kontoinformationen eines Kunden, die sich in einer Remote-Bankanwendung befinden. Sobald er gefunden wurde, wird er im Beschwerdeformular angezeigt. Der Service Desk-Mitarbeiter füllt dann manuell die Falldetails für das Hypothekenkonto des Kunden aus und speichert den Beschwerdefall. Im Hintergrund speichert das Formularskript die Kundendetails und Finanzkontoinformationen lokal in der Instanz ServiceNow.

    Hinweis:
    In diesem Szenario wird davon ausgegangen, dass die Bankanwendung die beiden REST-Endpunkte GET /api/getConsumerDetails und GET /api/getFinancialAccounts verfügbar macht, die die angeforderten Verbraucherdetails und die zugehörigen Finanzkontoinformationen zurückgeben.

    Das Flow-Diagramm zeigt einen Fall, in dem ein Service Desk-Mitarbeiter auf den Datensatz des Kunden verweist, in dem Verbraucher- und Finanzkonten integriert sind.

    Auf die folgenden Tabellen ServiceNow wird in diesem Szenario zugegriffen:
    • Verbraucher [csm_consumer]: Enthält den Kundendatensatz.
    • Darlehenskonto [sn_bom_loan_account]: Enthält Informationen zum Darlehenskonto für jeden Kunden.
      Hinweis:
      Darlehenskonto ist eine Art von Finanzkonto.

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

    Das Account-Suchformular zeigt Schritt 1 des Ausfüllens von Beschwerdeformularfeldern wie „Produkt“, „Kunde“ und „Unzufriedenheitstyp“.

    Wenn der Service Desk-Mitarbeiter auf Accountsuche klickt, wird ein Popup-Fenster ähnlich dem folgenden angezeigt. Im Popup-Fenster kann der Service Desk-Mitarbeiter den Account des Kunden mit einem der angezeigten Suchparameter suchen. Sie können Ihre eigenen Suchkriterien basierend auf Ihrem spezifischen Webservice erstellen. Diese Webservices stammen im Allgemeinen aus Kunden- und Kontostammsystemen, CRMs, Core Banking-Mainframes und APIs von Core Banking-Softwareanbietern wie Fiserv, FIS, Jack Henry, Finastra und anderen.

    Das Account-Suchformular enthält die Felder „Name“, „Kundennummer“ und „Account“, die für die Suche auszufüllen sind.

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

    Account-Suchergebnisse zeigen aktive Accounts an, die bei einer Suche nach dem angegebenen Kunden zurückgegeben wurden.

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

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

    Swim-Diagramm, das sechs Schritte im Übermittlungsprozess des Bankanwendungs-Agents zeigt, wie Kundendatensätze aus den Tabellen „Verbraucher“ und „Darlehenskonto“ abgerufen werden, nachfolgende Datenantworten und aktualisierte Informationen in Tabellen gespeichert werden.
    1. Der Service Desk-Mitarbeiter gibt die Kundensuchinformationen in das Beschwerdeformular ein. Verwenden Sie diese Informationen, um mit der RESTMessageV2- API den REST-Aufruf /api/getConsumerDetails zu formulieren und an die Remote-Bankanwendung zu senden, um die Kontodetails des Kunden abzurufen.
    2. Der Endpunkt „/getConsumerDetails“ gibt die Verbraucherdetails oder einen Fehler zurück, wenn der Kunde nicht gefunden wurde.
    3. Erstellen/aktualisieren Sie mithilfe der GlideRecord- API den zugehörigen Kundendatensatz in der Tabelle ServiceNow Verbraucher [csm_consumer] mit den Verbraucherinformationen.
    4. Suchen Sie mit den vom REST-Aufruf „ /api/getConsumerDetails“ zurückgegebenen Account-Informationen nach dem Kundendarlehensdatensatz in der Remote-Bankanwendung. Verwenden Sie erneut die RESTMessageV2- API, um den Aufruf zu formulieren und an den Endpunkt „/getFinancialAccounts“ in der Bankanwendung zu senden, um den Hypothekendatensatz des Kunden abzurufen.
    5. Der Endpunkt „/getFinancialAccounts“ gibt die Finanzkonten zurück, die dem angegebenen Kunden zugeordnet sind.
    6. Erstellen/aktualisieren Sie mithilfe der GlideRecord- API die Finanzkontoinformationen des zugeordneten Verbrauchers in der Tabelle ServiceNow financial_account.

    Beispielcode

    Im Folgenden finden Sie ein JavaScript-Beispiel, das die oben genannten 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);
    });