Fluig x Protheus - Criando dataset com integração Via REST (GET) utilizando BasicAuth

    function createDataset(fields, constraints, sortFields) {
        log.info("################# INICIO INTEGRACAO DATASET #################");
        var dataset = DatasetBuilder.newDataset();



        var clientService = fluigAPI.getAuthorizeClientService();

        var data = {
            companyId: getValue("WKCompany") + '',
            serviceCode: "{NOME DO SERVICO}",
            endpoint: "/{NOME DO SERVICO}?{PAMAMETRO}={CÓDIGO}",
            method: "GET",
            timeoutService: "300"
        }

        var vo = clientService.invoke(JSON.stringify(data));

        if (vo.getResult().search("HttpHostConnectException") != -1) {
            log.info("################# Não foi possível estabelecer conexao com o servidor rest #################");
            dataset.addRow("Não foi possível estabelecer conexao com o servidor rest");

        }
        else {
            if (vo.getResult() == null || vo.getResult().isEmpty()) {
                throw new Exception("Retorno está vazio");
            }
            else {

                txt = new Array(vo.getResult());

                var json = JSON.parse(txt);

                if (json.Erro == "Nota nao encontrada") {
                    dataset.addColumn('Erro');
                    dataset.addRow(new Array(vo.getResult()));
                }
                else {
                    dataset.addColumn('{NOME COLUNA}');
                                    [...]

                    log.info(json.{NOME COLUNA});
                    [...]
                    dataset.addRow([json.{NOME COLUNA}, [...] ]);
                }
            }

            return dataset;
        }

    }
4 curtidas

TOPPPPPPPPPP JULIO!!! :+1: :+1: :+1: :+1: :blue_heart:

1 curtida

Acredito que seja algo simples, mas me ajudou bastante kkkk

Além disso, quando eu fui fazer, tive um pouco de dificuldades… Espero que ajude!

3 curtidas

Aproveitando a thread, alguém já fez essa mesma integração, mas com uma url que retorne um csv? A dificuldade está sendo fazer o parse do csv para retornar as linhas corretamente.

Com JSON é feito usando JSON.parse(), mas no meu caso o retorno é em csv.