VizAlerts icon indicating copy to clipboard operation
VizAlerts copied to clipboard

Add WhatsApp support

Open jdrummey opened this issue 8 years ago • 1 comments

As an alternative (or addition?) to SMS delivery add support for WhatsApp.

PATH is an international healthcare NGO working with the Zambian Ministry of Health to eliminate malaria, with the support of the Tableau Foundation. There are community health workers who have feature phones (so email is not an option) who primarily use WhatsApp rather than SMS.

There is no official WhatsApp API, there is a Python library at https://github.com/tgalal/yowsup.

Given the risk that the community-built library could be made invalid by a change to WhatsApp any deployment needs to have a fallback, so I propose having the ability for VizAlerts in the same installation to support both an SMS delivery (such as via the Twilio integration) and the WhatsApp integration. I'm thinking that we'd add a new Email Action value of 3 for WhatsApp, then if a user needed to fall back they could change their trigger views to use 2 instead. Otherwise the code would look much like the Twilio integration.

Some other notes:

  • This is meant to be one-way outbound messaging only.
  • The yowsup library has support for more logging and checking delivery status, we'd use the minimal amount in this first implementation.
  • A requirement for WhatsApp is a usable cellphone number so there would need to be a number that is not attached to an install of the WhatsApp application on a device.

jdrummey avatar May 07 '16 12:05 jdrummey

A follow-up on this. From more research the yowsup library and other 3rd-party libraries are not feasible at this time for two reasons: 1) they aren't using an officially supported API they can fail at any time if WhatsApp makes a change and 2) WhatsApp is really sensitive to spam and sending unsolicited messages, it appears to be all to easy to have numbers blocked by sending too many messages in too short an interval, etc.

Until WhatsApp has an official API we're going to need to hold off on this.

jdrummey avatar Aug 04 '17 17:08 jdrummey