Use the
uuid from the message.received webhook (data.message.uuid).
Rules
- Only messages a contact sent you can be marked read. Anything else returns
422withcode: not_inbound. - WhatsApp accepts read receipts for 30 days after a message; older ones return
422withcode: too_old. - In a 1:1 chat, marking one message read also marks every earlier message read.
- In a group, each message is marked on its own.
- Only show “typing…” when a reply really is coming. A typing indicator that ends in silence is a poor experience.
{"status": "read", "message_id": "wamid…", "typing_indicator": {"type": "text"}} on /meta/whatsapp/{version}/{phone_number_id}/messages.