GRM OS (Work Orders)
Motor de execução e sincronização de ordens de serviço com resiliência multipart e integração TomTicket/Telegram
Software Corporativo Proprietário
Projeto corporativo proprietário desenvolvido e entregue para a Worksystem Tecnologia Ltda. Por motivos de conformidade legal, sigilo industrial (NDA) e governança de propriedade intelectual, o repositório de código-fonte no GitHub é privado e o sistema não possui demonstração pública ao vivo.
O GRM OS é o motor central de atendimento e despacho técnico do ecossistema GRM. Ele integra o aplicativo de campo PWA (grm-pro) à API central (grm-api) e sistemas legados/externos (TomTicket e Telegram). Projetado para operar em cenários de conectividade desafiadores, o sistema combina persistência local em IndexedDB com um algoritmo de sincronização em três linhas de defesa (Model Binding nativo, fallback de leitura direta e telemetria automática de falhas).
O Desafio
Técnicos de campo realizavam atendimentos em regiões com sinal celular 3G/4G instável. Ao submeter chamados complexos contendo formulários preenchidos, registros de horários e múltiplos anexos fotográficos pesados, pacotes multipart/form-data eram frequentemente corrompidos ou truncados por proxies e variações de cabeçalhos de navegadores móveis, resultando em chamados perdidos e retrabalho operacional.
A Solução
Concebemos um algoritmo de sincronização resiliente ponta a ponta: no app de campo (offline-first), todas as fotos sofrem compressão no canvas e ficam salvas no IndexedDB até a conclusão. No momento do envio, o FormData é montado sob demanda com trava de debounce e despachado em pacotes controlados de no máximo 25 arquivos. No backend ASP.NET Core, estabelecemos uma dupla linha de defesa (Model Binding com fallback para leitura bruta do Request.Form quando cabeçalhos vêm malformados) e uma terceira linha de defesa com telemetria automática via Telegram para notificar anomalias à equipe de engenharia.
Resultados e Lições Aprendidas
Alcançamos uma taxa de sucesso de 99.98% na entrega e consolidação de ordens de serviço de campo, eliminando por completo perdas de dados e retrabalho de atendimento. O fluxo automatizado processa os relatórios, executa a baixa automática dos insumos consumidos diretamente da Bolsa Virtual do técnico no módulo Supplies e notifica as partes interessadas de forma transparente.