Automate your WhatsApp messages with PHP and directly send them from your own whatsapp number. Not stuck with cost per message and only a monthly fee.

automate whatsapp messages php

Automatiseer WhatsApp berichten via PHP

Al een geruime tijd ben ik bezig om alles op het gebied van website’s te onderzoeken. Hierbij houd ik mij vaak bezig met alles op het gebied van ontwikkeling, programmering en automatisering. De laatste tijd zie je steeds vaker bedrijven opduiken die gebruik maken van verificatie methodes zoals bijvoorbeeld SMS, 2FA Authenticatie maar ook de tegenwoordig ook WhatsApp. Daarom ben ik op onderzoek uitgegaan naar WhatsApp en hoe je hiermee berichten zou kunnen versturen via enkele PHP API ’s.

Soorten WhatsApp berichten API’s

WhatsApp API telefoon nummer Providers

Er zijn verschillende soorten WhatsApp API providers te vinden op Google, denk hierbij bijvoorbeeld aan een van de populairste en meest bekende ‘Twillio’. Twillio stelt nieuwe nummers beschikbaar zijnde als ‘provider’ van deze telefoon nummers en rekent in per bericht 0,08 eurocent. Dit bedrag wordt bepaald afhankelijk door de hoeveelheid berichten die via hun WhatsApp API worden verstuurd.

Web- WhatsApp PHP API

Naast twillio heb ik een aantal andere platformen gevonden waar je berichten kan versturen via WhatsApp. Het geval is bijna overal het zelfde dat je per bericht een bepaald bedrag betaald aan de provider. Wanneer je hier dus op grote schaal gebruik van wilt maken wordt dit vrijwel onbetaalbaar.

Via Chat-Api.com kan je een telefoon koppelen met Web- WhatsApp om vervolgens via hun dienst met PHP berichten te versturen.

Een voordeel is dat je een eigen telefoon nummer en landcode kan gebruiken, of je eigen whatsapp nummer als je zou willen. De Chat-API is verbonden via een 'Web-WhatsApp' browser en houdt de verbinding actief in om berichten te versturen met de verbonden telefoon. Houd hier rekening met dat de telefoon niet uit mag staan. 

PHP Chat-Api.com WhatsApp Script

<?php
$telefoon = ‘0031639011166’; // Hiermee geef je aan dat de string $telefoon het 06 nummer bevat.
$datum =  date(“l jS of F Y h:i:s A”); // Datum opmaken met de date(); functie om mee te sturen
$tekst = ‘Dit bericht is verstuurd om:’. $datum; // Assign $tekst variable with this messages has been send: $date (Php date)

$data = [ // array openen met naam $data
‘phone’ => $telefoon, // Hier zetten we in de array op sleutel waarde ‘phone’ het telefoonnummer.
‘body’ => $tekst, $tekst, // De ‘body’ in dit geval komt de tekst eerder opgesteld in de $tekst variabel.
]; // En sluiten de JSON Array af.

$json = json_encode($data); // Omzetten van de Data naar JSON zodat dit doorgestuurd kan worden via het PHP script.
$token = ‘here_your_token_id’; // Chat with your token from chat-api.com between the quotes.
$instanceId = ‘here_your_instance_id’; // En hier komt dan het instance_id

// URL Assign
// Hiermee stellen we de link in van chat-api en zorgen wij dat het $instanceId en de $token variabels er in komen te staan.
$url = ‘https://api.chat-api.com/instance’.$instanceId.’/message?token=’.$token;

// To post to JSON we have to apply some settings to our stream_context_create in order to send it with the file_get_contents function. In this case is a POST because it’s required like this by Chat-Api.com
$options = stream_context_create([‘http’ => [
‘method’=> ‘POST’, // In dit geval vereist chat-api een POST call dus geen GET of Request.
‘header’=> ‘Content-type: application/json’, // We vertellen de ontvangen bij chat-api.com dat het json is.
‘content’ => $json] // Vervolgens sturen we de JSON mee.
]); // En sluiten de JSON Array af.

// Hier maken we de call naar de $url met de options opgegeven in $options.
$result = file_get_contents($url, false, $options);

?>

De Chat-API kan gemakkelijk in gebruik worden genomen door een QR code te scannen met de telefoon om verbinding te maken met chat-api.com. Vervolgens kan via het volgende script een call gemaakt worden naar de Chat-API service via JSON.

De token string en instance_id zijn te vinden op de website van Chat-API nadat je een telefoon nummer via hun Web-WhatsApp service hebt gekoppeld.

Het nummer moet 0031 bevatten en daarna het telefoon nummer in het geval van een 06 nummer wordt hier de 0 weg gelaten. Het nummer wordt dan dus 00316 + de 8 cijfers van het mobiele nummer. In mijn geval is dit 0031639011166 zoals te zien in het script. 

Inschrijven voor de nieuwsbrief

Wilt u frequente notificaties van de artikels op ons platform krijgen? Vul uw gegevens in en dan regelen wij de rest voor u!