Ir para conteúdo
  • Cadastre-se

dev botao

Integração com API RvHub (Recarga de Celular)


  • Este tópico foi criado há 633 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Olá, estou realizando a integração com a API da RvHub para Recarga de Celulares.

Todas as requisições foram testadas no Insomnia e estão retornando corretamente.

Porém, no Dephi Seattle, utilizo os componentes IdHTTP e os COmponentes REST para realizar as requisições, porém o retorno é o seguinte.

Para o IdHTTP : 403: Forbbiden

Para os REST: 405 Method Not Allowed

Ocorre em todas as requisições da API, onde em algumas delas é uma requisição POST sem BODY com apenas o HEADER.

Abaixo as linhas de código:

Delphi Seattle

API RvHub

IdHttp:

var
  idHttp : TidHttp;
  SSl : TIdSSLIOHandlerSocketOpenSSL;
  JsonStreamRetorno : TStringStream;
begin

  JsonStreamRetorno := TStringStream.Create('', TEncoding.UTF8);

  idHttp := TidHttp.Create(nil);
  SSl := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
  SSl.SSLOptions.Method := sslvTLSv1_2;
  idHttp.IOHandler := SSL;
  idHttp.Request.Clear;
  idHttp.Request.CustomHeaders.Clear;
  idhttp.Request.UserAgent := 'Mozilla/5.0 (Windows NT 10.0; WOW64; rv:42.0) Gecko/20100101 Firefox/42.0';
  idHttp.Request.ContentType :='application/x-www-form-urlencoded';
  idHttp.Request.Accept:='application/json';
  idhttp.Request.Charset := 'UTF-8';
  idhttp.HandleRedirects := True;

  idHttp.Request.CustomHeaders.AddValue('Content-Type','application/x-www-form-urlencoded');
  idHttp.Request.CustomHeaders.AddValue('Authorization','Basic NmVrNnFobjk0dml0M2piNDI1MDdic2U0czp1bDdmMWg4MGMzMThwdTRicDRlN3NucTdtbW5kYjlwY3BjNm8zdjZzbmIyMzlzb2F1dDg=');
  try
   idHttp.Post('http://auth.sbx.rvhub.com.br/oauth2/token?grant_type=client_credentials',JsonStreamRetorno);
  except
  on E: Exception do
   ShowMessage('Error on request:'#13#10 + E.Message);
  end;
end;

REST:

var
  FRestClient: TRESTClient;
  FRestRequest: TRESTRequest;
  FRestResponse: TRESTResponse;
begin
  FRestClient := TRESTClient.Create(nil);
  FRestRequest := TRESTRequest.Create(nil);
  FRestResponse := TRESTResponse.Create(nil);

  FRestRequest.Client := FRestClient;
  FRestRequest.Response := FRestResponse;

  FRestClient.BaseURL := 'https://auth.sbx.rvhub.com.br/oauth2/token?grant_type=client_credentials';
  FRestClient.ContentType := 'application/x-www-form-urlencoded';
  FRestRequest.Accept := 'application/json';

  FRestRequest.Params.AddHeader('Content-Type','application/x-www-form-urlencoded');
  FRestRequest.Params.AddHeader('Authorization','Basic NmVrNnFobjk0dml0M2piNDI1MDdic2U0czp1bDdmMWg4MGMzMThwdTRicDRlN3NucTdtbW5kYjlwY3BjNm8zdjZzbmIyMzlzb2F1dDg=');
  FRestRequest.Body.ClearBody;
  FRestRequest.Method := rmPOST;

  FRestRequest.Execute;

  ShowMessage(FRestResponse.StatusCode.ToString()+#13+FRestRequest.Response.StatusText);

end;

 

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 633 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.