WhatsApp STOP-berichten automatisch verwerken — opt-in preamble, opt-out webhook en je CRM
Een klant antwoordt "STOP" op je WhatsApp-bericht. Wat gebeurt er dan — en wat moet jíj daar nog voor doen? Bij TextMeFlow: niets, want de opt-out wordt automatisch afgehandeld op API-niveau. Maar als je CRM of ticketsysteem niet meeluistert, blijft die persoon in jouw eigen lijsten staan alsof er niets is gebeurd. Dit artikel legt uit hoe het opt-in/opt-out-mechanisme werkt en hoe je het aan je eigen systemen koppelt.
Let op: dit is algemene informatie over hoe onze pipeline werkt, geen juridisch advies over je verplichtingen onder de AVG of e-privacyregels — raadpleeg daarvoor een jurist.
De opt-in preamble: automatisch, tenzij je hem uitschakelt
Bij het allereerste bericht naar een nieuwe ontvanger plakt TextMeFlow automatisch een korte regel voor je boodschap:
Hoi! Je krijgt deze berichten van {sender}. Antwoord STOP om te stoppen.
Dat (account, ontvanger)-paar wordt 90 dagen onthouden — daarna gaan volgende berichten ongewijzigd door. Deze preamble is de goedkoopste verzekering tegen een Meta-ban die er bestaat, en staat standaard aan. Je kan hem per account uitschakelen in het portaal, bijvoorbeeld bij boekingsflows waar de ontvanger al expliciet toestemming gaf op je eigen formulier en de STOP-tekst overbodig aanvoelt. Let op: uitschakelen van de preamble schakelt niet de onderliggende nieuwe-contact-telling uit — die blijft meelopen voor de risicoscore. Meer over die score en wat hem laat oplopen lees je in onze uitleg over de risicoscore.
Welke woorden een opt-out triggeren
TextMeFlow herkent meerdere varianten, niet alleen het Engelse "STOP": STOP, STOPP, ARRÊT, BASTA, STOPPEN en UNSUBSCRIBE worden allemaal als opt-out-verzoek behandeld, ongeacht de taal waarin je zelf berichten verstuurt. Je hoeft hier zelf geen keyword-matching voor te bouwen — dat gebeurt op berichtniveau vóór het bericht ooit je eigen webhook bereikt.
Wat er gebeurt na een STOP
Zodra een ontvanger een van die woorden terugstuurt, registreert TextMeFlow een opt-out voor dat specifieke (account, ontvanger)-paar. Vanaf dat moment worden alle volgende sends naar dat nummer geweigerd met foutcode recipient_opted_out — ook als je het per ongeluk opnieuw probeert vanuit een script of een bulk-import. Dat is een harde blokkade op API-niveau, niet iets wat je zelf nog moet controleren voor je een bericht verstuurt. Probeer je het toch, dan telt dat bovendien mee voor je risicoscore (+50 punten) — nóg een reden om je eigen systeem synchroon te houden in plaats van blind te blijven versturen.
De opt_out-webhook: je CRM synchroon houden
Het blokkeren van de send is je vangnet, maar je wil niet wachten tot elke send faalt om te weten wie is afgemeld. Daarom stuurt TextMeFlow een webhookevent van het type opt_out (instelbaar) op het moment van de opt-out zelf. Een minimale handler ziet er zo uit:
app.post('/webhooks/textmeflow', (req, res) => {
const { event, data } = req.body;
if (event === 'opt_out') {
crm.markUnsubscribed(data.recipient, {
channel: 'whatsapp',
optedOutAt: data.timestamp,
});
}
res.sendStatus(200);
});
Voor de volledige lijst events en hoe je de HMAC-signature van elke call verifieert, zie onze gids over webhooks. Zonder deze koppeling loopt je eigen CRM of e-mailtool het risico dat het iemand als "actieve klant" blijft tonen terwijl WhatsApp voor die persoon al maanden dicht zit — verwarrend voor support, en een onnodig obstakel als de klant later opnieuw toestemming geeft en je een nieuw opt-in-moment nodig hebt.
Praktisch: wat dit voor jou betekent
- Bouw geen eigen STOP-detectie — die zit al in de pipeline, voor meerdere talen tegelijk.
- Vertrouw niet alleen op de foutcode bij het versturen; abonneer op
opt_outzodat je CRM meteen up-to-date is, niet pas bij de volgende mislukte send. - Laat de opt-in preamble aan staan tenzij je zeker weet dat je ontvangers al langs een eigen toestemmingsformulier zijn gegaan.
- Test het zelf: stuur jezelf een bericht, antwoord STOP, en controleer of je
opt_out-webhook binnenkomt en of een tweede send naar datzelfde nummer inderdaad metrecipient_opted_outwordt geweigerd.
Meer weten over hoe de volledige anti-spam pipeline in elkaar zit, inclusief rate limits en quiet hours? Bekijk het volledige anti-spam beleid. Wil je dit zelf uittesten? Start gratis met 50 berichten per maand, voor altijd — geen creditcard nodig.
Zelf WhatsApp-berichten versturen via API?
Gratis voor altijd tot 50 berichten/maand. QR scannen en binnen 5 minuten verstuur je je eerste bericht.
Gratis voor altijd