Olá pessoal, existe a possibilidade de consultar um DATASET customizado ou interno do Fluig por um sistema externo via API REST ou Webservice SOAP?
Bom dia Romulo,
Tem sim, você vai precisar consumir a API “/api/public/ecm/dataset/datasets”.
Mas para consumir você vai precisar de uma autenticação oAuth, você pode pelo painel de controle gerar o usuário de autenticação e gerar a “key” e o “secret”.
Exemplo de consumo:
obs.: Precisa da biblioteca “cryptojs”.
//FUNÇÃO DE CHAMADA DE DATASET GENÊRICA
function getDatasetExterno(dataset, filtros, cb) {
var retorno;
var oauth = OAuth({
consumer: {
'key': '{consumerKey}', // nome do aplicativo que você criou
'secret': '{consumerSecret}' // nome do aplicativo que você criou
},
signature_method: 'HMAC-SHA1',
hash_function(base_string, key) {
return CryptoJS.HmacSHA1(base_string, key).toString(CryptoJS.enc.Base64);
},
nonce_length: 6
});
var request_data = {
url: WCMAPI.serverURL + '/api/public/ecm/dataset/datasets',
method: 'POST'
};
//type of the constraint(1 - MUST, 2 - SHOULD, 3 - MUST_NOT)
var data = {
"name": dataset,
"fields": [],
"constraints": filtros,
"order": []
}
var token = {
'key': '{sua key}',
'secret': '{seu secret}'
}
$.ajax({
url: request_data.url,
contentType: 'application/json',
crossDomain: true,
async: false,
type: request_data.method,
data: JSON.stringify(data),
headers: oauth.toHeader(oauth.authorize(request_data, token))
}).fail(function(e, f) {
console.log("deu ruim!");
}).success(function(f) {
if (f.content.values.length > 0) {
console.log(f.content.values);
cb(f.content);
} else {
console.log("Deu ruim tambem!");
}
});
};
//CONSUMO DA FUNÇÃO GENERICA
var filtro = [{
_field: "",
_initialValue: "",
_finalValue:"",
_type: 1, //type of the constraint(1 - MUST, 2 - SHOULD, 3 - MUST_NOT)
_likeSearch: false
}, {
_field: "",
_initialValue: "",
_finalValue: "",
_type: 1, //type of the constraint(1 - MUST, 2 - SHOULD, 3 - MUST_NOT)
_likeSearch: false
}];
getDatasetExterno("colleague", filtro, function(data){
console.log("EXECUTOU CALLBACK",data);
});
Excelente Willian, vou tentar dessa forma.
Obs: Gostei do console “deu ruim” kkkk
Boa tarde eu postei aqui fórum os arquivos e um passo a passo vou achar o link e te falo
Bom dia Daniel,
Se puder compartilhar o link lhe agradeço
Opa, isso funcionou pra você pessoal?
Eu não precisei utilizar porque fiz a consulta no Datasul com Progress.
Ah entendi, estou com a mesma necessidade que tu tinhas nesse tópico. Mas to tentando fazer funcionar e ta caindo no “deu ruim!” kkk @Willian_Laynes consegue salvar nós mestre?
Você já criou as chaves (token, app e etc) no fluig?
Opa, agora tá funcionando. Tive que mudar alguns parâmetros, mas funcionou!!
Desculpa, vi só agora…não estou conseguindo acompanhar muito essa semana. Que bom que deu certo.
Pessoal,
Alguém tem o arquivo CryptoJS.
Obrigado,
Romulo, boa tarde!
Você poderia mandar um exemplo de como consumir no progress um dataset do fluig por favor.