Suchen Sie im Erfassungssystem nach Remote-Informationen
Dieser Anwendungsfall zeigt, wie Sie mit einem REST-API-Aufruf nach Finanztransaktionsdetails für das Hypothekenkonto eines Kunden in einem Remote-Banksystem (System of Record) suchen.
Ein Call Center-Mitarbeiter antwortet auf eine Kundenanfrage und erstellt einen neuen FSO-Fall mithilfe eines ServiceNow -Formulars. In diesem Formular geben sie die Informationen zu Verbraucher, Finanzkonto, Kategorie und Kurzbeschreibung sowie zugehörige Notizen manuell 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. Anschließend werden diese Details 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.
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:
Das folgende Diagramm zeigt den Anwendungs-Flow für dieses Anwendungsfallszenario und enthält kurze Hinweise zur erforderlichen Verarbeitung. In dieser Implementierung werden die aus der Remote-Bankanwendung abgerufenen Daten in Remotetabellen gespeichert. Remotetabellen werden nur im Speicher 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 s -Szenario zeigt, wie Daten in den Datenbanktabellen ServiceNow mithilfe der GlideRecord- API gespeichert werden.
|
Beispielcode
(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
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();