deividfortuna / fipe

Tabela Fipe API :car::moneybag: http://deividfortuna.github.io/fipe/v2
https://fipe.online
MIT License
324 stars 47 forks source link

Erro ao consultar modelos ou datas #5

Closed brunomatiasjdf closed 8 years ago

brunomatiasjdf commented 8 years ago

Deivid, Boa Tarde.

Por gentileza, se puder me auxiliar com o seguinte problema:

Meu site está fazendo a requisição do json a partir de um comando ajax, onde é executado um arquivo php para a chamada da api. Quando consulto todas as marcas ou anos, a chamada em json traz os registros para o objeto data. Porém quando vou pesquisar modelos ou preços, esse objeto não é alimentado. Não é gerado erro em log nem nada, e no momento da pesquisa de modelos por exemplo, a url é construida corretamente (exemplo: https://fipe-parallelum.rhcloud.com/api/v1/carros/marcas/59/modelos - setei essa url na mao inclusive na chamada da api). Você tem alguma ideia do que poderia ser, se é algum bloqueio, alguma configuração em meu proprio site?

Obs: Aparentemente, quando consulto os modelos, os anos estão aparecendo juntamente, não sei se isso está influenciando.

Muito Obrigado.

deividfortuna commented 8 years ago

Olá @brunomatiasjdf

Você pode tirar o php e chamar diretamente o serviço.

Fica um pouco difícil te ajudar sem ver o código, se puderes criar um exemplo para eu dar uma olhada...

Fico no aguardo :+1:

brunomatiasjdf commented 8 years ago

Bom Dia deivid, ahh perdão, ai fica complicado mesmo rs. Eu até cheguei a retirar a execução php, chamando o json diretamente pelo jquery, mas sem sucesso também.

Segue o trecho de código em jquery:

        var _urlacessoAPIFipe = 'https://fipe-parallelum.rhcloud.com/api/v1/carros/marcas'; /* funciona */
        //var _urlacessoAPIFipe = 'https://fipe-parallelum.rhcloud.com/api/v1/carros/marcas/59/modelos'; /* não funciona */

        // Estrutura de resultado.
        $.getJSON(_urlacessoAPIFipe, function(data){
            for (var i=0; i < data.length; i++){
                $("#avaliar-modelo").append('<option value="' + data[i].codigo + '">' + data[i].nome + '</option>');
            }
            console.log("Quantidade de registros localizados: " + data.length);
        });

Eu também fiz um teste diretamente no php, onde obtive o mesmo insucesso na consulta. Segue abaixo o codigo php de teste que fiz:

<?php

$arquivo = "https://fipe-parallelum.rhcloud.com/api/v1/carros/marcas/59/modelos"; $info = file_get_contents($arquivo); $lendo = json_decode($info);

foreach($lendo as $campo){ echo "Codigo: ".$campo->codigo . "
"; } ?>

É algum erro meu, o que poderia ser cara?

Muito obrigado.

deividfortuna commented 8 years ago

Muito obrigado.

Fiz um jsfiddle aqui e parece estar normal. Da uma olhada: http://jsfiddle.net/deividfortuna/pzennr80/ Se você tenta acessar a url https://fipe-parallelum.rhcloud.com/api/v1/carros/marcas/59/modelos diretamente pelo navegador qual o resultado?

brunomatiasjdf commented 8 years ago

O engraçado é que quando eu consulto os modelos pelo navegador ele até me traz o resultado, mas ele traz juntamente com os anos também. Nesse jsfiddle que vc fez, chegou a testar os modelos e deu tudo certo? Nós meus códigos a marca até funciona mas a pesquisa de modelos não

brunomatiasjdf commented 8 years ago

Peguei pelo navegador aqui, olha o final da pesquisa json dos modelos

"{"nome":"VOYAGE L\/LS\/Plus\/GLS\/S\/Sport\/Super L.Ang","codigo":2575},{"nome":"VOYAGE SELE\u00c7\u00c3O 1.0 Mi Total Flex 8V 4p","codigo":6671},{"nome":"VOYAGE SELE\u00c7\u00c3O 1.6 I MOTION T.Flex 8V 4p","codigo":6672},{"nome":"VOYAGE SELE\u00c7\u00c3O 1.6 Total Flex 8V 4p","codigo":6673},{"nome":"VOYAGE TREND 1.6 Mi Total Flex 8V 4p","codigo":4755},{"nome":"VOYAGE Trendline 1.0 T.Flex 12V 4p","codigo":7524}],"anos":[{"nome":"32000 Gasolina","codigo":"32000-1"},{"nome":"32000 Diesel","codigo":"32000-3"},{"nome":"2017 Gasolina","codigo":"2017-1"},{"nome":"2016 Gasolina","codigo":"2016-1"},{"nome":"2016 Diesel","codigo":"2016-3"},{"nome":"2015 Gasolina","codigo":"2015-1"},{"nome":"2015 Diesel","codigo":"2015-3"},{"nome":"2014 Gasolina","codigo":"2014-1"},{"nome":"2014 Diesel","codigo":"2014-3"},{"nome":"2013 Gasolina","codigo":"2013-1"},"

deividfortuna commented 8 years ago

Agora entendi. A busca de modelos retorna dois arrays um de modelos e outro de anos a parte de anos ainda não terminei de implementar... Vai ser um busca de modelos por anos.

Da uma olhada no jsfiddle: https://jsfiddle.net/deividfortuna/pzennr80/2/

brunomatiasjdf commented 8 years ago

Cara, valeu mesmo. Eu sabia que era eu mesmo que estava vacilando. Por ter duas consultas, eu deveria ter cololocado o ".modelos" na pesquisa. Agora está funcionando OK. Muito Obrigado mesmo.