Dataset que faz uma requisição GET em uma API REST do Protheus

Bom dia,

pessoal sou novo com a plataforma fluig, e gostaria de um apoio.

Poderiam me encaminhar um exemplo de um dataset que faz uma requisição GET em uma API REST do Protheus.

Tentei construir um dataset a partir de um exemplo, porém não carrega as informações.

function createDataset(fields, constraints, sortFields) { var dataset = DatasetBuilder.newDataset();

dataset.addColumn("status"); dataset.addColumn("detalhe");

var parametros = data();

if(constraints != null){ for(var i = 0; i < constraints.length; i++){ if(constraints[i].fieldName == "address"){ parametros["address"]["address"] = String(constraints[i].initialValue); } else if(constraints[i].fieldName == "zipCode"){ parametros["address"]["zipCode"] = String(constraints[i].initialValue); } else if(constraints[i].fieldName == "stateId"){ parametros["address"]["state"]["stateId"] = String(constraints[i].initialValue); } else if(constraints[i].fieldName == "stateInternalId"){ parametros["address"]["state"]["stateInternalId"] = String(constraints[i].initialValue); } else if(constraints[i].fieldName == "stateDescription"){ parametros["address"]["state"]["stateDescription"] = String(constraints[i].initialValue); } else if(constraints[i].fieldName == "cityDescription"){ parametros["address"]["city"]["cityDescription"] = String(constraints[i].initialValue); } else if(constraints[i].fieldName == "storeId"){ parametros["storeId"] = String(constraints[i].initialValue); } else if(constraints[i].fieldName == "shortName"){ parametros["shortName"] = String(constraints[i].initialValue); } else if(constraints[i].fieldName == "strategicCustomerType"){ parametros["strategicCustomerType"] = String(constraints[i].initialValue); } else if(constraints[i].fieldName == "code"){ parametros["code"] = String(constraints[i].initialValue); } else if(constraints[i].fieldName == "name"){ parametros["name"] = String(constraints[i].initialValue); } } }

/ Integrar com esta API http://localhost:porta/rest/ds_rest_get_client /

var sendData = { companyId: String(fluigAPI.getSecurityService().getCurrentTenantId()), serviceCode: "ds_rest_get_client", endpoint: "/", method: "GET", params: parametros }

var clientService = fluigAPI.getAuthorizeClientService(); var vo = clientService.invokeService(JSON.stringify(sendData));

var status = String(vo.getHttpStatusResult())

// Sucesso na integração if(status == "201"){ dataset.addRow(new Array( status, "Cliente criado com sucesso" )); }

// Erro de negocio na Integração else if (status == "400"){

// Pegar o retorno da API var parseResult = JSON.parse(vo.getResult());

// A partir do retorno pegar a mensagem de erro var parseError = JSON.parse(parseResult.errorMessage);

// A partir da mensagem de erro, pegar somente os detalhes do erro var msg = parseError.detailedMessage

dataset.addRow(new Array( status, msg )); }

// Erro desconhecido/Forbidden else { dataset.addRow(new Array( "403", "Ops, aconteceu um erro desconhecido, por favor tente mais tarde." )); }

return dataset; }

function data(){ return { "address": { "address": "", "zipCode": "", "state": { "stateId": "", "stateInternalId": "", "stateDescription": "" }, "city": { "cityDescription": "" } }, "storeId": "", "shortName": "", "strategicCustomerType": "", "code": "", "type": 1, // Enviar 1 (INTEIRO) para criar um registro do tipo cliente "name": "" } }

Fiz uma dataset consumindo os dados via Query:

function createDataset(fields, constraints, sortFields) {

var newDataset = DatasetBuilder.newDataset();

log.info("QUERY: " + myQuery);

var dataSource = "/jdbc/sql";/Informe o nome do serviço do painel de controle/

var ic = new javax.naming.InitialContext();

var ds = ic.lookup(dataSource);

var created = false;

var myQuery = "SELECT VS6FILIAL FILIAL, VS6_NUMORC ORCAMENTO, VS6_CODCLI CLIENTE, VS6_LOJA LOJA, VS6_DESOCO TIPO, VS6_USUARI SOLICITANTE FROM VS6010 WHERE D_E_L_E_T = '' AND VS6_LIBPRO = '' ORDER BY VS6_FILIAL";/Informe a query da requisição/

Dessa maneira ele fez a consulta correta!

Obrigado pelo empenho em ajudar!