Robô PHP

De WikiBase

Robô PHP

Visão Geral

Atencao.png

Esse conteúdo está em construção e poderá sofrer alterações ou correções até a liberação final da documentação.


O Robô PHP é a ferramenta que faz a atualização (sincronismo) dos dados cadastrais gerados pelos sistemas (condomínios, condôminos, fornecedores, locadores, locatário, etc.) para o ambiente Base CRM.

No procedimento básico, ele monitora Logs gerados no banco de dados dos Sistemas da Base e sincroniza nos servidores do Base CRM.

Também existe a possibilidade de sincronismo de dados tendo como fonte bancos de dados de outros sistemas, esse processo depende da validação dos arquivos que deverão ser gerados de acordo com o Layout de Importação de Dados, conforme poderemos ver mais adiante.

Procedimentos

Instalação

Atencao.png

A execução do Robô PHP depende do gerenciador de banco de dados Firebird na versão 2.5, que deverá estar atualizado no equipamento do cliente. Além da atualização das ultimas versões dos sistemas.

No caso de sincronismo através de terceiros (outros sistemas) também é exigido o Firebird na versão 2.5 que deverá ser instalado antes do processo de instalação do próprio Robô.


O pacote de instalação do Robô PHP pode ser baixado no ambiente Ágil da Base Software, para isso deverá ser fornecido um login e senha válidos para o acesso ao download.

O acesso ao download poderá ser feito através da opção "PRIMEIRA INSTALAÇÃO" e filtrando o produto "Base CRM", conforme as imagens de exemplo abaixo.


Agil 1.jpg


Agil 2.jpg


Agil 3.jpg


Após o download, Execute o arquivo Instalacao_Robo_PHP siga o passo-a-passo para que a instalação seja feita.

Ao seguir o passo-a-passo do processo de instalação, será criado o diretório C:\Robo_PHP onde estarão todos os arquivos necessários para a execução do processo de sincronismo.


Robo php 1.jpg

Configuração

Todas as configurações necessárias para o perfeito funcionamento do Robô PHP deverão ser feitas no arquivo config.inc.php, através de seções específicas para cada tipo de operação.

O arquivo config.inc.php é auto-explicativo, contudo vamos abordar as suas seções a seguir.

Configurações Genéricas
  • Tempo de vida do arquivo PID


Robo php 2.jpg


Conforme poderá ser observado mais adiante, a execução do robô é feita em ciclos agendados no agendador de tarefas do sistema operacional. Para evitar que um ciclo sobreponha o outro é criado um arquivo PID referente ao ciclo que está sendo executado.
Porém, em caso de interrupção não espontânea, para garantir que o próximo cilo seja executado pode ser configurado um tempo de vida em segundos para o arquivo PID. Consequentemente se o arquivo PID estiver expirado o ciclo será executado assim mesmo.


  • Dados Básicos


Robo php 3.jpg


Nessa seção deverão ser configurados os dados básicos da empresa, com atenção para algumas configurações específicas.
prefixo : Só deverá ser configurado no caso de integração com banco de dados de terceiros (sistemas que não forem da base)
qtd_logs_envio : Determina a quantidade de registros (Logs) que serão enviados a cada ciclo de sincronismo (o valor zero determina que todos os registros serão enviados no clico).
qtd_logs_envio_em_massa : Independente da quantidade de Logs o sincronismo será executado em lote de registros, esse parâmetro determina a quantidade de registros em cada lote de sincronismo.


Dica.png

De acordo com o exemplo acima qtd_log_envio = 0 determina que todos os registros serão sincronizados durante o ciclo de sincronismo, então se o banco de dados tiver 5000 registros de Logs o ciclo de sincronismo não será interrompido enquanto todos os registros forem atualizados. Porém qtd_logs_envio_em_massa=500 determina que os registros serão atualizados em lotes de 500 registros até que todos os logs estejam sincronizados.


login_usuario_crm, senha_usuario_crm e chave_usuario_crm : Esses parâmetros poderão ser utilizados para criar um nível de segurança para atualização dos dados, contudo, eles requerem que seja feita uma configuração a mais de usuário no ambiente do Base CRM para que o mesmo seja autenticado no momento do sincronismo. Deverá ser criado um usuário de nome robo no Base CRM e o mesmo deverá ser configurado nos parâmetros.
login_usuario_crm = robo, senha_usuario_crm = senha do usuário robo criado no CRM e chave_usuario_crm = chave do usuário robo criado no CRM


Atencao.png

A criação do usuário robo no Base CRM condiciona o sincronismo à autenticação, então se o usuário existir ocorrerá falha de autenticação se o mesmo não estiver configurado nos parâmetros login_usuario_crm, senha_usuario_crm e chave_usuario_crm.

Dados dos Sistemas Base Software
No caso dos Sistemas da Base, todo o monitoramento dos cadastros e geração dos Logs é feita automaticamente no banco de dados SQS2000.FDB e a configuração do banco de dados deverá ficar conforme as sugestões abaixo.


Robo php 4.jpg


Dica.png

Essas informações poderão ser consultadas nos Arquivos INI dos sistemas da Base.

Poderá ocorrer diferença, na configuração de usuário e senha de conexão com o banco, mas geralmente serão sysdba e masterkey.

Fonte de Dados de Terceiros
Atencao.png

Conforme mencionado anteriormente, a execução do Robô PHP depende do gerenciador de banco de dados Firebird na versão 2.5, que deverá estar atualizado no equipamento do cliente.

