Sign inGet started

WhatsApp-tekstberichten ontvangen

Een contact dat in de chat typt, produceert een inkomend bericht met text. Dit is de meest voorkomende inkomende arm, en degene die het klantenservicevenster opent of reset.

Wat een inkomend tekstbericht bevat

text.body bevat wat het contact heeft getypt, en er zit verder niets op de arm:
Codevoorbeeld
{
  "id": "wam_01kya19eknftrs2s6p82asmvnh",
  "direction": "inbound",
  "from": { "phone_number": "+14155550100", "display_name": "Alex Rivera" },
  "to": { "phone_number": "+13124495569" },
  "status": "received",
  "text": { "body": "Is my order out for delivery yet?" },
  "created_at": "2026-08-25T09:04:11Z"
}
preview_url is een veld aan de verzendzijde. Een inkomend tekstbericht bevat geen vlag voor een linkvoorbeeld, ongeacht wat de eigen client van het contact renderde, dus een URL in body verschijnt gewoon als onderdeel van de tekst.
Het leesschema declareert geen maximum voor een inkomende body. De limiet van 4096 tekens hoort bij de verzendzijde, dus dimensioneer je opslag als onbegrensde tekst in plaats van op een limiet die de inkomende arm niet belooft.

Een tekst verstuurd als quoted reply

Wanneer het contact op een van je berichten antwoordt door het te quoten, blijft de arm ongewijzigd en in_reply_to_message_id noemt het bericht dat ze beantwoordden:
Codevoorbeeld
{
  "id": "wam_01kyb2m4xq7whs0d8n3prv6tez",
  "direction": "inbound",
  "from": { "phone_number": "+14155550100" },
  "to": { "phone_number": "+13124495569" },
  "status": "received",
  "in_reply_to_message_id": "wam_01kya19eknftrs2s6p82asmvnh",
  "text": { "body": "Yes, that one" },
  "created_at": "2026-08-25T09:06:02Z"
}
WhatsApp markeert niet elke reply, en een ongemarkeerde bevat helemaal geen ID. Zie quoted replies op de hub voor wat resolutie kan missen en hoe je zonder correleert.

De webhook-payload

whatsapp.received draagt dezelfde arm op de event-envelope, zodat een endpoint op de tekst kan reageren zonder het bericht terug te lezen:
Codevoorbeeld
{
  "type": "whatsapp.received",
  "timestamp": "2026-08-25T09:04:11.118Z",
  "data": {
    "whatsapp_id": "wam_01kya19eknftrs2s6p82asmvnh",
    "workspace_id": "ws_01ky7m235keycbnwyajabe1a6b",
    "direction": "inbound",
    "from": { "phone_number": "+14155550100", "display_name": "Alex Rivera" },
    "to": { "phone_number": "+13124495569" },
    "text": { "body": "Is my order out for delivery yet?" },
    "tags": null,
    "metadata": null
  }
}

Aandachtspunten

  • Een tekst is de goedkoopste manier waarop een contact het venster heropent. Elk inkomend bericht reset het servicevenster naar 24 uur, en een tekst is wat de meeste contacten sturen; een vrije reply van jouw kant is vanaf dat moment bezorgbaar.
  • from kan binnenkomen zonder telefoonnummer. Een contact dat een WhatsApp-gebruikersnaam heeft aangenomen, bereikt je via een business-scoped user ID, dus lees de identiteit uit from in plaats van aan te nemen dat from.phone_number is ingesteld.
  • De body is wat het contact zelf heeft getypt. Een tik op iets dat je hebt verstuurd, komt binnen als een interactieve reply op een eigen arm.

Volgende stappen