Sucht im Erfassungssystem nach Remote-Informationen

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 2 Minuten Lesedauer
  • Dieser Anwendungsfall veranschaulicht, wie mithilfe eines REST-API-Aufrufs in einem Remote-Banksystem (Erfassungssystem) nach Finanztransaktionsdetails für das Hypothekenkonto eines Kunden gesucht wird.

    Ein Callcenter-Mitarbeiter beantwortet eine Kundenanfrage und erstellt mithilfe eines ServiceNow -Formulars einen neuen FSO-Fall. In diesem Formular geben sie manuell die Informationen zu Verbraucher, Finanzkonto, Kategorie und Kurzbeschreibung sowie alle zugehörigen Notizen ein.

    Unter Verwendung der Verbraucher- und Finanzkontoinformationen ruft ein Skript im Formular ServiceNow einen Remote-REST-Endpunkt im Remote-Banksystem (Bankanwendung) auf, um die Details der Finanztransaktion zu erhalten. Diese Details werden dann im Formular ServiceNow angezeigt, sodass der Service Desk-Mitarbeiter die Informationen überprüfen kann, bevor er die restlichen erforderlichen Fallinformationen manuell eingibt. Nach Abschluss wird der FSO-Fall in der Instanz ServiceNow zwischengespeichert.

    Hinweis:
    In diesem Anwendungsfall wird davon ausgegangen, dass die Bankanwendung den REST-Endpunkt GET /api/getTransactions verfügbar macht, der die angeforderten Verbraucherdetails und das zugehörige Finanzkonto zurückgibt.

    Workflow, der zeigt, wie Finanztransaktionsdetails in einem Remote-Bankkonto gesucht werden.

    Im Folgenden finden Sie ein Beispiel dafür, wie die von der Remote-Bankanwendung empfangenen Finanztransaktionsdetails aussehen könnten, wenn sie im FSO-Fallformular angezeigt werden:

    FSO-Fallformular, das die von der Remote-Bankanwendung empfangenen Transaktionsdetails anzeigt.

    Das folgende Diagramm zeigt den Anwendungs-Flow für dieses Anwendungsfallszenario und enthält kurze Anmerkungen zu erforderlichen Verarbeitungen. Bei dieser Implementierung werden die von der Remote-Bankanwendung erhaltenen Daten in Remotetabellen gespeichert. Remotetabellen werden nur im Arbeitsspeicher zwischengespeichert, sie werden nie in den Datenbanktabellen ServiceNow gespeichert. Sie können dieses Szenario auch implementieren, indem Sie die Remote-Daten in die entsprechenden ServiceNow -Datenbanktabellen schreiben. Das -Szenario zeigt, wie Daten in den Datenbanktabellen ServiceNow mithilfe der GlideRecord -API gespeichert werden.

    Workflow, der einen Fall zeigt, in dem der Service Desk-Mitarbeiter die erforderlichen Informationen eingibt und die REST API-Aufrufe verwendet, um Finanztransaktionsdetails in einem Remote-Banksystem zu suchen.
    1. Der Service Desk-Mitarbeiter gibt die erforderlichen Informationen in das FSO-Formular ein. Formulieren Sie mit diesen Informationen den REST-Aufruf /api/getTransactions mithilfe der RESTMessageV2- API, und senden Sie ihn an die Remote-Bankanwendung, um die Finanztransaktionsdetails des Kunden zu erhalten.
    2. Die Remote-Bankanwendung verarbeitet die Anforderung und gibt die Finanztransaktionsdetails des angegebenen Kunden zurück.
    3. Die Details zu Finanztransaktionen werden in der Instanz ServiceNow mithilfe der v_table- API in Remotetabellen zwischengespeichert.
    4. Die Transaktionsdetails werden dann im FSO-Formular angezeigt.

    Beispielcode

    Das folgende Codebeispiel zeigt, wie Sie mit der RESTMessageV2- API den REST-Aufruf an die externe Bankanwendung erstellen und ausführen. Anschließend werden die zurückgegebenen Ergebnisse mithilfe der v_table -API in einer Remotetabelle gespeichert. Bevor Sie die v_table- API verwenden können, müssen Sie das Plugin „Remote Tables“ (com.glide.script.vtable) aktivieren.
    (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);

    Beispielcode

    Das folgende Codebeispiel zeigt, wie eine Remotetabelle abgefragt und im FSO-Formular angezeigt wird.
    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();