Jump to content

cellfantasma

Membros
  • Content Count

    3
  • Joined

  • Last visited

Community Reputation

0 Neutral

About cellfantasma

  • Rank
    Novato
  1. Ok, muito obrigado, já estou seguindo sua dica e pesquisando sobre.
  2. Olá não tentei ainda, pois quando comecei a pesquisar, encontrei algumas soluções e exemplos usando TidHTTP para fazer as requisições.
  3. Boa tarde pessoal. Se possível queria uma ajuda de vocês. Estou tentando fazer a integração com API do iFood e estou com problemas no endpoint de Abertura/Fechamento do resturante ao dar Put em ' https://pos-api.ifood.com.br/v1.0/merchants/id/statuses' Sempre que executa o delphi retorna a seguinte mensagem: '[dcc32 Error] uDMiFood.pas(261): E2250 There is no overloaded version of 'Put' that can be called with these arguments' Ja verifiquei dentro do TidHTTP e há dois métodos de put, estou informando os parametros que correpondem ao primeiro método 1) procedure TIdCustomHTTP.Put(AURL: string; ASource, AResponseContent: TStream); begin DoRequest(Id_HTTPMethodPut, AURL, ASource, AResponseContent, []); end; ---------------------------------------------------------------------------------------------- 2) function TIdCustomHTTP.Put(AURL: string; ASource: TStream {$IFDEF STRING_IS_ANSI}; ADestEncoding: IIdTextEncoding = nil{$ENDIF} ): string; var LResponse: TMemoryStream; begin LResponse := TMemoryStream.Create; try Put(AURL, ASource, LResponse); LResponse.Position := 0; Result := ReadStringAsCharset(LResponse, Response.Charset{$IFDEF STRING_IS_ANSI}, ADestEncoding{$ENDIF}); finally FreeAndNil(LResponse); end; end; ------------------------------------------------------------------------------------------- Fiz seguindo o exemplo do seguinte site: http://www.bemmelhor.com.br/info/index.php?title=HTTP_GET_no_Delphi_2010 Abaixo o trecho do código que estou trabalhando, desde já agradeço. procedure TdmIFood.StatusRestaurante(pStatus, pMotivo, pMerchant: String); var slParam: TStringList; HTTPClient: TidHTTP; ssJson: TStringStream; begin HTTPClient := TidHTTP.Create; slParam := TStringList.Create; ssJson := TStringStream.Create('', TEncoding.UTF8); try with slParam do begin Add('status=' + pStatus); Add('reason=' + pMotivo); end; with HttpClient do begin Request.Clear; Request.ContentType := 'application/json'; Request.CharSet := 'UTF-8'; Request.BasicAuthentication := False; Request.CustomHeaders.Clear; Request.CustomHeaders.AddValue('cache-control', 'no-cache'); Request.CustomHeaders.AddValue('Content-Type', 'application/json'); Request.CustomHeaders.AddValue('Authorization', 'bearer' + FToken); Request.Accept := 'application/json'; Put('https://pos-api.ifood.com.br/v1.0/merchants/' + pMerchant + '/statuses', slParam, ssJson); end; ShowMessage(ssJson.DataString); finally FreeAndNil(HTTPClient); FreeAndNil(slParam); FreeAndNil(ssJson); end; end;
×
×
  • Create New...