Enviando mensagens no WhatsApp via Elipse E3/Power.

Este artigo demonstra como configurar e efetuar o envio de mensagens do aplicativo WhatsApp via aplicação Elipse E3/Power.

Primeiramente, é necessário saber que aplicativo para envio de mensagens WhatsApp disponibiliza uma API REST com formato de dados em JSON; isso, por sua vez, permite receber e enviar mensagens através da sua conta do WhatsApp.

A API segue o modelo HTTP padrão, baseado em solicitação e resposta.

API do WhatsApp

1. Primeiramente, é necessário obter o acesso ao WhatsApp API conectando o telefone ao serviço:

Este acesso é fornecido gratuitamente por 3 dias. Depois deste prazo de avaliação, é necessário contratar um plano.

2. Logo após, crie sua conta e realize login:

3. No painel do Chat API, será necessário autorizar o uso da API via WhatsApp Web. Para isso, você receberá um código QR na página principal da sua conta pessoal.

Então, seguindo as instruções, abra o WhatsApp no ​​seu celular, vá para «Configurações» -> WhatsApp Web -> Digitalizar código QR:

4. Após realizar a leitura do código QR, o status de autenticação aparecerá como “autenticado”, e será fornecido o URL e token da API para utilização no Elipse E3.

5. Para envio de uma mensagem de teste, acesse a opção API Docs do painel de administração e selecione POST /sendMessage Send a message to a new or existing chat. Em seguida, clique em “phone”, preencha os parâmetros phone * e body *, e então clique em SEND. O campo Request URL possui a url que deverá ser usada no pedido http (POST) via Elipse E3.

 

6. Em seguida, é informada a resposta de envio da requisição realizada:

 

Utilizando o WhatsApp com o Elipse E3/Power

1. Para realizar a escrita na API, utilizamos o objeto ServerXMLHTTP, que fornece métodos e propriedades que permitem estabelecer uma conexão HTTP entre arquivos ou objetos em diferentes servidores web. O script abaixo foi utilizado para enviar a mensagem ao telefone desejado:

Sub CommandButton1_Click()
  ''' The first parameter is the recipient's number, including the country code.
  ''' The second paramter is the content of the message.
  number = Screen.Item("spNumber").Value
  msg = Screen.Item("spMessage").Value

  WhatsAppMessage_Send number, msg   
End Sub

function WhatsAppMessage_Send(strNumber, strMessage)
  
 API_URL = "https://api.chat-api.com/instanceXXXXX/sendMessage?token=1cwm5fzehdrmvowc"
 strJson = "{""phone"": """ & strNumber & """, ""body"": """ & strMessage & """}"
    
   Set oHttp = CreateObject("Msxml2.ServerXMLHTTP")
   oHttp.Open "POST", API_URL, False
   oHttp.setRequestHeader "Content-type", "application/json"
   oHttp.Send strJson

  sHTML = oHttp.ResponseText
  MsgBox sHTML	
  end function

Sub Vazia()
End Sub

2. Após a solicitação de envio da mensagem, a seguinte resposta será exibida:

Utilizando o WhatsApp com o Elipse E3/Power via driver VBScript

1. Por questões de performance, podemos implementar o envio das mensagens utilizando o driver VBScript com a estrutura JSON, acrescentando as linhas abaixo:

DIM strMessage, strNumber, sHTML 

Sub OnWrite_Number(r, v)
strNumber = v.Value
End Sub

Sub OnRead_Number(r, v)
 v.Value = strNumber 
End Sub

Sub OnWrite_Message(r, v)
strMessage  = v.Value
End Sub

Sub OnRead_Message(r, v)
 v.Value = strMessage  
End Sub

Sub OnRead_Response(r, v)
v.Value = sHTML 
End Sub

Sub OnWrite_Send(r, v)
 API_URL = "https://api.chat-api.com/instanceXXXXX/sendMessage?token=1cwm5fzehdrmvowc"
 strJson = "{""phone"": """ & strNumber & """, ""body"": """ & strMessage & """}"
    
   Set oHttp = CreateObject("Msxml2.ServerXMLHTTP")
   oHttp.Open "POST", API_URL, False
   oHttp.setRequestHeader "Content-type", "application/json"
   oHttp.Send strJson

  sHTML = oHttp.ResponseText
End Sub

2. Então, crie quatro tags no Driver e configure-os através da coluna Item (propriedade ParamItem), conforme a figura abaixo:

 

Em conclusão, você encontrará no anexo deste artigo uma aplicação exemplo que foi desenvolvida no Elipse E3 v5.0.437.

Artigos Relacionados


Anexos:

WhatsAppElipse.zip

 

Este artigo foi útil? Was this post helpful?
Yes0
No0

Deixe seu Comentário

Seu endereço de e-mail não será publicado. Campos marcados com asterisco são obrigatórios *