diff --git a/README.md b/README.md index 8202557..636b88b 100644 --- a/README.md +++ b/README.md @@ -61,7 +61,6 @@ GOOGLE_API_KEY=sua_chave_google_maps_aqui GEOGRID_API_URL=https://.../viabilidade/raio # URL COMPLETA da consulta por raio GEOGRID_API_KEY=sua_chave_geogrid_aqui GEOGRID_API_COOKIE=seu_cookie_geogrid_aqui -GEOGRID_AUTHORIZED_SIGLAS_PASTAS=Sigla A, Sigla B # pastas de rede própria (viram provedor "Sothis") # Distância REAL de trajeto (opcionais — têm defaults seguros) GEOGRID_API_BASE_URL=https://.../vale/api/v3 # base p/ o endpoint de trajeto; se ausente, derivada da URL de consulta @@ -84,15 +83,16 @@ DB_PORT=5432 DB_USER=seu_usuario_postgres DB_PASSWORD=sua_senha_postgres DB_NAME=contratacao_db - -# Siglas de Pastas (mapeamento de provedores) -SIGLA_SOTHIS=SOTHIS -SIGLA_OUTRO_PROVEDOR=OUTRO ``` -### Siglas de Pastas +### Classificação de Pastas (provedor) -O sistema mapeia siglas de pastas da GeoGrid para retornar o provedor na resposta. Quando o provedor bater com as siglas configuradas no `.env`, a API retorna `"Sothis"` como provedor. +O provedor é resolvido pelo **prefixo da sigla da pasta** no GeoGrid (não há configuração no `.env`): + +- `s-...` → **Sothis** (rede própria). +- `p-...` → **parceiro**; o provedor é o nome que vem depois do `-` (ex.: `p-Vivo` → `Vivo`). +- Um segmento `sub` após o `-` marca rede **subterrânea** e prefixa `(Subterrâneo)` no provedor (ex.: `s-sub-Barueri` → `(Subterrâneo) Sothis`). +- Qualquer sigla fora dessa convenção é considerada **não elegível** (ignorada). ## 3. Rodando a Aplicação @@ -237,7 +237,7 @@ Verifica a viabilidade técnica de um endereço usando CEP e número. - `dedicado`: Serviço disponível em banda dedicada (distância real ≤ 1000m) - `distancia`: Distância **real de trajeto** em metros até a caixa mais próxima (ou "5KM+" se não houver caixa no raio). Se o trajeto falhar, cai para a distância em linha reta. - `distanciaReta`: Distância em **linha reta** em metros (aditivo, para comparação). - - `provedor`: Identificação do provedor baseado na sigla de pasta + - `provedor`: Identificação do provedor pela convenção de prefixo da sigla de pasta (ver "Classificação de Pastas") > **Nota:** a regra de viabilidade e o campo `distancia` passaram a usar a **distância real de trajeto** (via GeoGrid `/integracao/trajeto/cordenada`). Como a real é sempre ≥ a linha reta, endereços de borda podem deixar de viabilizar em relação ao comportamento anterior. diff --git a/src/shared/config/apiConfig.js b/src/shared/config/apiConfig.js index 66e0840..611b97c 100644 --- a/src/shared/config/apiConfig.js +++ b/src/shared/config/apiConfig.js @@ -8,7 +8,6 @@ const googleApiKey = process.env.GOOGLE_API_KEY; const geogridApiUrl = process.env.GEOGRID_API_URL; // URL completa da consulta por raio (inalterada) const geogridApiKey = process.env.GEOGRID_API_KEY; const geogridApiCookie = process.env.GEOGRID_API_COOKIE; -const geogridAuthorizedSiglasPastas = process.env.GEOGRID_AUTHORIZED_SIGLAS_PASTAS ? process.env.GEOGRID_AUTHORIZED_SIGLAS_PASTAS.split(',').map(s => s.trim()) : []; // Base da API GeoGrid: usada para montar endpoints além da consulta (ex.: trajeto). // Se GEOGRID_API_BASE_URL não for definida, deriva da URL de consulta removendo o sufixo /viabilidade/raio. @@ -36,7 +35,6 @@ module.exports = { geogridApiBaseUrl: geogridApiBaseUrl, geogridApiKey: geogridApiKey, geogridApiCookie: geogridApiCookie, - geogridAuthorizedSiglasPastas: geogridAuthorizedSiglasPastas, geogridTrajetoModo: geogridTrajetoModo, geogridTrajetoTopN: geogridTrajetoTopN, geogridTrajetoTopNLote: geogridTrajetoTopNLote,