O cron localiza manutenções previstas para hoje, monta a mensagem, tenta o envio e atualiza o registro quando o envio é aceito.
agendamento do servidor -> cron/alerta_manutencao.php cron -> SELECT manutencoes_protese + clientes + proteses cron -> include ../ajax/api-texto.php ou cron/texto.php cron -> UPDATE após o envio ser aceito
| Arquivo | Papel dentro do fluxo |
|---|---|
cron/alerta_manutencao.php | Script principal de varredura e disparo. |
ajax/api-texto.php | Primeira opção de envio quando o arquivo existe. |
cron/texto.php | Alternativa de envio quando o arquivo principal não existe. |
cron/timezone_cron.php | Carregado somente quando existe. |
sistema/conexao.php | Fonte de conexão e variáveis globais do sistema. |
| Etapa | O que acontece |
|---|---|
| 1. Disparo externo | O servidor chama `cron/alerta_manutencao.php` via agendador do sistema operacional. |
| 2. Boot do script | O cron carrega `cron/timezone_cron.php` quando existe e depois carrega `sistema/conexao.php`. |
| 3. Consulta principal | O script busca manutenções com `proxima_manutencao = hoje` e cujo alerta ainda não foi enviado. |
| 4. Montagem da mensagem | Para cada registro, o cron monta um texto com nome do cliente, prótese e link para agendamento. |
| 5. Delegação do envio | O envio usa `../ajax/api-texto.php` quando existe; caso contrário, usa `cron/texto.php`. |
| 6. Marcação de estado | O cron atualiza `alerta_manutencao_enviado = 1` e `data_alerta_manutencao = NOW()` somente quando o envio é considerado aceito. |
| 7. Resposta operacional | Ao final, o script imprime total de alertas enviados e ignorados para facilitar diagnóstico manual. |
| Entrada | Origem/uso |
|---|---|
Data atual | `bb_cron_data_hoje()` quando disponível; caso contrário, `date('Y-m-d')` |
rota_agendamento | Configurada no próprio cron |
telefone do cliente | Lido da tabela `clientes` |
| Saída | Destino |
|---|---|
Mensagem externa | Enviada via `api-texto.php` ou `cron/texto.php` |
Banco | Marcação de alerta enviado |
Texto console | Resumo do processamento |
Use estes links quando já souber qual arquivo do fluxo precisa ser alterado e quiser leitura minuciosa do código.