All Activity

This stream auto-updates     

  1. Past hour
  2. Gerar novo token como php puro

    Bom, como estava consufo parti do zero. Criei um aplicativo novo e usei a chamda https://auth.mercadolibre.com.ar/authorization?response_type=code&client_id=App_id ele me direcionou para a tela para permitir esse novo app, confirmei e ele me direcionou direto para a minha URL de retorno já com o access_token (com data de expiração) e não com o AUTHORIZATION_CODE como está na documentação. Nesse ponto a dúvida é : tem algum problema isso uma vez que me retornou um token válido? A dúvida seguinte é: daqui 6 horas esse token vai expirar e vou precisar fazer o refresh com essa chamada: https://api.mercadolibre.com/oauth/token?grant_type=refresh_token&client_id=APP_ID&client_secret=SECRET_KEY&refresh_token=REFRESH_TOKEN onde o REFRESH_TOKEN é esse token que eu gerei anteriormente e está expirado, certo? Obrigado
  3. Today
  4. plain_text não funcionando

    Não era mais fácil responder o que tá tentando fazer, se criando ou alterando e qual endpoint está usando? Porque o caminho é diferente. Se for criação é POST, se for alteração é PUT. Como já informei antes, recomendo usar o endpoint "/items/{ITEMID}/description" e enviar o body da forma que informei antes.
  5. plain_text não funcionando

    Você não precisa de uma metodologia apache, se o código que estou usando é o mesmo do exemplo, se você observou o link que coloquei apotando para o exemplo pode ver que é usado o método POST. sim, realmente a mensagem é autoexplicativa, eu coloquei o array plain_text dentro do description e testei ele por fora também a mensagem continua
  6. Yesterday
  7. Gerar novo token como php puro

    obrigatoriamente tem que existir uma URL de retorno para gerar o token ("primeiro acesso"), após ter o token não é necessário URL de retorno para o fluxo server-side... como disse, recomendo dar uma estudada no oAuth2 antes pois essa é uma característica desse tipo de autenticação
  8. Gerar novo token como php puro

    OK, a documentação que li é a mesma passada (Autorização Server-Side)... fiz os passos iniciais (tudo via browser) e funcionaram... peguei o auth code, e solicitei o token, funcionou tudo certinho via browser... Mas na hora de automatizar me deparei com esse primeiro problema que coloquei acima. Sobre o url de retorno, como eu posso fazer se estou tentando gerar um token a partir de um servidor dentro da rede do cliente? Não tenho uma url de callback. Deixei a do mercado pago (exemplos), pois funcionou quando fiz a chamada direta no browser... mas não sei qual está registrada na aplicação, amanhã confirmo com o cliente. Eu ainda não consegui chegar na parte do refresh_token... Bom, olhando as chamadas do curl, parecem OK ou tem algum parametro/config que estou fazendo de errado? Obrigado
  9. Gerar novo token como php puro

    recomendo ler antes sobre como funciona o oAuth2 , sem saber como o oAuth2 funciona fica difícil entender o fluxo de uma autenticação
  10. erro em MESSAGES em 26/04/18

    Quando vi seu post inicial, eu abri um chamado lá no suporte e me informaram que já estavam cientes e que seria resolvido ainda hoje e já foi mesmo. ;)
  11. Gerar novo token como php puro

    O que você está fazendo errado é não ler a documentação (ou ler no local errado). Nesta mesma página que você informou tem a informação do que precisa fazer. Você precisa criar um aplicativo e usá-lo para a autorização, conforme o item “Autorização Server-Side”. Siga o fluxo lá. Quando o usuário fizer a autorização você precisa guardar o token, o refresh_token e é bom ver a validade (expires_in). Quando o token expirar, você precisa fazer um Refresh, usando o refresh_token armazenado no processo anterior. Siga o passo a passo, pois lá está explicado isso, inclusive tem até desenho do fluxo.
  12. realmente agora voltou... tipo de problema que de maneira nenhuma poderia acontecer, mas se tratando do ML...
  13. Gerar novo token como php puro

    Felipe, a url de retorno tem que ser o mesmo endereço que você cadastrou na aplicação e um endereço que você tenha acesso, pois não terá como ver o retorno se mandar para o MercadoPago. Este passo só é utilizado na autorização de uso da aplicação pelo cliente, não é para renovação de token. Renovação de token você utiliza o refresh_token.
  14. Voltou a funcionar aqui.
  15. plain_text não funcionando

    @Diogenes Lima , está certíssimo, é por metodologia apache que temos que adivinhar a solicitação do colega. Acho que ele está tentando cadastrar ou alterar um anúncio, mas ele está certo quanto ao apontamento do exemplo do SDK, ainda está informando sobre o campo Description. @YungNeegga, mas a mensagem é auto explicativa e já te indicou o caminho, use apenas:
  16. Problemas na publicação de Anúncios

    no lugar mais óbvio: http://developers.mercadolibre.com/pt-br/publicacao-de-produtos/#Referências-de-código-de-erro-da-API
  17. erro em MESSAGES em 26/04/18

    se está pendente de leitura como você vai saber qual é o orderid?
  18. Mesma coisa aqui, entrei no fórum só pra ver se tinha mais alguém reclamando rs. Funcionava até ontem.
  19. Pessoal, boa tarde. Eu estou com dificuldades de entender a documentação da API para gerar um novo token. Hoje, quando o cliente precisa ele acessa esse link: http://developers.mercadolibre.com/pt-br/automovel-autenticacao-autorizacao/#token para gerar o token e posteriormente executar os relatórios que ele precisa. Essa é a forma que foi desenvolvido para ele. Mas como quero automatizar uma verificação, queira colocar na cron uma tarefa recorrente e para isso vou precisar gerar novos tokens a cada 6 horas que eu também colocaria como uma outra tarefa na cron. O problema é que não estou conseguindo me entender com as chamadas curl para essa finalidade... Segue abaixo parte do codigo que estou usando, ele não me retorna nada, nenhuma msg... $client_id = '232114xxxxxxxx'; $client_secret = 'h0UuuufVHXGaCjxxxxxxxxxxxxx'; $code = 'TG-5addf4a2e4b0a6add07c1556-xxxxxxxxxx'; $urlReturn = 'https://www.mercadopago.com'; $chUrl = 'https://api.mercadolivre.com/oauth/token?grant_type=authorization_code&client_id='.$client_id.'&client_secret='.$client_secret.'&code='.$code.'&redirect_uri='.$urlReturn; $cabecalho = array ( 'Accept: application/json', 'Content-Type: application/x-www-form-urlencoded', 'User-Agent: Mozilla/5.0 (Windows NT 6.1; rv:13.0) Gecko/20100101 Firefox/13.0' ); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $chUrl); curl_setopt($ch, CURLOPT_HTTPHEADER, $cabecalho); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); $resposta = curl_exec($ch); // DEBUG echo $resposta.PHP_EOL; $arrRet = json_decode($resposta, true); echo $arrRet['access_token']; // DEBUG print_r ( $arrRet ); O que estou fazendo de errado? Obrigado Felipe
  20. plain_text não funcionando

    Seria interessante você informar o que está tentando fazer. Você só diz que está enviando os dados, mas não informa qual ação está fazendo, se criando anúncio novo, ou alterando um existente. A melhor forma que encontrei de trabalhar com as descrições é fazer PUT no endpoint "/items/{ITEMID}/description" e enviando um body (pode ser um array) com "plain_text". Imagino que está usando PHP, então seria assim: $body = ['plain_text' => 'sua descriçao em texto simples']; Mesmo ao criar um anúncio novo, eu prefiro fazer em 2 passos, primeiro crio o anúncio, no retorno já vem o ID do anúncio criado. Uso ele e envio a descrição neste endpoint que citei.
  21. infelizmente tenho que concordar, o ideal é criar no seu sistema mecanismos para evitar que você perca o access_token (fazendo novas tentativas) quando o sistema do ML retornar erro na atualização do token (que a cada dia que passa está sendo mais frequente)
  22. plain_text não funcionando

    o exemplo do SDK é antigo, de quando existia somente uma descrição (que poderia conter HTML)
  23. Pra variar começamos o dia com uma desagradável surpresa, erro no recurso de mensagens do ML, a chamada abaixo (que estava funcionando normalmente até ontem), passou a não funcionar hoje: https://api.mercadolibre.com/messages/pending_read?access_token={access_token}&role=seller gerando o erro: [message] => Orders id required. [error] => bad_request [status] => 400 erro esse que não faz o menor sentido, porque solicitam um order_id , sendo que a chamada é para retornar todas as mensagens em aberto agora resta saber se é um erro da API ou se estão novamente alterando as coisas sem nos informar (e sinceramente não sei o que é pior)... se alguém souber de algo compartilhe aqui! abraços
  24. Ajuda na inclusão de atributos

    Resolvi, código JSON "attributes": [ { "id": "PACKAGE_HEIGHT", "value_name": "20.0cm" }, { "id": "PACKAGE_LENGTH", "value_name": "20.0cm" }, { "id": "PACKAGE_WIDTH", "value_name": "20.0cm" }, { "id": "PACKAGE_WEIGHT", "value_name": "0.02kg" }, { "id": "AIR_CONDITIONER_TECHNOLOGY", "value_name": "Tecnologia teste" },{ "id": "PRODUCT_TYPE", "value_id": "290203", "value_name":"Split" } ],
  25. Uma empresa desse tamanho com uma API porca dessas, eu descobri que a requisição não é GET e sim POST, o engraçado é que no exemplo eles dão uma URL com query string, ai dá a entender que você envia por GET, consegui usando o SDK mesmo, mas obrigado
  26. Olá, estou começando a usar a api, li bastante e não estou conseguindo entender o motivo de não conseguir incluir os atributos no cadastro do produto, após o cadastro do produto, os atributos que adicionei manualmente não está sendo exibidos ou inclusos.Sei que é algo simples, mas por favor alguém poderia me ajudar a entender melhor, obrigado :D, este é o JSON: { "title":"Item de teste - Não ofertar ", "category_id":"MLB238487", "price":10000, "currency_id":"BRL", "available_quantity":1, "buying_mode":"buy_it_now", "condition":"not_specified", "listing_type_id":"gold", "description":{ "plain_text":"TEXTO DA DESCRIÇÃO " }, "pictures":[ {"source":"https://upload.wikimedia.org/wikipedia/commons/4/4a/Assinatura_de_E-mail_Pr%C3%B3-Sa%C3%BAde_Rodrigo_Sullivam_Financeiro_HP.jpg"} ], "attributes": [ { "id": "LINE", "name": "Elgin teste" }, { "id": "AIR_CONDITIONER_MODEL_TYPE", "name": "Modelo teste" }, { "id":"402748", "value_name":"Eletrônico" }, { "id": "198812", "name": "110V/220V (Bivolt)", } ] } e a resposta é está: { "id": "MLB1019252867", "site_id": "MLB", "title": "Item De Teste - Não Ofertar ", "subtitle": null, "seller_id": xxxxx, "category_id": "MLB238487", "official_store_id": null, "price": 10000, "base_price": 10000, "original_price": null, "currency_id": "BRL", "initial_quantity": 1, "available_quantity": 1, "sold_quantity": 0, "sale_terms": [], "buying_mode": "buy_it_now", "listing_type_id": "gold_special", "start_time": "2018-04-26T12:05:01.256Z", "stop_time": "2038-04-21T04:00:00.000Z", "end_time": "2038-04-21T04:00:00.000Z", "expiration_time": "2018-07-15T12:05:01.445Z", "condition": "not_specified", "permalink": "http://produto.mercadolivre.com.br/MLB-1019252867-item-de-teste-no-ofertar-_JM", "thumbnail": "http://www.mercadolibre.com/jm/img?s=STC&v=I&f=proccesing_image_pt.jpg", "secure_thumbnail": "https://www.mercadolibre.com/jm/img?s=STC&v=I&f=proccesing_image_pt.jpg", "pictures": [ { "id": "628190-MLB27254991847_042018", "url": "http://www.mercadolibre.com/jm/img?s=STC&v=O&f=proccesing_image_pt.jpg", "secure_url": "https://www.mercadolibre.com/jm/img?s=STC&v=O&f=proccesing_image_pt.jpg", "size": "500x500", "max_size": "500x500", "quality": "" } ], "video_id": null, "descriptions": [ { "id": "MLB1019252867-1654979308" } ], "accepts_mercadopago": true, "non_mercado_pago_payment_methods": [], "shipping": { "mode": "not_specified", "local_pick_up": false, "free_shipping": false, "methods": [], "dimensions": null, "tags": [], "logistic_type": "not_specified", "store_pick_up": false }, "international_delivery_mode": "none", "seller_address": { "id": 916901707, "comment": "", "address_line": "Rua Terenas 123", "zip_code": "03128010", "city": { "id": "BR-SP-44", "name": "São Paulo" }, "state": { "id": "BR-SP", "name": "São Paulo" }, "country": { "id": "BR", "name": "Brasil" }, "latitude": -23.5695742, "longitude": -46.5864281, "search_location": { "neighborhood": { "id": "TUxCQkFMVGN1ejd6", "name": "Alto da Mooca" }, "city": { "id": "TUxCQ1NQLTQzMzc", "name": "São Paulo Zona Leste" }, "state": { "id": "TUxCUFNBT085N2E4", "name": "São Paulo" } } }, "seller_contact": null, "location": {}, "geolocation": { "latitude": -23.5695742, "longitude": -46.5864281 }, "coverage_areas": [], "attributes": [ { "id": "BRAND", "name": "Marca", "value_id": "354", "value_name": "Cadence", "value_struct": null, "attribute_group_id": "OTHERS", "attribute_group_name": "Outros" }, { "id": "COOLING_PERFORMANCE", "name": "Capacidade de refrigeração", "value_id": null, "value_name": "9000BTU/h", "value_struct": { "number": 9000, "unit": "BTU/h" }, "attribute_group_id": "OTHERS", "attribute_group_name": "Outros" } ], "warnings": [ { "code": "item.description.text.not_allowed", "message": "The text property is deprecated. And will soon be rejected. Please use plain_text" } ], "listing_source": "", "variations": [], "status": "active", "sub_status": [], "tags": [ "immediate_payment" ], "warranty": null, "catalog_product_id": null, "domain_id": "MLB-AIR_CONDITIONERS", "seller_custom_field": null, "parent_item_id": null, "differential_pricing": null, "deal_ids": [], "automatic_relist": false, "date_created": "2018-04-26T12:05:01.587Z", "last_updated": "2018-04-26T12:05:01.587Z" }
  1. Load more activity