Fluig e Protheus: integração

Fluig e Protheus: integração

Um pedido de compra aprovado no Fluig, mas que precisa ser lançado no Protheus sem retrabalho: como garantir que dados, anexos e histórico de aprovação cheguem ao ERP de forma confiável, segura e auditável? Essa é a pergunta operacional que motiva projetos de integração entre Fluig e Protheus em ambientes corporativos — onde automação de processos, rastreabilidade e redução de lançamento manual são requisitos centrais.

O que é Fluig e qual é seu papel num ecossistema com Protheus

Fluig é uma plataforma de gestão de processos, documentos e identidade digital voltada para orquestrar fluxos de trabalho empresariais. Em termos arquiteturais, o Fluig atua como orquestrador de negócios: gerencia formulários, tarefas, repositório de documentos, versionamento e regras de aprovação. No contexto de integração com um ERP como o Protheus, o Fluig usualmente expõe ou consome APIs para encaminhar objetos de negócio (pedidos, medições, notas, contratos) que precisam ser persistidos ou conciliados no ERP.

Do ponto de vista de valor, a combinação Fluig + Protheus permite mover decisões e validações para uma camada de colaboração (workflow/documentos) e manter o ERP como fonte única da verdade para movimentos contábeis, estoque e financeiro. Isso reduz retrabalho, melhora a governança e aumenta a velocidade de execução dos processos.

Camadas de integração: padrões arquiteturais

  • Conector direto (advpl/tlpp): integração implementada diretamente no Protheus usando linguagem de servidor (AdvPL/TLPP) que consome APIs do Fluig. Essa abordagem pode usar classes/frameworks do Protheus para autenticação e chamadas REST.
  • Camada de middleware ou ESB: um barramento centraliza transformações, segurança e filas, desacoplando alterações do Fluig e do Protheus e facilitando monitoramento e retry.
  • Event-driven (webhooks + filas): Fluig dispara eventos (ou APIs) e um componente intermediário insere mensagens em filas para processamento assíncrono no Protheus, útil para cargas elevadas e para garantir idempotência.
  • Batch/periodic sync: quando baixa latência é aceitável, trocas periódicas com arquivos ou chamadas API podem sincronizar dados.

Autenticação e segurança na integração

No lado do Protheus, existem recursos de framework para consumir APIs que suportam OAuth. Um exemplo disponível em implementações práticas é a classe FWoAuth1Fluig, usada para autenticação via OAuth 1.0 em chamadas ao Fluig. Essa classe facilita o fluxo de assinatura das requisições e envio dos tokens necessários para consumir endpoints protegidos por OAuth 1.0.

Observações práticas:

  • Se a sua integração usa OAuth 1.0, organize tokens e secrets em parâmetros de ambiente gerenciáveis — por exemplo, muitos times armazenam essas chaves em parâmetros do sistema (no Protheus há exemplos de parâmetros personalizados usados para apontar endpoints e chaves).
  • Use TLS (HTTPS) para todas as comunicações entre Protheus e Fluig; garanta que certificados raiz estejam atualizados no ambiente servidor.
  • Implemente rotação periódica de chaves e um processo automático para atualizar tokens expirados — a lógica do consumidor deve detectar erros 401/403 e tentar renovação segura, ou acionar um fluxo de reautenticação manual quando necessário.
  • Registre tentativas de acesso e falhas em logs de auditoria para facilitar rastreabilidade e investigação.

Parâmetros e configuração no Protheus (exemplos de implementação)

Integrações costumam parametrizar endpoints, chaves e timeouts via variáveis de ambiente ou parâmetros do sistema. Em projetos observados há uso de parâmetros configuráveis para:

  • URL base do Fluig (ex.: um parâmetro personalizado para ambiente — exemplo: MV_X_FLEND). Note que nomes com prefixo MV_X são frequentemente usados como parâmetros customizados no Protheus — esse tipo de nomenclatura indica uma customização e não um recurso out-of-the-box do ERP.
  • Consumer Key/Secret e Access Token/Token Secret (ex.: MV_X_FLCK, MV_X_FLCS, MV_X_FLAT, MV_X_FLTS) — novamente, esses são exemplos de parâmetros customizados típicos para armazenar credenciais de OAuth.
  • Timeouts, tentativas de retry e variáveis de comportamento (sincrono/assíncrono) também devem ser parametrizáveis para permitir ajustes sem deploy de código.

Além de parâmetros custom, o Protheus possui parâmetros padrão para diversos comportamentos do sistema (por exemplo, parâmetros MV_* usados por módulos fiscais e outros), e esse conjunto padrão pode coexistir com os parâmetros de integração personalizados.

Como implementar a chamada: fluxo básico e boas práticas

