Badiu MdlSync – Web Service Unificado para Múltiplas Instâncias Moodle
Como funciona

O MdlSync foi projetado para atuar como uma camada central de integração entre sistemas externos (como SGA/ERP e outros módulos corporativos) e múltiplas instâncias do LMS Moodle. Em vez de cada aplicação precisar conhecer os detalhes de cada Moodle (URL, credenciais, versão, particularidades do web service e regras de autenticação), o sistema externo passa a se comunicar com um único endpoint: a API do MdlSync. Assim, o projeto fica mais simples de manter, mais seguro de operar e mais rápido de evoluir.
Nesse modelo, o módulo ou camada de integração do sistema externo consome o web service do MdlSync utilizando um único token de autenticação. Isso significa que a aplicação cliente não precisa criar, armazenar e gerenciar tokens individuais por instância. O MdlSync assume a responsabilidade de rotear as requisições para a instância correta, aplicando as configurações internas necessárias e garantindo que as operações de leitura e escrita sejam executadas no ambiente certo, de forma controlada e padronizada.
Essa abordagem substitui o uso direto do web service nativo do Moodle, que normalmente exigiria uma configuração repetitiva para cada instalação, com diferenças de versão, formatos de resposta, exigências de permissão e rotinas de autenticação. Ao centralizar as chamadas, o MdlSync permite que o sistema externo execute suas integrações por meio de uma única API REST para todas as operações, mantendo um padrão consistente de requisição e resposta, independentemente de quantas instâncias existam por trás.
Na prática, o MdlSync funciona como um hub que gerencia as conexões com as instâncias do LMS Moodle por meio do plugin badiunet, instalado em cada instância. Esse plugin atua como o ponto de integração local, permitindo que o hub execute comandos e colete informações de forma segura e padronizada. Dessa forma, o MdlSync pode abstrair a complexidade operacional do LMS e oferecer ao sistema externo uma experiência unificada, mesmo em cenários com múltiplas instâncias, múltiplas versões e políticas diferentes de configuração.
Com essa arquitetura, o MdlSync viabiliza um conjunto amplo de integrações, como cadastro e atualização de usuários, criação, clonagem e gestão de cursos, inscrição e desvinculação de participantes, extração de notas e conclusões e operações de relatórios, sempre mantendo o mesmo padrão de integração para o cliente. Isso reduz drasticamente retrabalho, facilita testes (pois há um único ponto de entrada) e acelera a entrega de novas rotinas, sem que a equipe precise lidar diretamente com as particularidades de cada instalação do LMS.
Por fim, a centralização no MdlSync melhora a governança técnica do ecossistema: torna mais simples aplicar políticas de segurança, organizar auditoria de chamadas, controlar <strong;rate limit e padronizar retornos e erros. Em um ambiente onde várias áreas dependem do LMS (acadêmico, TI, dados, integrações, automações e até agentes de IA), o MdlSync atua como a peça que conecta tudo com consistência, mantendo a operação mais previsível, escalável e fácil de evoluir.