**Como era antes:**
- [ ] Vários exes consultavam na abertura do módulo (Clipp, NFCe, VendaRápida/VendaGerencial, Cheff, DAV OS, CTe, DAV, NFSe e MDFe)
- [ ] Algumas versões consultavam inclusive a cada documento que era emitido (cada pouco alguém solicitava mudança na forma destas consultas e acabou ficando sobrecarregado).
- [ ] A questão de consultar a cada documento emitido já tinhamos ajustado para conferir na abertura e uma vez a cada 24 hrs, porém temos muitos clientes que ainda usam o sistema desatualizado. Consequentemente temos seriais que em uma hora bate mais de x vezes aqui, considerando todos os clientes acaba gerando uma sobrecarga de consulta desencadeando uma sequência de problemas devido aos travamentos gerados (consequentemente bloqueando clientes)
- [ ] Se a API principal caísse teria que jogar automático para a segunda mas nem sempre acontecia, identificado que se retornava erro jogava certo, mas se a principal caia ele não jogava para a segunda, precisava reabrir o sistema para consultar a segunda. Consequentemente, gerava transtornos devido a clientes bloqueados.
**Como ficou agora a partir do build 2023.1.0.0 de fevereiro de 2023:**
- [ ] Sempre que der erro na consulta da API irá registrar log na auditoria (em Erros Retornados pelo sistema). Irá constar, data, hora, usuário, mensagem contendo a informação de qual API deu erro e versão do sistema.
- [ ] Ao abrir o Clipp irá consultar a API bloqueios principal, se em 3 segundos não tiver retorno irá direcionar para a API Secundária da Digital Ocean.
- [ ] Se ambas as APIs (Principal e Secundária) estiverem fora irá conferir o que tem registrado no banco de dados e irá abrir o Clipp de acordo com o que tinha gravado. Se a última consulta estava bloqueado abre bloqueado, se estava liberado abre liberado.
- [ ] Ainda sobre o caso de ambas estarem fora, as mensagem de aviso (de vencimento e bloqueio) não são apresentadas no sistema, isso porque elas vem da API, ela estando fora não retorna informação sobre isso.
- [ ] Referente a consulta na API na abertura do sistema será feito ao abrir o Clipp, ClippCFe, VendaGerencial e VendaRápida(MEI), a cada abertura deles irá consultar a API seguindo as regras acima.
- [ ] Estes 3 exes irão consultar também a API uma vez a cada 24 horas, caso o cliente deixe o sistema aberto irá fazer a consulta e se necessário irá bloquear o uso do sistema de acordo com o que tem indicado para o serial. OBS: Essas 24 horas são consideradas a partir da data de abertura do sistema, se fechar e reabrir consulta na abertura e inicia novamente a contagem.
- [ ] Se o cliente tinha o sistema liberado e mantém ele aberto sem fechar, revenda bloqueou, após essa consulta que é feito a cada 24 hrs automaticamente o sistema bloqueia, mesmo o cliente não fechando o sistema.
- [ ] DAV OS, CTe, Cheff, DAV, NFSe e MDFe também consultavam na abertura, agora eles não consultam mais, consultam apenas o que tem gravado na base. Demais exes não consultam a bloqueios.
- [ ] Sobre os plugins: Plugins de terceiros não gravam a data na base, sendo assim se as APIs principal e secundaria estiverem fora não irá permitir o uso do recurso. Se for plugin nosso dai grava data na base e mesmo com as duas APIs fora deve permitir o uso.
OBS: Plugins nossos: EcommerceC4, licenças adicionais, service e Cheff. Plugins de terceiros: iMendes, Shipay e BrBackup.
- [ ] Se o cliente estava liberado, tiver com pendência de pagamento com a revenda por exemplo e antes da revenda bloquear ele tirar o acesso a internet, o sistema continuará funcionando até que chegue a data de vencimento gravada na base. Após isso ele bloqueia o uso.
- [ ] A API Secundária antes era atualizada com os dados da primeira consulta do dia daquele cliente, para tanto se durante o dia o cliente era bloqueado/desbloqueado tal informação não atualizava no decorrer do dia, assim se a API principal cair terá as informações que tinham no inicio da manhã. Pensando nisso otimizamos o processo de atualização de tais informações nas seguintes condições:
- Quando bloqueado/desbloqueado no painel do parceiro já atualiza a informação na API secundária da Digital Ocean
- Quando é feito renovação automática já atualiza também na secundária
- Quando é concedido carência no televendas também ja atualiza na secundária
- Quando um serial é bloqueado/desbloqueado ou renovado via televendas são criados registros referente a isso, assim a cada 30 minutos o Giovani busca estes seriais e atualiza os dados na API secundária.
Desta forma, se a API principal cair o máximo que irá acontecer são alguns clientes bloqueados/liberados ou renovados pelo televendas nos últimos 30 minutos ficarem bloqueados, mas irá diminuir consideravelmente os casos de bloqueio referente a isso.
Situações a serem alinhadas:
- Se o cliente estava liberado, tiver com pendência de pagamento com a revenda por exemplo e antes da revenda bloquear ele tirar o acesso a internet, o sistema continuará funcionando até que chegue a data de vencimento gravada na base. Porém uma hora ou outra ele vai se perder e consultar na API dai vai bloquear, então em questão de dias ele bloqueia.