WhatsApp Messaging Integration

Discussions about new features or changes in existing features

Moderators: gerski, enjay, williamconley, Op3r, Staydog, gardo, mflorell, MJCoate, mcargile, Kumba, Michael_N

WhatsApp Messaging Integration

Postby martinch » Wed May 10, 2023 10:55 am

So I've read a few posts around WhatsApp integration with ViCiDial and I've taken the initiative and decided I will attempt to provide that functionality for you. Note that this will not be using the official WhatsApp API which is offerred to businesses at a cost and will instead use a personal WhatsApp account that you may have access to.

Notes for the development;

  • This functionality will likely sit as a third-party plugin that can interface with ViCiDial via the Non-Agent API. If the required functions to get this working do not exist, I will create them.
  • With that said, ViCiDial may wish to include the plugin in the "extras" directory but this piece will most likely not sit within the ViCi codebase. At best, a link or written reference may be provided.
  • This development will utilise the web version of WhatsApp.
  • You will need additional software to use this plugin, namely Node.JS and the fantastic Puppeteer. These are not provided by the ViCiDial team but instructions may become available later down the line.
  • There may be performance issues on ViCi instances that are low spec. I'll do my best during the development testing to do a benchmark on how this will run on low spec boxes.
  • I'm unsure of the legalities of such a plugin. Mass messaging can be done legitimately but the rules on it will vary from region to region.
  • You will need a phone with WhatsApp installed and you do need the phone to be on the same network as your ViCiDial instance.
  • Bonus...there's no reason why this plugin would be limited to WhatsApp either. If web versions exist for other messaging platforms then there's no reason others couldn't be included. Let me know which app you would like to see and I can see if I can incorporate it after this build.

Development points (high level);

  • Build initial page. ⏳
  • Build dependency check process. ⏳
  • Build process to install dependencies. ⏳
  • Build process to sync Puppeteer instance to physical WhatsApp account. ⏳
  • Build interface to interact with WhatsApp and bridge ViCiDial functionality into it. ⏳

If anybody has any input on this or would like to help build this with me...you can reply to this post or join the IRC channel on Libera.Chat ##vicidial https://web.libera.chat/ if you need more info check this post -> http://vicidial.org/VICIDIALforum/viewtopic.php?f=2&t=41712

Here's a little taster of a mock up design of the page initialisation / dependency checking process.

Image

Thanks all!
Project Lead @ mDial -> https://github.com/TheBlode/mDial
martinch
 
Posts: 273
Joined: Thu Nov 15, 2018 9:14 am
Location: England, UK

Re: WhatsApp Messaging Integration

Postby martinch » Wed May 10, 2023 2:46 pm

So I found a wonderful project called wppconnect that is going to do all the gubbins with regards to Whatsapp. It looks well designed and well built and fits into Node.JS like a glove;

https://github.com/wppconnect-team/wppconnect

Image

And here is the app init;

Image

Still testing out the library but it looks good. I may be done with this sooner than I thought thanks to the superb library.

I'm using Node.JS on Windows for the testing as...I had a multitude of problems on openSUSE (ViCiBox 10).
Project Lead @ mDial -> https://github.com/TheBlode/mDial
martinch
 
Posts: 273
Joined: Thu Nov 15, 2018 9:14 am
Location: England, UK

Re: WhatsApp Messaging Integration

Postby martinch » Fri May 12, 2023 10:55 am

Hey guys, small update.

I'm still developing this plugin and it should appear on Github at some point in the next week or so I hope. At least that's the plan for version 0.1. Just some points here;

When using this plugin, we'll need to setup an API user for the plugin to interact with ViCiDial and I believe I'll be using the following functions in `non_agent_api.php`;

'lead_search'
'list_custom_fields'

These should provide us with the basic building blocks to compose our WhatsApp messages and send them to the numbers that we wish to.

Here is a screenshot of the message composer area of the plugin. It's pretty sparse right now and you can only send text messages either to a single phone number or a list (if one is selected). Futher updates will be made including sending multimedia, receiving messages and all that stuff (probably in phase 2 of the release).

Image

Feedback is welcome. Thanks guys.
Project Lead @ mDial -> https://github.com/TheBlode/mDial
martinch
 
Posts: 273
Joined: Thu Nov 15, 2018 9:14 am
Location: England, UK

Re: WhatsApp Messaging Integration

Postby carpenox » Sat May 27, 2023 5:14 pm

