Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Índice

Índice
outlinetrue
exclude.*ndice
stylenone

Falando de

...

integração do TOTVS Fluig com TOTVS iPaaS...

...

O objetivo do TOTVS iPaaS é ser uma plataforma Low Code, feita para facilitar a construção e manutenção de integrações, para perfis de usuários com baixo aprofundamento técnico e também para usuários com grande experiência em desenvolvimento.

O fluig TOTVS Fluig permite a conexão com vários outros sistemas e entre elas o TOTVS iPaaS.

...

Lembrando que a integração com o TOTVS iPaaS funciona de forma assíncrona, ou seja, o fluig TOTVS Fluig envia os dados e não espera um resultado. Sendo assim, não deve ser usado em casos onde você precisa de algum tipo de retorno como um id ou uma mensagem de validação.

Caso não conheça o TOTVS iPaaS, clique aqui e saiba mais.

***imagem***


Iniciando um diagrama TOTVS iPaaS pelo

...

TOTVS Fluig

...

Com este exemplo, você será capaz de chamar o TOTVS iPaaS enviando dados fixos ou de campos do formulário.


Cadastrando o serviço no TOTVS Fluig

...

01. Primeiramente, precisaremos criar um diagrama. Para isso, vá em Integrações, selecione um projeto já existente ou crie um novo e então clique em Criar diagrama.

Com o Com um diagrama configurado no TOTVS iPaaS com o componente de início do tipo webhook, você deve copiar a url. O fluig TOTVS Fluig é compatível com os dois tipos de autenticação: via token e via URL. 

Você pode usar via URL quando tiver a necessidade de alterar essas chaves futuramente ou via autenticação quando quiser limitar um pouco mais o acesso ao serviço ou quando não quiser que a pessoa que cadastre o serviço tenha acesso a essa chave.


02. No TOTVS Fluig, acesse o Painel de Controle e no grupo Desenvolvimento acesse a opção Serviços.


03. Clique no botão Novo Serviço.


04. Selecione o tipo de serviço REST e preencha os campos código e descrição conforme o tipo de integração. Lembre-se que você deve ter um cadastro de serviço para cada diagrama, então use um nome que seja significativo.

...

Ou ainda, podemos cadastrar o domínio e selecionar a autenticação “custom” informando “apiKeyapiKey: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx”xxxxxxxxxxxx

Chamando o serviço

...

Este código pode ser usado tanto em um dataset quanto em um processo. No nosso exemplo é uma atividade de serviço que manda dados do formulário para o TOTVS iPaaS.

...

Bloco de código
var serviceName = 'connector-cadastro-centro-custos-rm';

//Caso não tenha informado a API KEY no cadastro de serviço, preencha na linha abaixo
var apiKey = ''; //'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'

//Neste objeto são os dados que são enviados para o TOTVS iPaaS. Neste exemplo, apenas um campo de formulário está sendo enviado.
//Note: em Strings retornadas pelos nossos métodos (hAPI, getValue) deve ser adicionado a concatenação com uma String vazia (+ ''). 
//Caso não seja feito isso, o comando JSON.stringify retornará um erro.
var data = {
	'processId': hAPI.getCardValue("processId") + ''
}	

// a partir daqui o código deve ser mantido
var clientService = fluigAPI.getAuthorizeClientService();
var vo = {
	companyId : getValue("WKCompany") + '',
	serviceCode : serviceName, // código usado no cadastro do serviço
	endpoint : '',
	method : 'post',
	timeoutService: '3000', // timeout do serviço em ms, neste caso, 3 segundos.
	params : data ,
	options : {
		encoding : 'UTF-8',
		mediaType: 'application/json'
	},
	headers: {
		"Content-Type": 'application/json;charset=UTF-8'
	}
};
	
if (apiKey) {
	vo.headers.apiKey = apiKey;
}

