Pesquisar informações remotas no sistema de registro
Este caso de uso ilustra como usar uma chamada de REST API para pesquisar detalhes de transações financeiras da conta hipotecária de um cliente em um sistema bancário remoto (sistema de registro).
Um agente de call center responde a uma consulta do cliente e cria um novo caso de FSO usando um formulário ServiceNow. 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 do consumidor e financeira, um script no formulário ServiceNow chama um endpoint REST remoto no sistema bancário remoto (aplicação do banco) para obter os detalhes da transação financeira. Em seguida, ele exibe esses detalhes no formulário ServiceNow para que o agente possa verificar as informações antes de inserir manualmente o restante das informações de caso necessárias. Depois de concluído, o caso de FSO é armazenado em cache na instância ServiceNow.
A seguir está um exemplo de como os detalhes da transação financeira recebidos da aplicação do banco remoto podem aparecer 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 comentários sobre qualquer processamento necessário. Nesta implementação, os dados obtidos da aplicação do banco remoto são armazenados em tabelas remotas. As tabelas remotas são armazenadas somente em cache na memória e nunca são armazenadas nas tabelas de banco de dados ServiceNow. Você também pode implementar este cenário gravando os dados remotos nas tabelas de banco de dados ServiceNow correspondentes. O cenário s ilustra como armazenar dados nas tabelas de banco de dados ServiceNow usando a API GlideRecord.
|
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();