Ondanks alle zorgen over gegevensbescherming is WhatsApp nog steeds de favoriete messenger-app van de Duitsers. Naast de speciale WhatsApp Business app heeft Facebook ook een officiële interface gemaakt, de WhatsApp Business API, om het voor bedrijven interessanter te maken. Als je programmatisch WhatsApp-berichten vanuit je webapplicatie wilt versturen, zijn er ook andere mogelijkheden.
De officiële manier is via de WhatsApp Business API: als je deze direct wilt gebruiken, moet je je registreren bij een van de officiële aanbieders in het partnernetwerk . MessageBird is bijvoorbeeld een goede optie gebleken. Zonder in detail te treden, vat ik hier de belangrijkste punten samen.:
- Als vereiste heb je een geldig Duits gsm-nummer nodig dat is verbonden met ten minste een WhatsApp-dataplan.
- Het verzenden van berichten is aan strikte beperkingen onderworpen: het verzenden naar externe contacten is alleen mogelijk met behulp van zogenaamde berichtsjablonen , die handmatig moeten worden ingediend en goedgekeurd. Als de contactpersoon antwoordt, kunt u binnen een tijdsbestek van 24 uur via de API sms-berichten naar deze contactpersoon sturen.
- Voor ieder contact heb je een expliciete opt-in nodig, die je zelf moet implementeren.
- Voor elk verzonden bericht gelden kosten van de externe provider.
De daadwerkelijke API-aanroep in het MessageBird-voorbeeld (met behulp van _curl van stringhelper ) blijkt relatief eenvoudig te zijn:
e228243e9ffff5f83e71190ee38b10aa
Als u over een eigen server en een (niet actief gebruikte) mobiele telefoon beschikt, is er ook een andere manier om te bereiken wat u wilt en de bovengenoemde beperkingen te omzeilen. Hierbij maak je gebruik van de functionaliteit van WhatsApp Web . Hiervoor zijn de volgende twee bibliotheken geschikt.
De WebWhatsApp-wrapper bestaat al een tijdje en is gebaseerd op Python en Selenium. Het versturen van berichten werkt bijvoorbeeld als volgt::
452590a6d20c1fa9276ff14ed28c4ce5
De veel slankere Baileys is daarentegen gebaseerd op TypeScript en WebSockets. Berichten worden verzonden met de volgende code als voorbeeld:
e0187d6da1f800b1597420345d13b432
Beide bibliotheken werken volgens hetzelfde principe: de webapplicatie wordt op afstand beheerd en authenticatie is slechts eenmalig vereist (de sessie wordt bij de volgende toegang opnieuw tot stand gebracht). Er zijn geen beperkingen (in vergelijking met het verzenden van normale berichten).