try {
	// O objeto data montado para realizar a requisição precisa ser convertido para um texto para ser enviado
	var result = clientService.invoke(JSON.stringify(vo));
	
	if (result.getHttpStatusResult() >= 200 && result.getHttpStatusResult() < 300) {
		// o Connector funciona de maneira assíncrona então vai retornar um 202 (Accepted).
		log.info("connector retornou ok");
	} else if (result.getHttpStatusResult() == 401) {
		log.info("Ocorreu um erro ao comunicar com o TOTVS iPaaS. Confira a URL do serviço e a API KEY utilizada");
		throw "Error 401";
	} else if (result.getHttpStatusResult() == 0 && result.getDescription() != null && result.getDescription().startsWith("ERROR CALLING SERVICE")) {
		log.info("Ocorreu um erro ao chamar o serviço. Confira se o serviço foi criado com o nome: " + data.serviceCode)
		throw "Error 404"
	} else {
		log.info("Ocorreu algum erro desconhecido")
		log.dir(result);
		
		throw "Error UNK";
	}
} catch (e) {
	throw "Ocorreu um erro. Entre em contato com a administração do fluig (" + e + ")";
}


Usando o TOTVS iPaaS para movimentar uma solicitação no

...

TOTVS Fluig

...

Com este exemplo, você será capaz de chamar o fluig TOTVS Fluig através do TOTVS iPaaS enviando dados fixos ou os dados de entrada de um webhook. O fluig TOTVS Fluig possui API’s do tipo SOAP e REST e ambas podem ser utilizadas, porém, por questões de autenticação, para movimentar uma solicitação é aconselhável usar a API SOAP. 

Apesar do TOTVS IPaaS iPaaS possuir conectores que permitem fazer apenas a configuração de variáveis, vamos mostrar como cadastrar ambos os tipos de serviço.


Cadastrando um aplicativo para comunicação com o

...

TOTVS Fluig

...

01. No TOTVS IPaaS, acesse Aplicativos e em seguida Cadastrar aplicativo:


02. Preencha os dados:


Ao concluir o cadastro, você será redirecionado novamente para a tela de listagem de aplicativos. 


Cadastrando o serviço SOAP do TOTVS Fluig

...

No cadastro de aplicativos, selecione o aplicativo que você criou do fluig TOTVS Fluig para incluir os serviços. Para os serviços SOAP, você pode visualizar todos os serviços disponíveis acessando o endereço do seu fluig TOTVS Fluig e adicionando /services. Por exemplo, caso o seu fluig TOTVS Fluig seja acessível através do endereço https://empresa/ os serviços disponíveis estão listados em https://empresa/services. Para a movimentação de solicitações, vamos usar o SOAP de Workflow: https://empresa/webdesk/ECMWorkflowEngineService?wsdl.

...

Avance para “Recursos” e informe o endereço “wsdl” do serviço, no caso https://empresa/webdesk/ECMWorkflowEngineService?wsdl.

A importação leva alguns segundos que é o tempo necessário para que o TOTVS IpaaS valide o endereço e consiga trazer todos os dados desse serviço. Ao finalizar, você verá que todos os métodos do wsdl estão listados:

...

Para a lista completa dos serviços e dos recursos de cada serviço pode ser consultada em https://tdn.totvs.com/pages/releaseview.action?pageId=662867789


Cadastrando o serviço da API Pública do TOTVS Fluig

...

No cadastro de aplicativos, selecione o aplicativo que você criou do fluig TOTVS Fluig para incluir os serviços. Para os serviços da API Pública, você pode visualizar todos os serviços disponíveis acessando o endereço do seu fluig TOTVS Fluig e adicionando /api-rest. Por exemplo, caso o seu fluig TOTVS Fluig seja acessível através do endereço https://empresa/ os serviços disponíveis estão listados em https://empresa/api-rest. Para a movimentação de solicitações, vamos usar a api de Process Managemento SOAP de Workflow: https://empresa/process-management/swagger-ui/

Para isso, na edição do aplicativo no TOTVS IPaaS, acesse Serviços e clique em cadastrar serviço. Preencha os dados selecionando o tipo de serviço como REST. Ao selecionar esta opção, irá pedir o Ambiente. 

