De messages-webhook
messages is het veld dat alles bevat wat een klant naar je nummer stuurt: tekst, media, antwoorden, reacties en interactieve antwoorden. Op een gerouteerd Coexistence-nummer gaat het rechtstreeks van Meta naar je endpoint, nooit via een provider.
Het webhookveld met binnenkomende klantberichten.
De prefix van de bericht-id die wordt gebruikt om herhalingen te voorkomen.
De status die Meta snel verwacht, vóór verwerking.
Wat de payload bevat
Eén of meer berichten in één levering, elk met de afzender, een id en een type. Het type bepaalt welke andere velden aanwezig zijn.
- Het telefoonnummer van de afzender en de telefoonnummer-id van het nummer waarnaar diegene schreef.
- Een wamid-bericht-id, waarop deduplicatie is gebaseerd.
- Een Unix-tijdstempel.
- Een type: text, image, audio, video, document, sticker, location, contacts, reaction, button of interactive.
- Bij mediatypen een media-id om op te halen, niet de bytes zelf.
Waarom het bij een gerouteerd nummer nooit bij ons aankomt
Omdat de override dit veld, samen met smb_message_echoes, naar de bestemming stuurt die je opgeeft.
Meta laat een app bepalen waar een WhatsApp Business Account zijn webhooks aflevert. Wij stellen die override in op jouw URL, waardoor het berichtenpad volledig buiten onze infrastructuur blijft. Aan onze kant is er geen kopie, wachtrij of opslag, omdat de levering daar nooit aankomt.
Als er geen bestemming is ingesteld, vallen deze gebeurtenissen terug op onze standaardcallback, waar de handler ze laat vallen zonder ze op te slaan. Dat is het verschil tussen een bewering over opslag en een codepad: gespreksinhoud kan nergens naartoe.
Correct bevestigen
Geef 200 terug voordat je het werk doet, niet erna.
Meta ziet een traag antwoord als een fout en probeert het opnieuw. Daardoor ziet een handler die alles inline verwerkt hetzelfde bericht meer dan één keer. Antwoord onmiddellijk, zet de payload op een wachtrij of achtergrondtaak en laat het werk buiten het verzoek plaatsvinden.
Bij serverless is dit niet optioneel. Een functie die antwoord geeft en daarna doorgaat, kan worden stilgezet zodra ze antwoordt. De bevestiging en verwerking moeten dus echt gescheiden zijn.
Dedupliceren
Altijd op basis van wamid, omdat herhalingen normaal zijn en geen uitzondering.
Hetzelfde bericht kan twee keer aankomen door oorzaken die niets met een fout aan jouw kant te maken hebben: een traag antwoord, een time-out van het netwerk of een uitrol tijdens de levering. Bewaar geziene id's en sla herhalingen over. Dat zijn maar enkele regels code en het voorkomt dat een klant één keer of twee keer antwoord krijgt.
Op een Coexistence-nummer is dit extra belangrijk, omdat smb_message_echoes via hetzelfde pad aankomt. Een handler die elke gebeurtenis als nieuw behandelt, antwoordt dan boven op iemand die al handmatig heeft gereageerd.
Veelgemaakte fouten
- 200 verwerken voordat je het terugstuurt. Meta probeert een traag antwoord opnieuw, waardoor je het bericht twee keer verwerkt.
- Deduplicatie overslaan. Herhalingen zijn bewust ingebouwd, geen randgeval.
- Mediabytes in de payload verwachten. Er staat een media-id in om ze op te halen.
EasyCoexistence routeert dit veld rechtstreeks van Meta naar je endpoint en bewaart alleen operationele gebeurtenissen voor monitoring. Gespreksinhoud kan daardoor onze opslag helemaal niet bereiken.
Veelgestelde vragen
Ziet EasyCoexistence de berichten van mijn klanten?
Nee. De override levert dit veld af bij je endpoint. Alles wat onze fallbackcallback bereikt, wordt verwijderd zonder te worden opgeslagen.
Kunnen meerdere berichten in één verzoek aankomen?
Ja. Eén levering kan meerdere berichten bevatten. Handlers moeten daarom door alle berichten lopen en niet alleen het eerste lezen.
Hoe haal ik media op?
De payload bevat een media-id. Haal daarmee de URL op via het toegangstoken van het nummer en download daarna de media.
Wat is smb_message_echoes?
Het bijbehorende veld met wat je team vanuit de WhatsApp Business-app verstuurt. Het bestaat alleen bij Coexistence-nummers.
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