Documentazione / Essenziale
Segnare un messaggio come letto (e mostrare «sta scrivendo…»)
POST /v1/messages/read
POST /v1/messages/read con {"messageId": "wamid…"}: l'id di un messaggio che hai RICEVUTO (data.message.id di message.received). Va nel corpo, non nell'URL (un URL finisce nei log di accesso, e l'id contiene il numero del contatto). Il contatto vede le spunte blu; Meta segna come letti anche i messaggi precedenti di quella chat. Aggiungi "typing": true per mostrare anche «sta scrivendo…»: sparisce quando rispondi o dopo 25 secondi, a seconda di cosa succede prima.
Non è un invio: non crea un msg_…, non consuma quota, non conta come messaggio e non richiede Idempotency-Key (segnarlo due volte non fa danni). Funziona allo stesso modo sui numeri Cloud API e Coexistence.
# messageId comes from a message.received event: data.message.id
curl -X POST https://api.waiaconnect.com/v1/messages/read \
-H "Authorization: Bearer wc_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"messageId": "wamid.HBgN…AA==", "typing": true}'
# → { "messageId": "wamid.…", "status": "read", "typing": true, "typingSeconds": 25, "connectionId": "conn_…" }Meta accetta solo messaggi ricevuti negli ultimi 30 giorni → MESSAGE_TOO_OLD. Un id msg_… → INVALID_MESSAGE_ID; un id di UN ALTRO account → INBOUND_MESSAGE_NOT_FOUND (non confermiamo mai che esista).
Mostra «sta scrivendo…» solo se stai per rispondere (lo chiede Meta): un contatto che lo vede e poi non riceve nulla resta peggio di uno che non ha visto niente.