• 0
Fernando Rodrigo

atualizar estoque

Question

bom dia a todos

Estou tentando fazer a parte de sincronização de produto e não estou conseguindo

Meu sistema esta sendo feito em Delphi 2010 e estou tentando executar os comandos abaixo.

            IdHTTP1.Request.Clear;
            IdHTTP1.IOHandler            := LHandler;
            IdHTTP1.Response.ContentType := 'application/json';
            IdHTTP1.Request.Accept       := 'application/json';
            IdHTTP1.Request.Method       := 'POST';
            IdHTTP1.Request.BasicAuthentication := False;
            Resposta := IdHTTP1.URL.URLDecode(IdHTTP1.Post('https://api.mercadolibre.com/items/MLB922008688?access_token=XXXXXXXXX, Params));

 

A parte onde informa os dados do estoque "available_quantity": Quantidade não sei onde poderia informar n URL

Se alguem puder ajudar fico grato

 

 

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 0
36 minutes ago, FR.RODRIGO said:

bom dia a todos

Estou tentando fazer a parte de sincronização de produto e não estou conseguindo

Meu sistema esta sendo feito em Delphi 2010 e estou tentando executar os comandos abaixo.

            IdHTTP1.Request.Clear;
            IdHTTP1.IOHandler            := LHandler;
            IdHTTP1.Response.ContentType := 'application/json';
            IdHTTP1.Request.Accept       := 'application/json';
            IdHTTP1.Request.Method       := 'POST';
            IdHTTP1.Request.BasicAuthentication := False;
            Resposta := IdHTTP1.URL.URLDecode(IdHTTP1.Post('https://api.mercadolibre.com/items/MLB922008688?access_token=XXXXXXXXX, Params));

 

A parte onde informa os dados do estoque "available_quantity": Quantidade não sei onde poderia informar n URL

Se alguem puder ajudar fico grato

 

 

Quando vc faz esse tipo de pergunta é sempre melhor incluir o que tu ja fez e os erros que encontrou . Eu não acho bom dar código pronto , mas eu vou comentar umas coisas para ficar de referencia para voce e outras pessoas:

  1.  lhandler é um objeto do tipo  TIdSSLIOHandlerSocketOpenSSL ? Se for ok
  2. AllowCookies deve ser True
  3. Request.UserAgent,Request.charset e Request.Accept devem estar preenchidos conforme os dados que voce espera , senao vem html
  4. HTTPOptions deve ser ter o parametro hoForceEncodeParams marcado
  5. Você deve entender como ler e escrever json em delphi . Delphi tem suporte nativo a manipular json  . Não fique escrevendo json na mao a não ser que seja algo muito simples . É um convite a problemas

requisição se faz assim

    try
      // json simples 
      Buffer := '{"fulfilled": false,"rating": "' + RatStr + '" ,"message": "' + Text + '"}';
      // sempre faça isso voce pode ajustar no componente , mas eu crio tudo em tempo de execucao entao sempre informo
      http.Request.ContentType := 'application/json';
      http.Request.CharSet := 'utf-8';
      // atenção na sintaxe o segundo parametro é opcional mas deve ser informado
      JsonToSend := TStringStream.Create(Buffer, TEncoding.UTF8);
      // faca a chamada certa para o caso certo get/post/put
      Buffer := http.Post(Format(DEFAULTS_URL_QUALIFY_USER, [OrderID, GetAccessToken]), JsonToSend);
      // trate o retorno aqui 
      
    except
      on E: EIdHTTPProtocolException do
        begin
          Addtolog(JobName, 'Error: ' + E.ErrorMessage, true);
          // trate seu erro aqui , se é erro do mercado livre eles vao cair aqui assim como falta de conexao e coisas assim 
        end;
      on E: Exception do
        begin
          Addtolog(JobName, 'Error: ' + E.Message, true);
          // trate seu erro aqui , se é erro generico eles ficam aqui
        end;
    end

espero que tenha ficado clado

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