Use read acknowledgements, typing and reactions
Make service exchanges responsive while preserving message and reaction semantics.
Prerequisites
A received message, permission to operate the sender and a supported service interaction.
1. Decide what the signal means
Mark an incoming message read when your team has taken the conversation into its service workflow. WhatsApp also marks earlier messages in that conversation as read, so this action acknowledges more than the referenced message. Use typing while preparing an answer rather than as a permanent indicator.
2. Use the published operation
Use Mark a message read, POST /v1/whatsapp/messages/{message_id}/read, for a received message. WhatsApp marks that message and every earlier message in the conversation as read. Set typing_indicator when you are preparing a reply. A 202 confirms that the acknowledgement was accepted for processing; it does not prove that the customer saw the indicator. There is no acknowledgement delivery webhook or separate message to poll.
After Meta accepts the acknowledgement, the received message can show read_at while keeping its received status. The acknowledgement creates no billable outbound message. Follow the published read-receipt operation for typing expiry and eligible message age.
3. Handle reaction changes
Subscribe to whatsapp.reacted for incoming reaction changes. A reaction annotates a referenced message; it is not another whatsapp.received text message. A null emoji can represent removal. Preserve the exact emoji rather than normalizing distinct values.
4. Keep history and current state separate
Use the reaction log for changes and the message’s reactions for the current per-sender state. An unresolved older provider reference can leave no matched reaction, so absence of an entry does not prove the customer never reacted.
5. Test the end of the interaction
Rehearse added, replaced and removed reactions, delayed processing and an interrupted reply. Ensure the actual answer or human handoff follows the signal.
Troubleshooting
If a reaction is missing from the message list, inspect the reaction event and referenced-message log instead. If typing lingers in your application state, review its expiry separately from read state. See WhatsApp events for the published webhook shape.
Next steps
- Explore the related WhatsApp capability.
- Find all WhatsApp guides and explained answers.
- Prepare your first complete exchange.
Related resources
Continue with the documentation, guides and examples for this topic. Resources are in English.
Watch the guideConnecting WhatsApp to Bird: from buying a number to a live channelUnderstand the conceptWhat is the 24-hour customer service window on WhatsApp?Use the toolWhatsApp message builderExplore the capabilityWhatsApp
Try the practice and get an implementation brief