Estou precisando utilizar a API de DataSet (https://api.fluig.com/resource_DatasetServiceRest.html#resource_DatasetServiceRest_search_GET) com uma consulta com vcXMLRPC que eu tenho que realiza a seguinte trecho:
var intervaloAtual = ['2017-06-01', '2017-06-30'];
var c1 = DatasetFactory.createConstraint("dtCardapio", intervaloAtual[0], intervaloAtual[1], ConstraintType.MUST);
var ds = DatasetFactory.getDataset("wdgCardapioDias", null, new Array(c1), new Array("dtCardapio"));
Como faço para converter essa busca para a API?
Não estou conseguindo colocar os filtros, orders e limitar campos.
@Guilherme, boa tarde!!
Pode utilizar dessa maneira
http://{host}:{port}/api/public/ecm/dataset/search?datasetId=colleague&searchField=colleagueName&filterFields=active,false&orderBy=colleagueId_desc
Porém para buscar com valores inicial e final diferentes, conforme o exemplo que publicou, acredito que com esse recurso não será possível!
Neste caso, aconselho utilizar o POST /ecm/dataset/datasets
Não funcionou, olhei na documentação o que está lá também não funcionou
O recurso POST /ecm/dataset/datasets é o mesmo utilizado pela vcXMLRPC, se funciona lá é para funcionar montando um chamada pelo recurso! Veja como foi montado o consumo pela vcXMLRPC, inspecionando via console do chrome na aba network e terá um exemplo do consumo do recurso.
Eu solucionei a questão abrindo a classe vcXMLRPC.
Após o acesso a classe eu copiei o método DatasetFactory.getDataset e o alterei de acordo com minhas necessidades.
Código do método original da vcXMLRPC:
DatasetFactory.getDataset = function(name, fields, constraints, order, callback) {
var data = {
name: name,
fields: fields,
constraints: constraints,
order: order
};
if (fluigXMLRPC.debugging) {
fluigXMLRPC.debug("#DatasetFactory.getDataset " + fluigXMLRPC.datasetsUrl);
fluigXMLRPC.debug(data);
fluigXMLRPC.debug("callback? " + (callback != undefined));
}
var result;
simpleAjaxAPI.Create({
url: fluigXMLRPC.datasetsUrl,
data: data,
async: (callback != undefined),
success: function(data) {
if (fluigXMLRPC.debugging) {
fluigXMLRPC.debug("#DatasetFactory.getDataset success");
fluigXMLRPC.debug(data);
}
if (callback) {
callback.success(data.content);
} else {
result = data.content;
}
},
error: function(jqXHR, textStatus, errorThrown) {
if (fluigXMLRPC.debugging) {
fluigXMLRPC.debug("#DatasetFactory.getDataset error");
fluigXMLRPC.debug(jqXHR);
fluigXMLRPC.debug(textStatus);
fluigXMLRPC.debug(errorThrown);
}
if (callback) {
callback.error(jqXHR, textStatus, errorThrown);
} else {
fluigXMLRPC.error(textStatus, errorThrown);
}
}
});
return result;
}