PESQUISE informações remotas no sistema de registro
Este caso de uso ilustra como usar uma chamada de REST API para pesquisar detalhes da transação financeira da conta hipotecária de um cliente em um sistema bancário remoto (sistema de registro).
Um agente do call center responde a uma consulta do cliente e cria um novo caso de FSO usando um ServiceNow formulário. Nesse formulário, eles inserem manualmente as informações do consumidor, da conta financeira, da categoria e da descrição resumida e todas as anotações associadas.
Usando as informações da conta financeira e do consumidor, um script no ServiceNow O formulário chama um endpoint REST remoto no sistema bancário remoto (aplicativo bancário) para obter os detalhes da transação financeira. Em seguida, ele exibe esses detalhes no ServiceNow para que o agente possa verificar as informações antes de inserir manualmente o restante das informações necessárias do caso. Uma vez concluído, o caso de FSO é armazenado em cache no ServiceNow instância.
A seguir está um exemplo de como os detalhes da transação financeira recebidos da aplicação bancária remota podem ser quando aparecem no formulário de caso de FSO:
O diagrama a seguir mostra o fluxo da aplicação para este cenário de caso de uso e fornece breves observações sobre qualquer processamento necessário. Nesta implementação, os dados obtidos da aplicação bancária remota são armazenados em tabelas remotas. Tabelas remotas só são armazenados em cache na memória, eles nunca são armazenados em ServiceNow tabelas de banco de dados. Você também pode implementar esse cenário gravando os dados remotos no correspondente ServiceNow tabelas de banco de dados. . . o cenário ilustra como armazenar dados no ServiceNow tabelas de banco de dados usando GlideRecord API.
|
Código de exemplo
(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);Código de exemplo
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();