BrasilAPI / BrasilAPI

Vamos transformar o Brasil em uma API?

Home Page:https://brasilapi.com.br

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Erro 500 na API de CEP V2 ao realizar consulta

Suiam opened this issue · comments

Descrição:
Ao realizar uma consulta na API Brasileira de CEP V2 tenho recebido uma resposta de erro 500 (Internal Server Error).

image

Também estou recebendo o mesmo
image

Bom dia, o erro persiste !!!!

Bom dia!! Esse erro é muito grave!! Todos as requisições estão falhando na V2 desta forma

Alguém precisa corrigir isso !!! 😭 😭 Está impactando meus clientes

Testando o código localmente não parece ser um problema de implementação, meu palpite é que o openstreetmap esteja bloqueando as requisições.

image

Inclusive o próprio erro que aparece ao chamar a BrasilAPI contém um link do openstreetmap que abre corretamente o json esperado quando chamado no navegador

image

Uma possível solução seria garantir que caso a API de coordenadas esteja indisponível, pelo menos os dados do CEP retornem (algo que já é tratado em alguns casos):

image

A V1 está funcionando, não sei se ajuda !

Estou usando @BrasilAPI em formulários de cadastro para preencher automaticamente alguns campos, consultar v1 se v2 der erro funcionou pra mim, obrigado @marciotisouza.

response = await fetch(`https://brasilapi.com.br/api/cep/v2/${value}`)
if (!response.ok) response = await fetch(`https://brasilapi.com.br/api/cep/v1/${value}`)

Quero observar que os termos de uso dizem: Estamos em beta.

Outro detalhe que acho interessante mencionar, o openstreetmap tem um limite bastante estrito de requisições:
1 por segundo, então, dependendo da quantidade de requests que tenhamos feito existe a possibilidade de nosso IP ter sido bloqueado :-/

Por esse motivo ainda estamos em Beta, porque não sabemos como se desenrolaria em um cenário com mais usuários simultâneos.

Tem alguma forma de dar Watch nessa issue? rs
Fiz uma gambi, a quem interessar, segue código

	static async getCep(cep:string){
        
		const response = await fetch("https://brasilapi.com.br/api/cep/v2/"+cep,{
			method:"GET",
			headers:{
				"Content-Type":"application/json"
			}
		})
		const json = await response.json();
		const response2 = await fetch(json.message.substring(json.message.indexOf("https"),json.message.indexOf("reason")-1),{
			method:"GET",
			headers:{
				"Content-Type":"application/json"
			}})
		return await response2.json();
	}

@victorhdchagas você pode usar a api do GitHub para monitorar o status de uma inssue.

const user = "BrasilAPI"
const repository = "BrasilAPI"
const inssue = "538"

const response = await fetch(`https://api.github.com/repos/${user}/${repository}/issues/${inssue}`)
const data = await response.json()
console.log(data.state) // Can be one of: open, closed, all

Documentação: API Github - Inssues

@victorhdchagas você pode usar a api do GitHub para monitorar o status de uma inssue.

const user = "BrasilAPI"
const repository = "BrasilAPI"
const inssue = "538"

const response = await fetch(`https://api.github.com/repos/${user}/${repository}/issues/${inssue}`)
const data = await response.json()
console.log(data.state) // Can be one of: open, closed, all

Documentação: API Github - Inssues

Pode usar o github CLI também

gh issue view https://github.com/BrasilAPI/BrasilAPI/issues/538

Eita galera, perdão a demora!
Estou olhando pra isso e estamos discutindo sobre como prosseguir com essa rota que recorrentemente tem apresentado alguns problemas =(

Primeiramente perdão pelo incoveniente galera mas infelizmente dado o abuso de algumas outras pessoas fazendo varredura de ceps nessa rota fomos bloqueados e estamos sempre correndo atrás de bloquear esses possíveis ataques.

Estamos discutindo sobre o futuro dessa rota em especial sobre talvez separar a consulta de CEP (como é na v1) da consulta da geolocalização em outro recurso mas pra isso teremos quebra de interface e infelizmente não é uma decisão trivial.

Inclusive reajam pfv nessa msg com o emoji 🚀 se vcs usam a info de geo dessa rota sempre ou 👀 se vcs usam essa rota principalmente pra pegar informações exclusivas sobre a resolução do cep sem a geolocalização. 🙏

Por hora fomos desbloqueados mas esse problema infelizmente pode voltar a acontecer nessa rota e se tornar a acontecer e vcs não usam o dado de geolocalização eu sugiro migrarem pra v1 que é bem mais estável =/

Muito obrigado a todos nessa thread sobretudo @Suiam @CauanCabral @marciotisouza @diegoatwa e sempre aos queridos @RodriAndreotti e @LorhanSohaky ❤️ por toda ajuda!

image

Olá @lucianopf , obrigado pelo retorno. Vocês acham muito complicado usar autenticação para limitar o pessoal que abusa?

Um problema que eu já tive foi ser bloqueado por ter consultado a API para um mesmo CEP muitas vezes. Cidades pequenas tem um CEP para toda a cidade. Vou desenvolver um banco local para consultar antes de consultar a API, se eu já tiver lá está ok, e não sobrecarrego aqui.

Abraços

@cfuent-es , você precisa da geolocalização (lat, lng)?

[OFF TOPIC] @Suiam @arcanjo96 @marciotisouza @RafaelBini @dragolemx @CauanCabral @diegoatwa @victorhdchagas @g4rcez @cfuent-es Vocês podem entrar no nosso Slack.

Nem sempre estamos olhando Github, e o suporte pelo Slack pode ser mais rápido.

Junte-se ao nosso slack

A issue ainda acontece aqui, e ao acessar o link do OSM da mensagem de erro eu tenho um JSON válido.

Caso seja o OSM bloqueando o BrasilAPI, tem como ver qual a mensagem de erro?