Looks good to me
Alma Linux 9.3 | Version: 2.14-911a | SVN Version: 3815 | DB Schema Version: 1710 | Asterisk 18.18.1
www.dialer.one -:- 1-833-DIALER-1 -:- https://linktr.ee/CyburDial -:- WhatsApp: +19549477572 -:- Skype: live:carpenox_3
carpenox
 
Posts: 2230
Joined: Wed Apr 08, 2020 2:02 am
Location: Coral Springs, FL

Re: WhatsApp Messaging Integration

Postby martinch » Fri Jun 02, 2023 6:31 am

carpenox wrote:Looks good to me


Thank you Chris! Always appreciate your feedback on stuff dude.

Just to pick your brain a bit...do you think your clients would get any benefit from something like this? Appreciate that WhatsApp isn't a big thing over the pond in the US...I could be wrong...I have no idea what people are using over there...a friend of mine in Kentucky doesn't use it...they told me it's not really used over there...but it's got a massive userbase in the UK and I think in Europe in general and also in India it's quite big...so yeah. If you think your clients could use it, what kind of uses do you think they'd do like...marketing message or maybe a customer update...maybe some lead gen stuff? Cheers dude.
Project Lead @ mDial -> https://github.com/TheBlode/mDial
martinch
 
Posts: 273
Joined: Thu Nov 15, 2018 9:14 am
Location: England, UK

Re: WhatsApp Messaging Integration

Postby egorky » Mon Jun 19, 2023 12:45 pm

martinch wrote:
carpenox wrote:Looks good to me


Thank you Chris! Always appreciate your feedback on stuff dude.

Just to pick your brain a bit...do you think your clients would get any benefit from something like this? Appreciate that WhatsApp isn't a big thing over the pond in the US...I could be wrong...I have no idea what people are using over there...a friend of mine in Kentucky doesn't use it...they told me it's not really used over there...but it's got a massive userbase in the UK and I think in Europe in general and also in India it's quite big...so yeah. If you think your clients could use it, what kind of uses do you think they'd do like...marketing message or maybe a customer update...maybe some lead gen stuff? Cheers dude.


You are right, Martin, WhatsApp is not that big of a deal in the US, but everywhere in the world (like South America, from where I am) is the number 1 via of communication with customers. So, this is a very important channel to add to Vicidial. Given what I just said, we use several libraries to connect to WhatsApp, I read that you have found WPP Connect, well, there is also whatsapp-web.js (https://github.com/pedroslopez/whatsapp-web.js) and Baileys (https://github.com/WhiskeySockets/Baileys). If you want to test a ticket based system using these libraries give Press-Ticket a try (https://github.com/FilipeCamillo/Press-Ticket)
egorky
 
Posts: 6
Joined: Thu Jun 15, 2023 2:26 am

Re: WhatsApp Messaging Integration

Postby egorky » Mon Jun 19, 2023 12:52 pm

martinch wrote:Hey guys, small update.

I'm still developing this plugin and it should appear on Github at some point in the next week or so I hope. At least that's the plan for version 0.1. Just some points here;

...

Feedback is welcome. Thanks guys.


Do you have it on gitHub already? I can help you test if you like.
egorky
 
Posts: 6
Joined: Thu Jun 15, 2023 2:26 am

Re: WhatsApp Messaging Integration

Postby martinch » Tue Jun 20, 2023 2:10 pm

egorky wrote:You are right, Martin, WhatsApp is not that big of a deal in the US, but everywhere in the world (like South America, from where I am) is the number 1 via of communication with customers. So, this is a very important channel to add to Vicidial. Given what I just said, we use several libraries to connect to WhatsApp, I read that you have found WPP Connect, well, there is also whatsapp-web.js (https://github.com/pedroslopez/whatsapp-web.js) and Baileys (https://github.com/WhiskeySockets/Baileys). If you want to test a ticket based system using these libraries give Press-Ticket a try (https://github.com/FilipeCamillo/Press-Ticket)


egorky wrote:
martinch wrote:Hey guys, small update.

I'm still developing this plugin and it should appear on Github at some point in the next week or so I hope. At least that's the plan for version 0.1. Just some points here;

...

Feedback is welcome. Thanks guys.


Do you have it on gitHub already? I can help you test if you like.


Thanks so much for your post egorky. :)

I'm actually building the piece for use on the newly released ViCiBox 11 and testing is going well with WPPConnect. Thanks for linking the other projects too...they all seem to be using puppeteer and NodeJS so perhaps I can include them in this integration and allow you guys to switch between engines. That will be under consideration for the second phase of this.

I'm hoping to release this by the end of the week, time permitting and as soon as I do, I'll link it here :) Thanks for the support.

