Usar fluigAPI em JavaScript (.js) externo

É possível utilizar a fluigAPI em um javascript externo?

Estou desenvolvendo um workflow. Ele tem um formulário relacionado. No meu formulário, tenho um javascript a parte, que estão no arquivo funcoes.js:

formulario.html:

    <head>
        <link type="text/css" rel="stylesheet" href="/style-guide/css/fluig-style-guide.min.css"/>
        <script type="text/javascript" src="/portal/resources/js/jquery/jquery.js"></script>
        <script type="text/javascript" src="/portal/resources/js/jquery/jquery-ui.min.js"></script>        
        <script type="text/javascript" src="/portal/resources/js/mustache/mustache-min.js"></script>
        <script type="text/javascript" src="/style-guide/js/fluig-style-guide.min.js" charset="utf-8"></script>
        <script type="text/javascript" src="/webdesk/vcXMLRPC.js"></script>
        <script type="text/javascript" src="funcoes.js"></script>        
    </head>

No formulário, tenho um botão que irá chamar um Webservice REST e apresentar os resultados num textarea deste formulário.

Para fazer isto, estou tentando rodar o fluigAPI.getAuthorizeClientService() conforme orientado no link abaixo:

https://tdn.totvs.com/pages/releaseview.action?pageId=239041233#OAuth1--2101383534

Porém ao clicar no botão, apresenta o seguinte erro no console:

ReferenceError: fluigAPI is not defined
    at restProtheus (funcoes.js:306)
    at HTMLButtonElement.onclick (?WDCompanyId=1&WDNrDocto=0&WDNrVersao=0&WDParentDocumentId=8655&WKNumProces=0&processID=cadastro_produto&WKNumState=0&WKManagerMode=false&WKDef=cadastro_produto&WKVersDef=9&taskUserId=fluig.ti:1013)

Acredito que o erro ocorra pois não estou chamando o fluigAPI de um Evento de Formulário ou um Evento de Processo.

Preciso chamar deste meu javascript externo. É possível? Preciso declarar mais algum src no head do meu html?

A função que chamo no botão é esta:


function restProtheus() {

    try{
        var clientService = fluigAPI.getAuthorizeClientService();        

        var data = {                                                   
            companyId : getValue("WKCompany") + '',
            serviceCode : 'MeuServicoREST',                     
            endpoint : '/urbfluig/F_PROD',  
            method : 'put', // 'delete', 'patch', 'post', 'get'                                        
            timeoutService: '120', // segundos
            params : {                                             
                    teste : 'teste'                    
            }                                                      
        }                                                          
        var vo = clientService.invoke(JSON.stringify(data));

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

            console.log('Retorno está vazio ...');

        }else{
            console.log(vo.getResult());
        }
    } catch(err) {
        //throw new Exception(err);

        console.log(err);

    }


}

Grato

compartilhar
  1. Você vai ver essas setas em qualquer página de pergunta. Com elas, você pode dizer se uma pergunta ou uma resposta foram relevantes ou não.
  2. Edite sua pergunta ou resposta caso queira alterar ou adicionar detalhes.
  3. Caso haja alguma dúvida sobre a pergunta, adicione um comentário. O espaço de respostas deve ser utilizado apenas para responder a pergunta.
  4. Se o autor da pergunta marcar uma resposta como solucionada, esta marca aparecerá.
  5. Clique aqui para mais detalhes sobre o funcionamento do fluig Forum!

1 resposta

Não é a resposta que estava procurando? Procure outras perguntas com as tags javascript rest webservice getauthorizeclientservice fluigapi ou faça a sua própria pergunta.