WEBHOOK

JHUAN 18/08/2023 12:32:19
#501664

Citação:

Colega, tente algo assim:Dim objHTTP As ObjectSet objHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")Dim url As Stringurl = "URL_DO_WEBHOOK_AQUI"objHTTP.Open "POST", url, FalseobjHTTP.setRequestHeader "Content-Type", "application/json"Dim requestBody As StringrequestBody = "{""key"": ""value""}" ' Substitua com os dados que você deseja enviarobjHTTP.send requestBodyDim responseText As StringresponseText = objHTTP.responseText' Faça algo com a resposta (responseText) do webhook, se necessárioSet objHTTP = Nothing



Assim funciona, mas só retorna a resposta do comando. Não trás os posts de dentro do webhook
DS2T 18/08/2023 13:59:27
#501665
Opa Jhuan, boa tarde.

Como já disseram, o Webhook vai ser somente um endpoint HTTP que estará escutando em determinada porta esperando uma requisição HTTP com o verbo POST.
Se você realmente quer fazer isso acontecer com o VB6, você pode dar uma olhada no componente Winsock. Basicamente você vai escolher uma porta para ficar escutando, aceitar novas conexões e ler o que cada um dos clients estão te enviando.

Do jeito exposto acima, até parece meio simples né? Mas vai ser chato, porque você vai ter que basicamente criar um servidor HTTP. Ou seja, isso envolve tratamentos de perda de conexão, tratamento para múltiplas conexões, tratamento para requisições HTTP mal formatadas, análise do cabeçalho para saber o fim da mensagem e saber que está consistente, etc. E claro, tudo isso com uma performance (velocidade, gerenciamento de memória e gerenciamento de conexões) bem aquém do que a maioria dos servidores http oferecem para você hoje.

Eu fiz um proxy um tempo atrás para http e websocket com .NET trabalhando direto no protocolo TCP e vou te dizer, é trabalhoso. No seu caso, vale bastante ponderar se vale a pena em se aventurar e se matar no VB6 para algo que já tem pronto em outras linguagens.

Supondo que você queira realmente seguir com o VB6, eu te aconselharia ir para uma interoperabilidade com .NET. Deixa o .NET cuidar disso para você, crie uma DLL no .NET e consuma ela no VB6. Claro, isso envolve ter mais dependências no seu projeto, mas vai te evitar alguns dias de trabalho e de stress depois quando o começar a pegar alguns bugs em produção e ter que rever todos os seus tratamentos do winsock.


JHUAN 18/08/2023 14:56:05
#501666

Citação:

Opa Jhuan, boa tarde.Como já disseram, o Webhook vai ser somente um endpoint HTTP que estará escutando em determinada porta esperando uma requisição HTTP com o verbo POST.Se você realmente quer fazer isso acontecer com o VB6, você pode dar uma olhada no componente Winsock. Basicamente você vai escolher uma porta para ficar escutando, aceitar novas conexões e ler o que cada um dos clients estão te enviando.Do jeito exposto acima, até parece meio simples né? Mas vai ser chato, porque você vai ter que basicamente criar um servidor HTTP. Ou seja, isso envolve tratamentos de perda de conexão, tratamento para múltiplas conexões, tratamento para requisições HTTP mal formatadas, análise do cabeçalho para saber o fim da mensagem e saber que está consistente, etc. E claro, tudo isso com uma performance (velocidade, gerenciamento de memória e gerenciamento de conexões) bem aquém do que a maioria dos servidores http oferecem para você hoje.Eu fiz um proxy um tempo atrás para http e websocket com .NET trabalhando direto no protocolo TCP e vou te dizer, é trabalhoso. No seu caso, vale bastante ponderar se vale a pena em se aventurar e se matar no VB6 para algo que já tem pronto em outras linguagens.Supondo que você queira realmente seguir com o VB6, eu te aconselharia ir para uma interoperabilidade com .NET. Deixa o .NET cuidar disso para você, crie uma DLL no .NET e consuma ela no VB6. Claro, isso envolve ter mais dependências no seu projeto, mas vai te evitar alguns dias de trabalho e de stress depois quando o começar a pegar alguns bugs em produção e ter que rever todos os seus tratamentos do winsock.



Entendi, vou começar a pesquisar pra fazer no .net entao. pra nao ficar dando murro em ponta de faca.

brigadao.

Página 2 de 2 [13 registro(s)]
Faça seu login para responder