Here is a screenshot of the piece on ViCiBox 11 Beta (released a few weeks ago). It shows the dependency check and I've debugged the commands needed to run to install all the dependencies;

Image
Project Lead @ mDial -> https://github.com/TheBlode/mDial
martinch
 
Posts: 273
Joined: Thu Nov 15, 2018 9:14 am
Location: England, UK

Re: WhatsApp Messaging Integration

Postby egorky » Sun Jun 25, 2023 12:25 pm

Baileys does not uses puppeteer, it uses websockets directly emulating the whatsapp desktop app. Since you are already on a roll it wouldn't hurt if you were to add WhatsApp Cloud API support. he he he
egorky
 
Posts: 6
Joined: Thu Jun 15, 2023 2:26 am

Re: WhatsApp Messaging Integration

Postby martinch » Mon Jul 31, 2023 6:01 pm

egorky wrote:Baileys does not uses puppeteer, it uses websockets directly emulating the whatsapp desktop app. Since you are already on a roll it wouldn't hurt if you were to add WhatsApp Cloud API support. he he he


Ahhhh cheers :) Websockets would be a good thing...interesting take on it. I'll experiment with that. Sorry, I hit a brick wall with this on ViCiBox / openSUSE Leap 15.5 regarding the Sharp module in Node.JS...and I wrestled with that thing for hours trying to overcome it :) if anybody can help, it would be much appreciated. Meet me over in ##vicidial and we can discuss or DM me on here. It might be an architecture thing and I'll probably try building it on different hardware. Work shall continue on this piece as I have a feeling people want to see this out :) cheers. Yeah Cloud API would be cool.
Project Lead @ mDial -> https://github.com/TheBlode/mDial
martinch
 
Posts: 273
Joined: Thu Nov 15, 2018 9:14 am
Location: England, UK

Re: WhatsApp Messaging Integration

Postby martinch » Sat Aug 12, 2023 6:14 am

It does appear I have been defeated here. I can't compile Sharp on openSUSE 15.3 or 15.5 and therefore, need to change course. I'll be looking into the other WhatsApp Web projects to see if I have any luck. Apologies for the delay guys. wppconnect seemed a sure thing. If it does not work on openSUSE, that means ViCiBox users will not be able to use the piece and that's unfair to them and they are many in number. I'll plan the next stages for this one.
Project Lead @ mDial -> https://github.com/TheBlode/mDial
martinch
 
Posts: 273
Joined: Thu Nov 15, 2018 9:14 am
Location: England, UK

Re: WhatsApp Messaging Integration

Postby martinch » Tue Aug 15, 2023 4:52 pm

So I've ditched wppconnect for now and switch to Whatsapp Web as suggested bt egorky https://github.com/pedroslopez so far, so good. It installs fine on openSUSE 15.5 Leap, the distro used for ViCiBox 11. It "may" even work with previous ViCiBox builds but I'll worry about that at a later date. The library is installed and now it's time to test Whatsapp connectivity and functionality. I'll touch base here when that happens. Fingers crossed it works fine :)

Image
Project Lead @ mDial -> https://github.com/TheBlode/mDial
martinch
 
Posts: 273
Joined: Thu Nov 15, 2018 9:14 am
Location: England, UK

Re: WhatsApp Messaging Integration

Postby egorky » Thu Sep 21, 2023 2:46 pm

wonderful news! let us test it too hahaha
egorky
 
Posts: 6
Joined: Thu Jun 15, 2023 2:26 am

Re: WhatsApp Messaging Integration

Postby Sufyan Khan » Tue Oct 24, 2023 4:52 pm

@martinch could you please guide where is the code and how to deploy it
Sufyan Khan
 
Posts: 15
Joined: Wed Oct 16, 2019 3:36 pm

Re: WhatsApp Messaging Integration

Postby egorky » Thu Oct 26, 2023 10:47 pm

Sufyan Khan wrote:@martinch could you please guide where is the code and how to deploy it


I would believe it is in this address: https://github.com/TheBlode/mDial
egorky
 
Posts: 6
Joined: Thu Jun 15, 2023 2:26 am


Return to Features

Who is online

Users browsing this forum: No registered users and 21 guests