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
a ideia é justamente essa, permitir ao cliente copiar somente o codigo do pix ao inves de ter que copiar uma mensagem toda e ter q editar o texto pra extrair somente o necessario pois nem todos os apps de banco conseguem identificar e extrair somente um codigo pix em um corpo de msg
adcicionado tanto \n quanto ## vão ter o mesmo efeito, bastar rodar no prompt o comando pra atualizar
sudo wget https://raw.githubusercontent.com/MKCodec/Mwsm/main/mwsm.js -O /var/api/Mwsm/mwsm.js
Neste caso que foi implementado não seria quebra de linha, mas sim um novo balão de mensagem.
a maioria dos app de whatsapp utilizam o \n como quebra de linha, seria interessante manter o padrão.
O WhatsApp é uma empresa enorme, estamos falando da Meta, eles fazem outras dezenas de tipos de verificação além do contéudo do texto.
O risco de ser banido sempre existe e existirá, mesmo usando o APP nativo do WhatsApp para Android ou iOS.
Que top cara, legal que pegou minha ideia e colocou em prática, cara fico muito agradecido mesmo projetinho tá top
Bacana! eu uso a versaão 22.3 pois é a unica sem bugs, preciso muito desse sistema no meu MkAuth.. será se funciona na 22.3 ????
adcionado recurso de quebra de linha ( mensagens separadas ), basta colocar ## antes do texto que vai saltar
Ex: olá fulano, segue o codigo pix para pagamento ##copiaecolapix ##obrigado
o cliente vai receber tres mensagens, a ideia é facilitar a copia do codigo para inserir nos aplicativos de bancos
quem tiver instalado antes do dia 17/01/24 roda esse comando no cmd para atualizar e conseguir utilizar o recusro
wget https://raw.githubusercontent.com/MKCodec/Mwsm/main/mwsm.js -O /var/api/Mwsm/mwsm.js
na gambiarra acho que funcionaria assim, vc teria que utilizar ## antes e depois do copia e cola do pix na mensagem do whats a fazer um explode na mensagem
exemplo de mensagem enviada pelo mkauth
Olá cliente, sua assinatura de internet vence hoje, segue em anexo o codigo pix para pagamento, ##codigopixoparapagamento## obrigado
// Send message
app.post('/send-message', [
body('to').notEmpty(),
body('msg').notEmpty(),
], async (req, res) => {
const errors = validationResult(req).formatWith(({
msg
}) => {
return msg;
});
if (!errors.isEmpty()) {
return res.status(422).json({
status: false,
message: errors.mapped()
});
}
const number = req.body.to;
const numberDDI = number.substr(0, 2);
const numberDDD = number.substr(2, 2);
const numberUser = number.substr(-8, 8);
const message = req.body.msg;
message = message.split("#");
if (numberDDI === "55" && parseInt(numberDDD) <= 30) {
const WhatsApp = "55" + numberDDD + "9" + numberUser + "@c.us";
client.sendMessage(WhatsApp, message[0]).then(response => {
res.status(200).json({
status: true,
message: 'Bot-Mwsm : Message Sent',
response: response
});
}).catch(err => {
res.status(500).json({
status: false,
message: 'Bot-Mwsm : Message was not Sent',
response: err.text
});
});
client.sendMessage(WhatsApp, message[2]).then(response => {
res.status(200).json({
status: true,
message: 'Bot-Mwsm : Message Sent',
response: response
});
}).catch(err => {
res.status(500).json({
status: false,
message: 'Bot-Mwsm : Message was not Sent',
response: err.text
});
});
client.sendMessage(WhatsApp, message[4]).then(response => {
res.status(200).json({
status: true,
message: 'Bot-Mwsm : Message Sent',
response: response
});
}).catch(err => {
res.status(500).json({
status: false,
message: 'Bot-Mwsm : Message was not Sent',
response: err.text
});
});
}
else if (numberDDI === "55" && parseInt(numberDDD) > 30) {
const WhatsApp = "55" + numberDDD + numberUser + "@c.us";
client.sendMessage(WhatsApp, message[0]).then(response => {
res.status(200).json({
status: true,
message: 'Bot-Mwsm : Message Sent',
response: response
});
}).catch(err => {
res.status(500).json({
status: false,
message: 'Bot-Mwsm : Message was not Sent',
response: err.text
});
});
client.sendMessage(WhatsApp, message[2]).then(response => {
res.status(200).json({
status: true,
message: 'Bot-Mwsm : Message Sent',
response: response
});
}).catch(err => {
res.status(500).json({
status: false,
message: 'Bot-Mwsm : Message was not Sent',
response: err.text
});
});
client.sendMessage(WhatsApp, message[4]).then(response => {
res.status(200).json({
status: true,
message: 'Bot-Mwsm : Message Sent',
response: response
});
}).catch(err => {
res.status(500).json({
status: false,
message: 'Bot-Mwsm : Message was not Sent',
response: err.text
});
});
}
});
exatamente, whatsapp so identifica como spam caso as mensagem sejam 100% identicas, é obrigatorio utilizar as variaveis expostas no proprio mkauth