Este artigo demonstra como configurar e efetuar o envio de mensagens do aplicativo WhatsApp via aplicação Elipse E3/Power.
É necessário utilizar um provedor de mensagens, que através de integrações Web API’s, permite o envio de mensagens via WhatsApp.
Neste exemplo utilizaremos a plataforma Zenvia, mas outros provedores podem ser utilizados.
A API segue o modelo HTTP padrão, baseado em solicitação e resposta.
API do WhatsApp
1. Primeiramente, é necessário criar uma conta no provedor, para obter o acesso a API:
Este acesso é fornecido gratuitamente.
2. Logo após realizar o login, é possível testar a API via Sandbox e validar a integração, para isso basta acessar este endereço.
3. No painel de validação da API, selecione a opção “Criar novo teste”, e selecione o canal “WhatsApp”
4. Em seguida inclua o(s) contato(s) para recebimento da mensagem:
5. Com o contato incluído, é possível enviar uma mensagem. Logo abaixo é informada a resposta de envio da requisição realizada:
NOTA: Caso ocorra algum tipo de instabilidade ao enviar a mensagem teste, é possível gerar um token manualmente e então inserir os dados no cabeçalho da solicitação via Elipse E3. Para gerar o token, verifique este endereço.
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. Com base no request utilizado no teste anterior, o script abaixo foi utilizado para enviar a mensagem ao telefone desejado:
- Sub CommandButton1_Click()
- 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.zenvia.com/v2/channels/whatsapp/messages"
- strJson = "{""from"": ""abundant-judo"",""to"": """ & strNumber & """,""contents"": [{""type"": ""text"",""text"":""" & strMessage & """}]}"
- Set oHttp = CreateObject("Msxml2.ServerXMLHTTP")
- oHttp.Open "POST", API_URL, False
- oHttp.setRequestHeader "Content-type", "application/json"
- oHttp.setRequestHeader "X-API-TOKEN", "IRET6aFOkplLDPvBY3NJR-X3FfZmBvncxL79"
- 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.zenvia.com/v2/channels/whatsapp/messages"
- strJson = "{""from"": ""abundant-judo"",""to"": """ & strNumber & """,""contents"": [{""type"": ""text"",""text"":""" & strMessage & """}]}"
- Set oHttp = CreateObject("Msxml2.ServerXMLHTTP")
- oHttp.Open "POST", API_URL, False
- oHttp.setRequestHeader "Content-type", "application/json"
- oHttp.setRequestHeader "X-API-TOKEN", "IRET6aFOkplLDPvBY3NJR-X3FfZmBvncxL79"
- 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):
Em conclusão, você encontrará no anexo deste artigo uma aplicação exemplo que foi desenvolvida no Elipse E3 v6.5.161.
Artigos Relacionados
- Enviando mensagens no Telegram via Elipse E3/Elipse Power.
- Enviando mensagens no Microsoft Teams via Elipse E3/Power.
- Consumindo e enviando dados de um Webservice que utiliza o formato JSON.
Anexos:
Existe uma alternativa? Pois o site não está permitindo criar contas.