FIX: Mudando a API de busca por cep.

This commit is contained in:
tulioperdigao 2025-10-28 13:44:31 -03:00
parent 66859ac23e
commit 9ab1e3f876
9 changed files with 47690 additions and 23 deletions

57
app.js
View File

@ -284,14 +284,18 @@ function createApp() {
if (!Number.isFinite(lat) || !Number.isFinite(lon)) { if (!Number.isFinite(lat) || !Number.isFinite(lon)) {
if (rawCep) { if (rawCep) {
const cep8 = rawCep.padStart(8, "0"); const cep8 = rawCep.padStart(8, "0");
const viaCepData = await fetchJson( const cepRestData = await fetch(
`https://viacep.com.br/ws/${cep8}/json/` 'https://api.cep.rest/', {
); method: 'POST',
if (viaCepData && !viaCepData.erro) { headers: { 'Content-Type': 'application/json' },
const logradouro = viaCepData.logradouro || ""; body: JSON.stringify({ cep: cep8 })
const bairro = viaCepData.bairro || ""; }
const cidade = viaCepData.localidade || ""; ).then(r => r.json());
const uf = viaCepData.uf || ""; if (cepRestData && !cepRestData.erro) {
const logradouro = cepRestData.data.logradouro || "";
const bairro = cepRestData.data.bairro || "";
const cidade = cepRestData.data.localidade || "";
const uf = cepRestData.data.uf || "";
if (logradouro) { if (logradouro) {
builtAddress = builtAddress =
`${logradouro}, ${rawNumero}, ${bairro}, ${cidade} - ${uf}` `${logradouro}, ${rawNumero}, ${bairro}, ${cidade} - ${uf}`
@ -477,15 +481,18 @@ function createApp() {
const cep = String(rawCep).replace(/\D/g, ""); const cep = String(rawCep).replace(/\D/g, "");
const numero = rawNumero ? String(rawNumero).trim() : ""; const numero = rawNumero ? String(rawNumero).trim() : "";
try { try {
const viaCepData = await fetchJson( const viaCepData = await fetch(
`https://viacep.com.br/ws/${cep}/json/` 'https://api.cep.rest/', { method: 'POST',
); headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ cep })
}
).then(r => r.json());
if (!viaCepData || viaCepData.erro) if (!viaCepData || viaCepData.erro)
return res.status(404).json({ error: "CEP não encontrado" }); return res.status(404).json({ error: "CEP não encontrado" });
const logradouro = viaCepData.logradouro || ""; const logradouro = viaCepData.data.logradouro || "";
const bairro = viaCepData.bairro || ""; const bairro = viaCepData.data.bairro || "";
const cidade = viaCepData.localidade || ""; const cidade = viaCepData.data.localidade || "";
const uf = viaCepData.uf || ""; const uf = viaCepData.data.uf || "";
const endereco = const endereco =
`${logradouro}, ${numero}, ${bairro}, ${cidade} - ${uf}` `${logradouro}, ${numero}, ${bairro}, ${cidade} - ${uf}`
.replace(/, ,/g, ",") .replace(/, ,/g, ",")
@ -565,15 +572,19 @@ function createApp() {
const numero = rawNumero ? String(rawNumero).trim() : ""; const numero = rawNumero ? String(rawNumero).trim() : "";
try { try {
const viaCepData = await fetchJson( const cepRestData = await fetch(
`https://viacep.com.br/ws/${cep}/json/` 'https://api.cep.rest/', {
); method: 'POST',
if (!viaCepData || viaCepData.erro) headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ cep })
}
).then(r => r.json());
if (!cepRestData || cepRestData.erro)
return res.status(404).json({ error: "CEP não encontrado" }); return res.status(404).json({ error: "CEP não encontrado" });
const logradouro = viaCepData.logradouro || ""; const logradouro = cepRestData.data.logradouro || "";
const bairro = viaCepData.bairro || ""; const bairro = cepRestData.data.bairro || "";
const cidade = viaCepData.localidade || ""; const cidade = cepRestData.data.localidade || "";
const uf = viaCepData.uf || ""; const uf = cepRestData.data.uf || "";
const endereco = `${logradouro}, ${numero}, ${bairro}, ${cidade} - ${uf}` const endereco = `${logradouro}, ${numero}, ${bairro}, ${cidade} - ${uf}`
.replace(/, ,/g, ",") .replace(/, ,/g, ",")
.replace(/^,\s*/, ""); .replace(/^,\s*/, "");

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff