Rechercher des informations à distance dans le système d’enregistrement
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 .
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 :
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 .
|
Exemple de code
(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
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();