• 0
Natan Avila

Erro ao enviar produto usando API Java

Question

Estou tentando fazer uma integração de 1 sistema com o mercado livre via API Java. Porém estou tendo um erro e não consigo saber o motivo:

 

codigo: 

 

try {
            Meli m = new Meli(ID_LOGIN,
                    SENHA);
            FluentStringsMap params = new FluentStringsMap();
            params.add("title", "ProdutoTESTE");
            params.add("category_id", "MLB30997");
            params.add("listing_type_id", "bronze");
            params.add("condition", "new");
            params.add("available_quantity", "8");
            params.add("pictures", "[{\"source\":\"http://cancelando.com/wp-content/uploads/2017/09/como-cancelar-compra-mercado-livre.jpg\"}]");
            params.add("price", "999999");
            params.add("buying_mode", "buy_it_now");
            params.add("currency_id", "BRL");
            params.add("description", "ITEM");
            params.add("access_token",
                    TOKEN);
            Response response = m.post("/items", params,"{\"foo\":\"bar\"}");

 

Estou tendo o seguinte erro: 

{"message":"body.required_fields","error":"The fields [listing_type_id, title, category_id] are required for requested call","status":400,"cause":[]}

Porém, como pode ser visto, eu estou passando esses 3 parametros. Alguém sabe o que pode estar causando isso?

 

A url do post: https://api.mercadolibre.com/items?title=ProdutoTESTE&category_id=MLB30997&listing_type_id=bronze&access_token=APP_USR-3785419397635201-102312-89e9b557c91e4b2cc7829c21d9400bed__J_G__-96616987

Edited by Natan Avila

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0

Caro Natan,

não precisa cadastrar como "bronze", deixa de ser pobre!
Acrescento que bronze nem deve existir mais. Pode cadastrar como gold_pro. Vc não vai vender mesmo;
Use na descrição os dizeres: "Produto Teste - não compre". Você poderá comprá-lo de outra conta teste, com cartão teste :)
Faça com uma conta teste e crie também um ambiente de teste, sua vida vai melhorar e você não vai sujar sua base de dados.

"email": "natanxxxx@gmail.com", "identification": { "number": "106XXXX9695",
reconhece isto?
NUNCA ABRA SEU TOKEN!!!!!!!!!!!!!!!!! 
Edite o post acima e apague aquilo.

Ao problema:
Os parâmetros devem ser passados dentro de uma array, é por isso que não está dando certo.

Veja em: http://developers.mercadolibre.com/pt-br/publicacao-de-produtos/#pagamento-imediato  que no início do json há um "{ "
Lição de programação:
"{"  é um array. 
"[" é um array multidimensional.

O token está no lugar errado, passe ele dentro de um array no campo onde você deixou como fubá ;)

Edited by rodrigojob

Share this post


Link to post
Share on other sites
  • 0

Caro Natan,

não precisa cadastrar como "bronze", deixa de ser pobre!
Acrescento que bronze nem deve existir mais. Pode cadastrar como gold_pro. Vc não vai vender mesmo;
Use na descrição os dizeres: "Produto Teste - não compre". Você poderá comprá-lo de outra conta teste, com cartão teste :)
Faça com uma conta teste e crie também um ambiente de teste, sua vida vai melhorar e você não vai sujar sua base de dados.

NUNCA ABRA SEU TOKEN!!!!!!!!!!!!!!!!! 
os parâmetros devem ser passados dentro de uma array, é por isso que não está dando certo.

Veja em: http://developers.mercadolibre.com/pt-br/publicacao-de-produtos/#pagamento-imediato  que no início do json há um "{ "
Lição de programação:
"{"  é um array. 
"[" é um array multidimensional.

 

O token está no lugar errado, passe ele dentro de um array no campo onde você deixou como fubá ;)

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now