De account_update-webhook en elke reden voor verbreking
account_update is hoe Meta meldt dat de status van een verbinding is gewijzigd. Het event-veld benoemt wat er gebeurde en bij verwijdering geeft disconnection_info.reason de reden. Die reden bepaalt of een nummer terugkomt of definitief weg is.
Het event dat Meta verstuurt wanneer de app van een account wordt verwijderd.
Benoemde redenen voor verbreking die een verwijdering kan bevatten.
Het inactiviteitsvenster voor het primaire apparaat, dat aankomt als PRIMARY_INACTIVITY.
Welke events bevat account_update?
PARTNER_REMOVED, wanneer de app van het WhatsApp Business Account wordt verwijderd. Dit is het gezaghebbende signaal voor verbreking en het signaal waarop je moet bouwen, in plaats van een verbreking af te leiden uit een veld dat false wordt.
ACCOUNT_OFFBOARDED, wanneer het nummer volledig wordt uitgefaseerd. ACCOUNT_RECONNECTED, wanneer een eerder verwijderde verbinding terugkomt. En de handhavings-events: ACCOUNT_RESTRICTION en ACCOUNT_VIOLATION, naast events waarvan de naam DISABLED of BAN bevat.
Ook verificatie- en goedkeuringsresultaten komen hier binnen, met eventnamen die VERIFIED of APPROVED bevatten. Een handler moet op de eventnaam schakelen en alles wat hij niet herkent als informatief behandelen, in plaats van erop te falen, omdat Meta zonder aankondiging events toevoegt.
Wat zijn de redenen voor verbreking?
Zes, en ze betekenen heel verschillende dingen.
PRIMARY_INACTIVITY is de regel van ongeveer veertien dagen: de WhatsApp Business-app is niet geopend op het primaire apparaat. Herstelbaar en met afstand het meest voorkomend.
COMPANION_INACTIVITY betekent hetzelfde op een gekoppeld apparaat, maar met een langer venster van ongeveer dertig dagen.
BUSINESS_DOWNGRADE betekent dat het nummer terugging naar de gewone WhatsApp-app. Daarmee eindigt Coexistence, omdat Coexistence de Business-app vereist.
CHANGE_NUMBER betekent dat het telefoonnummer zelf is gewijzigd. USER_RE_REGISTERED betekent dat het opnieuw op een nieuw apparaat is geregistreerd. En ACCOUNT_DISCONNECTED betekent dat de klant het bewust heeft verbroken, of dat handhaving dit deed.
De reden komt ook samen met disconnection_info.initiated_by binnen. Dat veld geeft aan of een persoon of het systeem dit heeft gedaan.
Waarom is de reden belangrijker dan het event?
Omdat PARTNER_REMOVED op zichzelf niet zegt wat je moet doen.
Een nummer dat door PRIMARY_INACTIVITY is verwijderd, komt terug: het bedrijf opent de app, maakt opnieuw verbinding en alles gaat verder. Als je dit behandelt als een klant die is vertrokken, stuur je een opzeggingsmail naar iemand die nog steeds klant is.
Een nummer dat door BUSINESS_DOWNGRADE of ACCOUNT_DISCONNECTED is verwijderd, is een andere situatie. Als je dit als tijdelijk behandelt, blijft een verbinding eindeloos in een tussenstatus hangen.
Komt een verwijdering zonder reden binnen, dan is initiated_by de terugvaloptie: een verwijdering door een persoon lijkt bewust, terwijl een onverklaarde verwijdering door het systeem dat niet doet. Die nuance kun je beter in code vastleggen dan later in een supportgesprek.
Veelgemaakte fouten
- Elke PARTNER_REMOVED hetzelfde behandelen. De reden maakt onderscheid tussen twee weken stilte en een klant die is vertrokken.
- Een verbreking afleiden uit een veld dat false wordt, in plaats van uit dit event. Dat veroorzaakt valse alarmen.
- Falen op een onbekende eventnaam. Meta voegt events toe en een handler moet overslaan wat hij niet kent.
EasyCoexistence verwerkt elk van deze events op naam, legt de reden vast in de verbindingstijdlijn en maakt onderscheid tussen een herstelbare verwijdering door inactiviteit en een nummer dat echt weg is.
Veelgestelde vragen
Is PARTNER_REMOVED permanent?
Meestal niet. De meeste gevallen bevatten PRIMARY_INACTIVITY. Dat betekent dat de app niet is geopend en dat opnieuw verbinden alles herstelt.
Herstelt opnieuw verbinden mijn webhook-bestemming?
Nee, en daar zit de valkuil. De bestemming is een override op het app-abonnement en wordt samen met de app verwijderd. Je moet die opnieuw instellen.
Wat is COMPANION_INACTIVITY?
Hetzelfde idee van inactiviteit op een gekoppeld apparaat in plaats van het primaire apparaat, met een langer venster van ongeveer dertig dagen.
Kan ik dit event zonder reden krijgen?
Ja. In dat geval is disconnection_info.initiated_by het enige signaal dat aangeeft of de verwijdering bewust was.
Lees verder
Klaar om te beginnen?
Stel WhatsApp Coexistence in enkele minuten in, niet maanden. De app blijft op je telefoon werken.
Start je gratis proefperiodeGeverifieerd op