Este projeto implementa um ETL mensal completo que integra os recebimentos financeiros gerados no sistema Superlógica, no módulo Imobiliárias junto ao ERP MXM WebManager, automatizando o processo de importação de títulos de Contas a Receber
[Open/Close] Table of Contents
Extrair mensalmente cobranças geradas no sistema Superlógica, do módulo Imobiliárias, via API, transformar os dados em CSV, normalizar os mesmos e inserir em forma de título de recebimento no ERP MXM WebManager, no módulo de Contas a Receber, também via endpoint de API, com rateio por grupo contábil e centro de custos
- Docker + Docker Compose com uma porta livre para Airflow UI (usualmente a 8080) ou engine Linux com Airflow e Python instalados
- Licença para o módulo Imobiliárias, do Superlógica
- Licença para o módulo Contas a Receber, do MXM WebManager
-
Clone este repositório
-
Siga as etapas com as configurações gerais do projeto
-
Siga as etapas de configuração de API para o Superlógica e MXM WebManager
-
Construa a imagem:
docker build -t airflow-sienge-sl-mxm:latest . -
Rode o Airflow:
docker compose up -d
-
Acesse a interface do Airflow (normalmente em http://localhost:8080)
-
Vá para Admin > Variables > Add new record
-
Crie as variáveis necessárias:
Variável Origem int_superlogica_app_tokenSuperlógica int_superlogica_access_tokenSuperlógica int_mxm_usernameMXM WebManager int_mxm_passwordMXM WebManager int_mxm_hom_enviromentMXM WebManager Defina também a variável
pth_depara_superlogica_mxmde acordo com o local onde seu depara está salvo, se usar o modelo do projeto e estiver rodando localmente, vai ser algo como/assets/depara_superlogica_mxm.csv -
Despause a DAG na interface do Airflow
-
Execute o trigger
- Clone este repositório
- Crie um ambiente virtual (se ainda não o fez)
- Mova o arquivo
etl_superl_mxm_dag.pypara a pasta raiz/dags - Crie um diretório para o arquivo
depara_supmxm.csvem um local acessível pelo Airflow e mova o arquivo para essa pasta - Adicione as variáveis do Airflow
airflow variables set int_superlogica_app_token "..."
airflow variables set int_superlogica_access_token "..."
airflow variables set int_mxm_username "..."
airflow variables set int_mxm_password "..."
airflow variables set int_mxm_hom_environment "..."
airflow variables set pth_depara_superlogica_mxm "/home/airflow/dags/depara_supmxm.csv"- Inicie o Airflow ativando o webserver e o scheduler (caso ainda não esteja ativo)
- Trigger
etl_cobsuperlogica_v.1
- Preencha o arquivo de depara entre o Superlógica e o MXM caso seus parâmetros entre os dois sistemas não sejam equivalentes
-
No módulo web, vá em Todos os usuários > API (INTEGRAÇÃO COM OUTROS SISTEMAS) > Aplicativos > Novo App Token
-
Preencha o nome e descrição do aplicativo
-
Salve os valores de
App token,SecreteAccess tokenem um lugar seguro, eles serão usados para criar as variáveis no Airflow:Variável Origem int_superlogica_app_tokenApp token int_superlogica_access_tokenAccess token
Em caso de dúvidas, consulte a documentação oficial
- Consulte o time técnico para obter seu usuário de INTEGRAÇÃO
Variável Origem int_mxm_usernameUsuário de INTEGRAÇÃO int_mxm_passwordSenha do usuário int_mxm_hom_environmentAmbiente usado - No ambiente de homologação, faça o login com um usuário padrão
- Acesse o módulo Integração Padrão > Processos > Importação Modelo > Processar importação de modelo
- Selecione o processo
035 - TITULOS A RECEBER - Escolha o layout
XL - PADRAO EXCEL - Preencha e faça upload do arquivo
modelo_layout.xlsx - Grave o processo e consulte o resultado em Dashboard de Integração ou Resultado das importações de modelo; a importação via modelo precisa gerar um título (que pode ser excluído depois) para "ativar" o uso do endpoint
O usuário usado para acessar o endpoint precisa ser o usuário de INTEGRAÇÃO, normalmente precisa ser solicitado ao time técnico.
Recomenda-se usar o ambiente de homologação e aguardar o espelhamento em D-1 para produção. A nomenclatura costuma ser {empresa}hom, mas para evitar erros o ideal é consultar o time de implantação.
Em caso de dúvidas, consulte a documentação oficial
