Montei uma API para enviar avisos e/ou cobranças via WhatsApp atraves do MkAuth, não testei e não sei se funcionaria corretamnete se instalado diretamente no mkauth pois como utilizo o mkauth virtualizado em proxmox e como o sistema é bem leve optei com criar um CT com umbuntu 23.04 a parte no proxmox, acredito que rode até em um pendrive.
O conteudo é auto explicativo e a API é gratuita e cumpre com a funcionalidade que promete sendo 100% funcional, tem gente cobrando mensalidade de 100 reais ou instalação de 300 reais mas aqui vcs conseguem de graça, como a finalidade é somente o envio de cobranças e não um chat-bot caso algum cliente responda alguma mensagem sera notificado que o numero é apenas para uso do sistema portanto sujiro utilizar uma conta de whatsapp a parte ou ate mesmo aqueles numeros virtuais.
Download e Instalação
Para adicionar comentários, você deve ser membro de MK-AUTH.
Respostas
Entendi, eu aqui uso vinculado ao zabbix, mas é uma boa ter essas opções via script.
Cleber bom dia
como faço para alterar o horario de envio das mensagens , sms tem dispardo por volta das 10 hrs e watz por volta das 22hrs
grato
Magno Ramos
Amigo.
Voce precisa fazer essa alteração no Mkauth, segue a orientação que o Jose Santos passou.
O WhatsApp na cron é disparado a cada minuto, diferente do SMS, que é a cada 2 minutos.
No arquivo
/etc/cron.d/zap
, a execução da fila de mensagens está configurada para a pasta/opt/mk-auth/jobs/ZAP
.As mensagens são enviadas a cada 5 segundos.
Como já devem perceber, ainda não é possível controlar a fila de mensagens no sistema. Portanto, a responsabilidade de controle recai sobre a aplicação que integra com o mk-auth (para evitar banimento).
Bom dia, Cleber, fui enviar hoje para 30 pessoas, 29 com sucesso e apenas uma está dando erro e crashando o Mwsm. Toda vez que envio para ele o Mwsm reinicia.
Segue log:
0|Bot-Mwsm | Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
0|Bot-Mwsm | at ServerResponse.setHeader (node:_http_outgoing:659:11)
0|Bot-Mwsm | at ServerResponse.header (/var/api/Mwsm/node_modules/express/lib/response.js:795:10)
0|Bot-Mwsm | at ServerResponse.send (/var/api/Mwsm/node_modules/express/lib/response.js:175:12)
0|Bot-Mwsm | at ServerResponse.json (/var/api/Mwsm/node_modules/express/lib/response.js:279:15)
0|Bot-Mwsm | at /var/api/Mwsm/mwsm.js:1893:35
0|Bot-Mwsm | at process.processTicksAndRejections (node:internal/process/task_queues:95:5) {
0|Bot-Mwsm | code: 'ERR_HTTP_HEADERS_SENT'
0|Bot-Mwsm | }
0|Bot-Mwsm | Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client
0|Bot-Mwsm | at ServerResponse.setHeader (node:_http_outgoing:659:11)
0|Bot-Mwsm | at ServerResponse.header (/var/api/Mwsm/node_modules/express/lib/response.js:795:10)
0|Bot-Mwsm | at ServerResponse.send (/var/api/Mwsm/node_modules/express/lib/response.js:175:12)
0|Bot-Mwsm | at ServerResponse.json (/var/api/Mwsm/node_modules/express/lib/response.js:279:15)
0|Bot-Mwsm | at Timeout._onTimeout (/var/api/Mwsm/mwsm.js:1951:23)
0|Bot-Mwsm | at listOnTimeout (node:internal/timers:573:17)
0|Bot-Mwsm | at process.processTimers (node:internal/timers:514:7) {
0|Bot-Mwsm | code: 'ERR_HTTP_HEADERS_SENT'
0|Bot-Mwsm | }
PM2 | App [Bot-Mwsm:0] exited with code [1] via signal [SIGINT]
PM2 | App [Bot-Mwsm:0] starting in -fork mode-
PM2 | App [Bot-Mwsm:0] online
0|Bot-Mwsm | API is Ready!
tenta fazer um envio pelo simulador e contabiliza o tempo, juntando todos os timers o disparo pode ter um atraso de até 40 segundos no maximo se utilizado na configuração padrão, mais do que isso provavelmente foi o mkauth que não fez o disparo, em contra partida a isso esta em desenvolvimento a fila de agendamento direto na aplicação com controle por dias e turnos.
tenta fazer o envio individual pelo simulador e verifica o q o debugger retornou
Enviei manual pelo seu programa e deu: Failed: Server connection error
Mais aí eu vi que o seu sistema não aceita enviar mensagem com enter entre as linhas, (pelo menos aqui não deu) tive que deixar tudo em uma linha e sair quebrando com ##. Depois disso enviou com sucesso.
Resolvido, tinha um espaço antes do numero do cliente no cadastro do MK-Auth. Já vou meter um regex no meu sistema para tirar isso. Eu já tinha removido () e - agora tenho que tratar os espaços kkkk
quebra de balão utiliza ## e quebra de linha \n, tem q ser tudo em uma linha só, espaços só nas frases