...

Você pode selecionar um ambiente pré-cadastrado, ou adicionar selecionando a opção Cadastrar ambiente. A autenticação pode ser feita tanto por token quanto por OAUTH1, que é a forma que iremos abordar. Para as APIs públicas do fluigTOTVS Fluig, você não deve informar apenas a URL do fluig, é sendo necessário utilizar o que é chamado chamamos de “Base URL” da api. Neste caso, a URL ficaria https://empresa/process-management/api.
Onde https://empresa/ é o endereço da empresa e process-management/api é a Base URL da api do fluigTOTVS Fluig

Após preenchido as informações clique em Cadastrar.  


Cada serviço do fluig TOTVS Fluig tem um Base URL próprio, e pode ser consultado na página da própria API:

...

Nesta página também está o arquivo “swaggerswagger.json” jsonque iremos usar para importar os recursos. No TOTVS IPaaSiPaaS, avance para a parte de recursos e clique no botão importar recurso e informe a URL do arquivo json mencionado.

A importação leva alguns segundos que é o tempo necessário para que o TOTVS IpaaS iPaaS valide o endereço e consiga trazer todos os dados desse serviço. Ao finalizar, você verá que todos os métodos da API estão listados:

...

Logo após, clique em Concluir.


Adicionando uma conta OAUTH a API

...

Ao contrário do SOAP que recebe o usuário e a senha a cada método, a API Pùblica se conecta através da autenticação OAUTH. Para utilizar essa autenticação é necessário cadastrar um aplicativo no fluig TOTVS Fluig e configurar um usuário integrador, conforme essa documentaçãohttps://tdn.totvs.com/display/public/fluig/Fluig+API#FluigAPI-Cadastraraplicativonofluigapp

Após o cadastro, acesse na tela do aplicativo a parte de Contas e clique em Cadastrar Conta.

...

Selecione o ambiente da API e a autenticação como OAUTH1 e informe os dados de consumer key, consumer secret, access token e token secret conforme o cadastro realizado no fluigTOTVS Fluig.


Logo após, clique em Concluir.


Criando um projeto e realizando a integração com o

...

TOTVS Fluig

...

Acesso no TOTVS iPaaS o menu Integrações e acesse a opção Projetos & Pacotes. Você pode utilizar projetos já existentes ou clicar em criar um projeto novo. No projeto, crie um novo diagrama e preencha o nome e a descrição.

Após selecionar o tipo de início do diagrama, na aba aplicativos selecione o aplicativo do fluig TOTVS Fluig e arraste para o diagrama. Clique no ícone da engrenagem para habilitar a tela de configurações.

Para o SOAP, dê um nome ao recurso, selecione o serviço e o recurso (por exemplo, simpleStartProcess para iniciar uma solicitação) e não é necessário configurar uma conta. Na tela seguinte, a partir da leitura que foi realizada no momento do cadastro, já é exibida a tela com no campo Conta, mantenha a opção Sem conta, pois não é necessária essa configuração. Clique em Avançar, e na tela seguinte, já serão exibidos todos os dados aceitos pelo serviço. Basta informar os parâmetros necessários e clicar em Concluir. Em caso de dúvidas, você pode acessar acesse a já referenciada documentação dos webservices do fluig https://tdn.totvs.com/pages/releaseview.action?pageId=662867789TOTVS Fluig.

Para API Pública, selecione o serviço e recurso (por exemplo, Processes - /v2/processes/{{{processId}}}/start - Start request para iniciar uma solicitação) e selecione a conta que será usada para a autenticação.

Assim como no SOAP, na tela seguinte exibida todos os dados aceitos pelo serviço. Note que existem parâmetros InPath que são os itens da URL (neste caso, o {{{processId}}}) e os parâmetros InBody que são os dados do “corpo” da requisição. Em caso de dúvida sobre os parâmetros, você pode acessar também a documentação das API’s do fluig em https://api.fluig.com/latest/index.htmlTOTVS Fluig.