No caso de sincronismo através de terceiros (outros sistemas) também é exigido o Firebird na versão 2.5 que deverá ser instalado antes do processo de instalação do próprio Robô.


No caso de dados de sistemas de terceiros, o Robô PHP tem o seu próprio banco de dados local Firebird 2.5 para gerenciamento dos Logs. A alimentação dos dados é feita através da interpretação de arquivos txt.
Atencao.png

Os arquivos txt deverão ser gerados obrigatoriamente em conformidade com o Layout de Importação de Dados.

Caso o processo de instalação tenha sido feito seguindo o passo-a-passo, a configuração para o banco de dados deverá ser conforme o exemplo abaixo:


Robo php 5.jpg


Porém, se o diretório de instalação for alterado, a configuração do banco de dados deverá seguir o padrão do diretório selecionado.
Outra configuração importante diz respeito às fontes de dados, ou seja, onde o robô deverá buscar os arquivos txt que alimentarão os Logs de sincronismo.


Robo php 6.jpg


Fontes Distintas de Dados de Terceiros
A configuração da fontes de dados utiliza o conceito de array (índices), permitindo a configuração de mais de uma fonte de dados para operação simultânea.
Para que esse processo seja configurado, basta criar nova estrutura de importação no mesmo arquivo config.inc.php, contendo um novo índice de array conforme a imagem de exemplo abaixo.


Robo php 7.jpg


Concluindo a configuração, teríamos duas estruturas de importação no mesmo arquivo de configuração: Uma com índice 0 e outra com índice 1.


Atencao.png

A incorporação de mais de uma fonte de dados, requer um controle muito apurado pelos sistemas do cliente quanto aos códigos de identificação das contas. Esse controle evita erros de duplicidade, além de críticas quanto a contas não encontradas.

Operação

No processo de instalação do robô são criados os arquivos correspondentes aos ciclos de execução, a execução desses ciclos varia de acordo com a fonte de dados utilizada.


Robo php 13.jpg
Principais Ciclos de Execução do Robô
  • Sistemas da Base: Somente o ciclo sincronizar será necessário.
  • Sistemas de terceiros: Os ciclos validar, importar e sincronizar serão obrigatórios, exatamente nessa ordem.
Ciclos obrigatórios:
  • importar: Faz a importação dos dados contidos nos arquivos txt para o banco de dados local do robô, gerando os logs conforme os dados analisados.


Atencao.png

O ciclo de importação só é executado se o ciclo de validação passar sem erros.


  • sincronizar: Faz o sincronismo dos dados contidos no banco de dados local do robô (ou do banco dados dos Sistemas Base) para os servidores do Base CRM.


Atencao.png

O ciclo parear deverá ser utilizado obrigatoriamente pelos clientes que já tenham utilizado outros processos de sincronismo com o Base CRM (Robô antigo), antes do primeiro sincronismo com a nova versão do Robô (Robô PHP).

Ele faz uma paridade entre as entidades do banco de dados local e o banco de dados do Base CRM.


O ciclo opcional estatisticas gera um resumo com os logs enviados, não enviados e com erro.


Atencao.png

Todos os ciclos de execução deverão ser programados para serem executados no agendador de tarefas do sistema operacional do cliente. Eventualmente poderão ser executados via prompt de comando.

Nas configurações para importação de arquivos de terceiros (importação txt) é muito importante que os ciclos sejam executados na ordem: 1) validar, 2) importar e 3) sincronizar.

Os processos foram validados levando em consideração somente o ambiente Microsoft Windows.

Logs de Processamento
Todos os ciclos de processamento do robô geram logs com o resultado do processo. Esses arquivos são gerados por ciclo no diretório Logs, registrando todas as fases do respectivo ciclo.


Robo php 11.jpg


Dica.png

Os arquivos são gerados por ciclo e data de processamento, havendo repetição do ciclo na mesma data serão acumulados no mesmo arquivo.


Robo php 12.jpg
Exemplo de um log de validação
Configurando Mensagens de Alerta/Aviso
Na seção abaixo deverão ser configuradas as regras, parâmetros do servidor de e-mail e destinatários que poderão receber notificações de processamento do robô.


Robo php 8.jpg


Conforme o exemplo acima, o parâmetro destinatarios permite que mais de um endereço seja configurado para recepção dos e-mails.
Regras de notificação:
  • enviar_erro_validacao (true/false)  : Aplicado somente para importação de dados de terceiros, notifica quando houve um erro de validação nos arquivos. Geralmente ocorre, quando os arquivos não estão em conformidade com o Layout de Importação de Dados.
  • enviar_erro_importacao (true/false) : Aplicado somente para importação de dados de terceiros, notifica quando houve um erro de importação dos dados para o banco de dados local do robô. Se a validação passar sem erros, provavelmente a importação se dará com sucesso.


Atencao.png

A importação não será executada, enquanto houver erro no ciclo de validação.


  • enviar_erro_sincronismo (true/false): Aplicado tanto para banco de dados de terceiros quanto para banco de dados dos Sistemas da Base. Geralmente ocorre, por falha na identificação de alguma entidade no banco de dados no servidor do Base CRM.
  • enviar_resumo_diario (true/false): Aplicado tanto para banco de dados de terceiros quanto para banco de dados dos Sistemas da Base. Gera um resumo com as estatísticas de logs enviados, não enviados e com erro.


Dica.png

Para desabilitar o envio de mensagem correspondente a algum clico, basta alterar o valor do parâmetro para false.


Na seção NOTIFICAÇÃO DE ERRO poderá ser personalizado o conteúdo das mensagens enviadas.


Robo php 9.jpg


Funcionalidades