Fluxo típico ao integrar um evento do Fluig ao Protheus:

  1. Recepção do evento ou requisição (push via API ou webhook).
  2. Validação sintática do payload (JSON) e validação de regras de negócio mínimas.
  3. Autenticação contra Fluig quando necessário (ex.: uso de uma classe de OAuth no Protheus para efetuar chamadas subsequentes ao Fluig).
  4. Mapeamento de entidades (formularios/fields do Fluig → campos do Protheus).
  5. Persistência no ERP via APIs internas, rotinas ou inserção em tabelas intermediárias para processamento posterior.
  6. Registro de resultado, retorno de status e, em caso de erro, estratégias de compensação ou retry.

Boas práticas recomendadas:

  • Idempotência: inclua um identificador de negócio (id externo) no payload e verifique antes de criar registros no Protheus para evitar duplicidade em reenvios.
  • Transações limitadas: quando persistir no ERP, mantenha transações curtas. Para operações longas, grave um log de intenção e processe em uma job assíncrona.
  • Retry com backoff: trate erros temporários com tentativas sucessivas usando backoff exponencial; erros permanentes devem gerar alertas operacionais.
  • Validação prévia: valide campos críticos (cenários fiscais, contábeis, de estoque) antes de tentar gerar movimentos no Protheus para evitar consistência parcial.

Exemplo de componentes que você encontrará em uma integração Protheus–Fluig

  • Classe de consumo REST/OAuth: frameworks do Protheus trazem classes para consumir serviços REST e implementar fluxos de OAuth; um exemplo observado é a classe FWoAuth1Fluig, que encapsula a autenticação OAuth 1.0 e oferece métodos para Post/Get sobre o endpoint do Fluig.
  • Gerenciamento de contexto FW: rotinas que controlam a área de execução e contexto de REST (funções como FWGetArea e FWRestArea aparecem em implementações) para garantir isolamento e controle de sessão durante chamadas.
  • Parser JSON: classes/objetos para transformar payloads em estruturas manipuláveis (por exemplo, objetos JSON nativos do framework do Protheus)
  • Parâmetros configuráveis: variáveis do ambiente para endpoint, chaves e flags de comportamento (exemplos custom: MV_X_FLEND, MV_X_FLCK, MV_X_FLCS, MV_X_FLAT, MV_X_FLTS).
  • Tabelas e logs: recomendação de criar tabelas de persistência intermediária (usualmente customizadas, com prefixo Z em muitos projetos) para guardar filas, status e históricos de integração.

Modelagem de dados e mapeamento

Ao modelar a integração, estabeleça um dicionário de dados que mapeie explicitamente campos do Fluig para campos do Protheus. Pontos a considerar:

  • Identifique chaves naturais (por exemplo, número do documento Fluig, CNPJ/CPF do parceiro) para determinar unicidade.
  • Defina regras de conversão de tipos (datas, decimais, códigos de produto) e tratamento de lookup (quando o Fluig envia um código externo que precisa ser traduzido para o cadastro no Protheus).
  • Decida estratégia para anexos: armazenar no repositório do Fluig e guardar referência no Protheus, ou baixar e salvar no servidor de arquivos do ERP? Em geral, manter links e metadados no ERP e usar o Fluig como repositório documental reduz sobrecarga no ERP.
  • Mapeie campos obrigatórios do Protheus; sempre valide no Fluig (na camada de formulário) que dados obrigatórios para geração de movimento no ERP estarão presentes.

Tratamento de documentos e anexos

Processos comuns (ex.: medição de contratos) demandam upload de documentos no Fluig que depois precisam acompanhar o lançamento no Protheus. Estratégias:

  • Referência e metadados: no Protheus grave apenas metadados (UUID do documento, versão, hash, tipo), mantendo o documento original no Fluig; isso preserva auditabilidade e evita duplicação de armazenamento.
  • Sincronização parcial: para operações que exigem o arquivo no ERP, implemente download em lote com checagem de integridade (hash) e controle de tamanho/chunking para arquivos grandes.
  • Assinaturas e certificação: se o documento requer assinatura digital, carregue o documento assinado no Fluig e armazene o identificador da assinatura no Protheus.

Logs, filas e persistência intermediária

Arquiteturas maduras usam tabelas intermediárias e filas para desacoplar ingestão de processamento. Recomendações:

  • Crie uma tabela de fila (customizada — em muitos projetos tabelas Z...) que armazene payloads, status (PENDENTE, PROCESSANDO, CONCLUIDO, ERRO), tentativas e timestamp.
  • Processos consumidores leem a fila, aplicam idempotência e atualizam status; em caso de erro, movem o item para uma dead-letter queue ou geram evento de alerta.
  • Registre logs de integração com contexto suficiente para reprocessamento manual (payload original, resposta do Fluig, mensagens de erro detalhadas).
  • Expose dashboards de operação para visualizar filas, latências e taxas de erro.

Casos de uso prático: medição de contratos e portal do fornecedor

Um padrão recorrente é utilizar o Fluig como portal do fornecedor para submissão de medições. O fluxo típico:

  1. Fornecedor submete medição via Fluig, anexa documentação e conclui o formulário.
  2. Fluig executa validações e cria uma tarefa de aprovação interna.
  3. Após aprovação, Fluig gera um evento para integração com o Protheus que, por sua vez, ingesta a medição como um documento financeiro ou originador de contas a pagar.
  4. O Protheus pode responder com números contábeis, ordem de pagamento ou solicitação de correção, que retornam ao Fluig como comentários ou novas tarefas.

