Converter busca de DataSet com vcXMLRPC para API;

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;
    }