Sign inGet started

Niet-ondersteunde WhatsApp-berichttypen

WhatsApp bevat inhoud die Bird's API niet modelleert, van catalogusbestellingen tot systeemmeldingen over het gesprek. In plaats van zo'n bericht te laten vallen of het leeg af te leveren, registreert Bird het met een unsupported-arm die het WhatsApp-inhoudstype benoemt. Het bericht is zichtbaar in het WhatsApp-log en bereikt je webhook zoals elk ander bericht.

Wat een niet-ondersteund bericht bevat

unsupported.type bevat WhatsApp's eigen typestring voor wat er binnenkwam, en dat is de enige inhoud van het bericht. De envelope eromheen blijft ongewijzigd:
Codevoorbeeld
{
  "id": "wam_01kyh0w4ujnz2x8p1s5dci0vlg",
  "direction": "inbound",
  "from": { "phone_number": "+14155550100" },
  "to": { "phone_number": "+13124495569" },
  "status": "received",
  "unsupported": { "type": "order" },
  "created_at": "2026-08-25T09:31:20Z"
}
typeWat het contact heeft gestuurd
interactiveInteractieve inhoud waarvan de antwoordvorm door het API niet als tik gelezen kon worden
buttonEen knoptik die het API niet als antwoord kon lezen
orderEen winkelwagen of bestelling geplaatst vanuit een productcatalogus
systemEen systeemmelding over het gesprek, zoals een contact dat zijn telefoonnummer wijzigt
unsupportedHet eigen unsupported-type van WhatsApp, voor een bericht dat de eigen clients niet kunnen weergeven
unsupported is geen tijdelijke aanduiding in die tabel. WhatsApp rapporteert onder die naam een eigen inhoudstype wanneer een van zijn clients iets stuurt dat de andere niet kunnen weergeven, en dat komt als deze waarde binnen.
De lijst is open. WhatsApp voegt in de loop der tijd inhoudstypen toe, dus behandel een type die je niet herkent als een toekomstig type in plaats van een fout: log het en ga verder in plaats van het lezen te laten mislukken.

De webhook-payload

whatsapp.received wordt ook bij een niet-ondersteund bericht afgevuurd, met dezelfde arm:
Codevoorbeeld
{
  "type": "whatsapp.received",
  "timestamp": "2026-08-25T09:31:20.774Z",
  "data": {
    "whatsapp_id": "wam_01kyh0w4ujnz2x8p1s5dci0vlg",
    "workspace_id": "ws_01ky7m235keycbnwyajabe1a6b",
    "direction": "inbound",
    "from": { "phone_number": "+14155550100" },
    "to": { "phone_number": "+13124495569" },
    "unsupported": { "type": "order" },
    "tags": null,
    "metadata": null
  }
}
Een endpoint dat schakelt op het inhoudsveld dat het aantreft, hoort een default-branch te hebben, en deze arm is wat daarin terechtkomt. Bevestig de webhook hoe dan ook met een 2xx: opnieuw proberen verandert niets, want de inhoud wordt tussen pogingen niet gemodelleerd.

Wat een niet-ondersteund bericht nog steeds doet

Het bericht telt als inkomend bericht op elke manier die niet van de inhoud afhangt:
  • Het reset het klantenservicevenster naar een nieuwe 24 uur, zodat een bestelling vanuit je catalogus vrije antwoorden weer opent.
  • Het verschijnt in de berichtenlijst en het WhatsApp-log, met het type in plaats van een lege rij.
  • Er worden geen kosten in rekening gebracht. Geen enkel inkomend bericht is geprijsd.
Wat je niet kunt doen is de inhoud lezen. Een bestelling bevat niet de winkelwagen, en een systeemmelding vertelt niet wat er is gewijzigd. Waar dat detail ertoe doet, vraag het de contactpersoon in woorden, of gebruik een antwoordknop of lijstmenu zodat het antwoord binnenkomt op een gemodelleerde arm waar je op kunt handelen.

Aandachtspunten

  • Behandel de arm niet als een fout. Het bericht is succesvol ontvangen; alleen de inhoud is niet gemodelleerd. Een alert instellen betekent een alert bij elke bestelling die een contact plaatst.
  • Een system-type kan betekenen dat het contact van nummer is gewisseld. Meta documenteert een telefoonnummerwijziging als een van de gebeurtenissen die een systeembericht opwekt, en genereert tegelijkertijd de business-scoped user ID van het contact opnieuw. De arm benoemt het type en niets anders, dus behandel het als een aanleiding om opnieuw vast te stellen met wie je praat.
  • Een emoji-reactie is geen niet-ondersteund bericht. Het is helemaal geen inkomend bericht, dus het bereikt geen webhook en verschijnt in geen berichtenlijst: elke wijziging wordt vastgelegd in het eigen reactielog van het bericht waarop gereageerd is, behandeld in WhatsApp-events.
  • Sla het type letterlijk op. Een toekomstig type komt binnen als een naam waar je nog geen code voor hebt, en het bewaren van de ruwe waarde is wat je in staat stelt die berichten te vinden zodra je dat wel hebt.

Volgende stappen