Ir para conteúdo
  • Cadastre-se

dev botao

Integração com Api Whatsapp


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

Recommended Posts

Bom dia, estou efetuado a integração de um sistema Delphi Seattle com a api Cloud do Whatsapp Business., no momento estou tentando fazer o upload de um arquivo .pdf para recuperação do id para ser anexado posteriormente nas mensagem. Entretanto, ao executar o post da requisição eu recebo os seguinte erro:

Ao usar os componentes TRESTClient: ao executar recebo o erro de Access Violation, segue código

      vClient         := TRESTClient.Create(nil);
      vRequest        := TRESTRequest.Create(nil);
      vResponse       := TRESTResponse.Create(nil);
	  
	  vArquivo := TFileStream.Create(vNomeArquivo, fmOpenRead);
      vArquivo.Position := 0;
	  
	  vClient.ResetToDefaults;
      vRequest.ResetToDefaults;
      vResponse.ResetToDefaults;
      vClient.BaseURL               := 'https://graph.facebook.com/v15.0/'+vIDNumero+'/media';
 
      vClient.HandleRedirects       := True;
      vClient.RaiseExceptionOn500   := false;
      vRequest.Client               := vClient;
      vRequest.Method               := TRESTRequestMethod.rmPOST;
      vRequest.Resource             := '';
      vRequest.Response             := vResponse;
      vRequest.SynchronizedEvents := False;

      vRequest.Params.Clear;

      vRequest.Params.AddHeader('Authorization', 'Bearer '+vToken);
      vRequest.Params.ParameterByName('Authorization').Options := [poDoNotEncode];

      vRequest.Params.AddItem('file',vArquivo, pkGETorPOST, [poDoNotEncode], ctAPPLICATION_PDF);
      vRequest.Params.AddItem('messaging_product','whatsapp', pkGETorPOST, [poDoNotEncode], ctNone);

      vRequest.Execute;

Ao utilizar os componentes do TIDHTTP: recebo o erro 403: Forbidden, segue código:

    vNomeArquivo                        := ExtractFilePath(Application.ExeName) + 'PDF\' + IntToStr(pCodigo) + '.pdf';		
	vIDSSL                              := TIdSSLIOHandlerSocketOpenSSL.Create(nil);
	vIDHTTP                             := TIdHTTP.Create(nil);
    vIdHTTP.IOHandler                   := vIDSSL;

    vURL                                := 'https://graph.facebook.com/v15.0/'+vIDNumero+'/media';
    vIDHTTP.Request.Clear;
    vIDHTTP.Request.CustomHeaders.Clear;

    vIDHTTP.Request.BasicAuthentication := False;
    vIDHTTP.Request.CustomHeaders.AddValue('Authorization', 'Bearer '+vToken);

    vParams                             := TIdMultipartFormDataStream.Create();
    vParams.AddFile('file', vNomeArquivo, 'application/pdf');
    vParams.AddFormField('messaging_product', 'whatsapp');
    IDResponse := vIDHTTP.Post(vURL, vParams);

Alguém poderia auxiliar para identificar o que estou fazendo de errado?

Desde já agradeço.

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 408 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.