CamaraDosDeputados / dados-abertos

Repositório do serviço de Dados Abertos da Câmara. Consulte as "Issues" para atendimento a dúvidas e sugestões.
http://dadosabertos.camara.leg.br
201 stars 13 forks source link

Erro no parâmetro dataFim na API /proposicoes (data inválida) #213

Open tiagobnobrega opened 5 years ago

tiagobnobrega commented 5 years ago

Olá, Parabéns pela API. Identifiquei um problema na chamada da API de proposicoes. Curiosamene, só consegui identificar o erro para uma "dataFim" específica. 2018-10-21. Alterando-se o dia ou mês o erro não corre. Segue resumo da chamada:

curl -X GET "https://dadosabertos.camara.leg.br/api/v2/proposicoes?dataInicio=2018-09-22&dataFim=2018-10-21&itens=200&ordem=ASC&ordenarPor=id" -H "accept: application/json"

RESP: { "status": 400, "title": "Requisição inválida", "detail": "Um valor passado a um parâmetro não está no formato esperado. Por favor, consulte a documentação.", "instance": "dataInicio=2018-09-01&dataFim=2018-10-21&itens=200&ordem=ASC&ordenarPor=id", "code": 4 }

EquipeDadosAbertosCD commented 5 years ago

Salve, Tiago!!

Rapaz, que bug esquisito que você encontrou! Esse está concorrendo pro Joaninha do Ano!!

Basta a URL https://dadosabertos.camara.leg.br/api/v2/proposicoes?dataInicio=2018-09-22&dataFim=2018-10-21 . Aliás, não adianta pedir itens=200 porque todos os endpoints de listagem ainda estão limitados a 100 itens.

Vamos investigar o mais rapidamente possível. Obrigado pelo aviso e abraço!

Fabricio Rocha Equipe Dados Abertos - Câmara

tiagobnobrega commented 5 years ago

Pois é... Meu palpite seria alguma coisa relacionada a horário de verão caso esta String esteja sendo convertido para data e hora. Mesmo assim, o horário de verão (pelo menos no Brasil) não foi nesse dia.

Caso o banco ou servidor de aplicação não esteja em UTC, pode ser que esteja em algum horário de verão estranho. Acontece as vezes quando o data center não é no Brasil. Isso faria sentido pq em alguns dias não tem meia-noite (00:00) o dia começa às 01:00.

Foi a única hipotese que consegui pensar. Espero ter ajudado de alguma forma

EquipeDadosAbertosCD commented 5 years ago

Salve!

O @vitormarcal, da nossa equipe, descobriu que sim, há esse mesmo tilt em datas em que houve entrada ou saída de horário de verão. Mas, realmente, não é o caso desta data em especial, e em https://www.timeanddate.com/time/dst/2018.html ela também não aparece.

Aparentemente há um problema na biblioteca que valida as datas, e por enquanto o caminho parece ser fazermos essa validação na mão mesmo...

Abraço e obrigado de novo!

Fabricio Rocha Equipe Dados Abertos - Câmara

EquipeDadosAbertosCD commented 5 years ago

Ei, Tiago! Tudo bem?

Publicamos uma atualização da API que deve ter corrigido esse bug. Se você tiver como verificar na sua aplicação, por favor nos dê um feedback...

Abraço e obrigado!

Fabricio Rocha Equipe Dados Abertos - Câmara