Este padrão reduz digitação manual e mantém trilha auditável desde o upload do fornecedor até o pagamento.

Monitoramento, observabilidade e operação

Integrações corporativas devem ter monitoração orientada a negócios e a infraestrutura:

  • Métricas de negócio: quantos documentos processados por dia, tempo médio até lançamento no ERP, percentuais de rejeição por motivo.
  • Métricas técnicas: latência por chamada, taxa de erros HTTP, número de retries e utilização de filas.
  • Alertas configuráveis para erros críticos ou fila crescente.
  • Ferramentas de tracing que permitam seguir uma requisição ponta-a-ponta (Fluig → middleware → Protheus) e identificar pontos de falha.

Considerações sobre governança e separação de ambientes

Tenha ambientes separados (desenvolvimento, homologação, produção) para evitar impacto em usuários. Parametrize endpoints por ambiente (p.ex. parâmetros customizados que apontem para o Fluig de homologação) e mantenha processos de deploy e controle de versão das integrações.

Erros comuns e como evitá‑los

  • Falta de idempotência: reenvios criam duplicatas. Solução: chave externa e verificação pré-criação.
  • Campos obrigatórios faltando: formulários do Fluig não validam requisitos do ERP. Solução: implantar validações no formulário e contratos de API claros.
  • Gestão de credenciais frágil: credenciais hard-coded em fontes. Solução: parâmetros gerenciáveis e cofre de segredos quando disponível.
  • Sincronia equivocada: processos síncronos que travam usuários por latência. Solução: usar processamento assíncrono e feedback assíncrono no Fluig.

Checklist técnico para iniciar uma integração Fluig → Protheus

  1. Identificar entidades de negócio a integrar (ex.: medições, ordens, notas).
  2. Definir contratos de API (payload, campos obrigatórios, códigos de erro).
  3. Escolher o padrão de integração (direto via AdvPL, middleware ou webhook + fila).
  4. Mapear referências de autenticação e definir onde guardar chaves (evitar hardcode).
  5. Planejar idempotência e estrategia de retry.
  6. Definir tabelas de log/fila (ex.: tabela customizada para status de integração).
  7. Desenvolver testes de integração e ambiente de homologação espelhado ao produtivo.
  8. Configurar monitoração, dashboards e alertas operacionais.

Notas sobre customizações e nomenclatura

Em muitas implementações encontramos parâmetros e funções customizadas. Exemplos típicos observados incluem parâmetros com prefixo MV_X (por exemplo MV_X_FLEND, MV_X_FLCK, MV_X_FLCS, MV_X_FLAT, MV_X_FLTS) usados para armazenar endpoint e chaves do Fluig — atenção: essa nomenclatura com MV_X indica customização do cliente e não um recurso padrão do Protheus. Do mesmo modo, funções ou fontes iniciadas com 'z' (por exemplo zFlRest) costumam indicar desenvolvimento local e devem ser tratadas como customizações do ambiente, com controle de versão e documentação apropriada.

Conclusão operacional

Integrar Fluig e Protheus é um esforço de orquestração que envolve arquitetura, segurança e regras de negócio. Em termos práticos, recomenda-se começar com um escopo reduzido (um processo crítico), implantar garantias de idempotência, criar uma tabela de fila/log para visibilidade operacional e padronizar parâmetros de ambiente para facilitar movimentação entre ambientes. O uso de classes/frameworks para autenticação (por exemplo, classes que encapsulam OAuth 1.0) e a separação clara entre repositório documental (Fluig) e lançamentos contábeis (Protheus) reduzem riscos e simplificam manutenção.

Com planejamento e governança, a integração amplia controle de processos, reduz retrabalho e entrega ao negócio o benefício esperado: processos mais rápidos, auditáveis e integrados.

Index

Categorias

Sobre o Autor

Foto do Autor
Fábio Hayama

Apaixonado por gestão, tecnologia e inovação, Fábio Hayama possui mais de 15 anos de experiência no universo do ERP Protheus, estratégia empresarial e automação de processos.

Leia mais sobre o Fábio

Entre em contato conosco

Veja mais artigos relacionados

Fluig e Protheus: integração
Um pedido de compra aprovado no Fluig, mas que precisa ser lançado no Protheus sem retrabalho: como garantir que dados, anexos...
Condição de Pagamento
Você já recebeu uma nota fiscal e precisou transformar aquele valor em vários títulos, com juros, descontos e vencimentos difer...
Protheus ERP da TOTVS
Protheus é uma suíte ERP corporativa da TOTVS voltada para automatização de processos transacionais e sistêmicos em empresas de...
Configurador Tributos Protheus
Se você trabalha com Protheus e já se deparou com notas rejeitadas, cálculos de imposto divergentes ou demonstrações fiscais in...