Introdução
No post anterior (Integração com WhatsAPP através de API – NETiZAP), foi disponibilizada uma classe que utiliza um serviço de envio de mensagens via WhatsApp, chamado NETIZAP. Agora, vamos ver um fonte em AdvPL que utiliza essa classe para envio de mensagens.
Aplicativo IZAPCLIENT
O fonte da aplicação abaixo chama-se IzapClient.prw, e está disponível para Download no GITHUB, no link https://github.com/siga0984/NETiZAP. Basta adicionar a um projeto, junto do fonte da classe de integração (NETiZAP.prw), compilar e executar o aplicativo U_IZAPCLIENT diretamente pelo SmartClient. Ao ser executado, ele deve abrir a janela abaixo:
O programa já vêm com uma chave de acesso de testes, disponibilizada pelo provedor do serviço. Para utilizá-la, basta clicar no botão “Chaves de Demonstração“, e os campos com os dados da linha de origem, chave e porta do serviço serão preenchidos automaticamente.
*** ATENÇÃO ***
- A chave de demonstração disponibilizada está atrelada a uma linha / WhatsApp de origem ou remetente da mensagem FIXO — A chave é associada a este número. Para obter uma chave de testes com o seu número de telefone de origem, entre em contato com o provedor do serviço ( Thiago ) pelo WhatsApp (27) 998022075 .
- O uso da chave de demonstração é apenas para você fazer um teste de funcionalidade — envio de mensagem / pergunta / arquivo para, por exemplo, o seu celular / WhatsApp.
- Não use este aplicativo ou a chave de demonstração para fazer brincadeiras ou spam.
Usando o programa
Na aba inferior esquerda estão disponíveis todas as opções da API de envio de mensagens: Desde envio de mensagens, arquivos, perguntas com respostas pre-definidas, consulta de status de envio e recebimento das mensagens, perguntas respondidas, grupos e listas de envio associadas a conta de envio, etc. Basta selecionar a aba desejada, preencher os dados e enviar. O painel do lado direito da tela mostra a resposta da requisição JSON obtida pela API.
Caso você obtenha uma chave de uso personalizada da API, basta clicar no botão “Informar Chaves“, que os campos da parte superior da tela serão abertos para edição, e você pode informar a chave e a linha de origem associados.
Exemplo de envio de mensagem
Veja a mensagem abaixo, eu enviei para o meu telefone. Após preencher os campos e clicar em “Enviar”, o painel do lado direito mostra o JSON retornado pela API — informando o ID gerado para esta mensagem enviada.
Após enviada a mensagem, você pode copiar o Identificador da mensagem retornado, acessar a aba “MessageSearch“, e informar este identificador para saber se a mensagem foi enviada:
E, claro, a mensagem recebida no celular está aqui — obtida pela interface do WhatsApp WEB:
Agora, enviando uma pergunta, com aceite de duas respostas válidas:
E, apos obter o ID da pergunta enviada, vamos ver se a pergunta foi respondida, usando a opção “QuestionSearch”
E, claro, a pergunta e resposta no WhatsApp :
Conclusão
Embora o fonte de exemplo seja bem básico, ele serve de base para implementações mais avançadas, como por exemplo guardar em uma tabela as mensagens enviadas e os retornos da API, para registro e/ou buscas posteriores — principalmente quando enviada uma pergunta.
Espero que este fonte lhe seja muito útil, e desejo novamente a todos TERABYTES DE SUCESSO .
Caraca, perfeito! Vai ajudar pra caramba para meus testes e quem sabe futuras aplicações aqui para a empresa onde eu trabalho. Obrigadão.
CurtirCurtido por 1 pessoa
Show !! 😀
CurtirCurtir
Parabéns e obrigado por compartilhar seu trabalho! Gostaria de saber se você consegui enviar anexo em PDF, aqui eu só consegui imagens, pode me ajudar?
CurtirCurtido por 1 pessoa
Opa, magina …rs… Sim, é possível sim, a parte de envio de arquivos ainda faltam algumas coisas pra codificar, mas ele envia PDF sim 😀 Assim que tiver pronto eu atualizo o Github !!
CurtirCurtir
Sinistro … acho que tem alguma restrição no serviço.. eu já havia testado anteriormente PDF, e tinha funcionado. Daqui a pouco a versão de testes com interface e a parte de envio de arquivos vai estar disponível no GIT … assim que eu descobrir algo sobre o PDF eu aviso 😀
CurtirCurtir
Uma duvida sobre os protocolos, estou pensando em armazena-los no banco junto ao numero de celular ao qual foi enviado a mensagem, entre outras informações basica. Então gostaria de saber, este é o melhor jeito realmente? Não existe alguma forma que retorne toda a conversa no RequestStart? Pois assim eu saberia se o Request é referente a minha ultima mensagem ou não.
CurtirCurtido por 1 pessoa
Mais uma duvida, os Protocolos de envio de mensagem expiram?
CurtirCurtido por 1 pessoa
Rapaz, não sei dizer … essa parte é de controle do servidor que provê o acesso. Você pode tirar essas dúvidas diretamente com o Tiago — O WhatsAPP de contato está no post 😀
CurtirCurtir
Parabéns Júlio Louco! Mais um post show de bola kkkkkkk. Pena que nos meus testes está dando time out. Tô quebrando a kbça qui pra ver o que pode ser. Se vc ou alguém tiver um dica, eu agradeço.
CurtirCurtido por 1 pessoa
Olá Júlio
Mensagem consegui enviar.
Arquivo .txt também, porém xml e pdf não enviam. O XML não envia e o PDF chega corrompido.
CurtirCurtido por 1 pessoa
Estou verificando … 😛
CurtirCurtir
Campeão, faltava uma etapa de codificação no envio de arquivos. Baixe novamente o fonte NETiZAP.prw do Github !!! 😀 ( https://github.com/siga0984/NETiZAP )
CurtirCurtir
boa tarde!
gostaria de saber mais sobre seu produto, tenho muito interesse nele, meu watshapp 62 984381050
marcos branco
CurtirCurtido por 1 pessoa
Olá Marcos, boa tarde,
O serviço de integração com o WhatsApp é fornecido pelo Tiago — tem os dados de contato dele no post. O programa em AdvPL mostrado nesse post é open-source, e está disponível para download no Github, ele apenas encapsula o uso das funcionalidades fornecidas pelo provedor do serviço 😀
Espero que as informações lhe sejam úteis, para mais detalhes sobre o serviço de integração, entre em contato diretamente com o Tiago,ok ?
Abraços !!
CurtirCurtir