--- tags: [skymilhas, regras, feedback, critico] created: 2026-04-14 updated: 2026-04-15 --- # Regras Importantes - SkyMilhas ## Smiles - NÃO MEXER Smiles está 100% corrigido. PROIBIDO alterar sem autorização explícita. ## Paridade com Sites Oficiais Cards e dados devem ser 100% idênticos aos sites oficiais das companhias. Jesiel exige paridade total - textos, valores, formato, tudo milimetricamente igual. ## Scrapers - Regras Críticas 1. **NUNCA** quebrar scrapers que já funcionam ao modificar outros 2. **SEMPRE** testar sintaxe local antes de deploy 3. **SEMPRE** fazer backup antes de alterar 4. Duração de voos internacionais: usar `flight.duration` da API 5. Proxy bridges: cada scraper precisa do bridge correto 6. Akamai Solver (porta 40510): usar para sites com Akamai 7. Chrome órfãos: cron cleanup a cada 10min ## Bug Pattern: Multiplicadores Inventados Frontend inventava preços com multiplicadores fixos. - GOL: 1.15x (Classic), 1.22x (Flex) - AA: 1.8x (Premium), 2.8x (Business), 4.5x (First) **Regra:** NUNCA inventar preços. Usar dados REAIS ou "Não disponível". ## Bug Pattern: Dados Perdidos no Server.js O server.js tem DOIS paths de formatação (~linha 5980 e ~6060). O segundo frequentemente não inclui campos importantes (tarifas, segmentos). **Regra:** Verificar AMBOS os paths quando adicionar campos. ## Bug Pattern: Dedup de Tarifas Scrapers que retornam múltiplas tarifas por voo (TAP, GOL) geram cards duplicados. **Regra:** Agrupar por horário+rota e manter menor preço Economy. ## Bug Pattern: Mode Compatibility Programas BRL (GOL, TAP, LATAM Money) marcados como incompatíveis com modo "milhas". **Regra:** Programas BRL devem ter `$modeCompativel = true` SEMPRE. ## TAP Miles&Go - Limitação TAP exige LOGIN para buscar milhas. Sem login, `payWithMiles=true` retorna 0 resultados. Scraper funciona apenas em modo cash (BRL). Tentativas de interceptar request falharam. ## Jesiel - Perfil - Dono do SkyMilhas - Exige paridade total com sites oficiais - Não gosta de enrolação - quer resultados rápidos - Prefere que resolva sem perguntar demais - Fica frustrado com erros repetidos