Web Messaging Guest API: Typing indicators not triggering read receipts

Working with the Genesys Cloud Web Messaging Guest API to sync UI states. Sending typing indicators via POST /api/v2/conversations/messaging/conversations/{id}/messages works fine, but the read receipt hook isn’t firing on the client side when the agent acknowledges.

const payload = {
 type: 'typing',
 from: { id: guestId },
 to: { id: conversationId }
};
await fetch(`${baseUrl}/messages`, {
 method: 'POST',
 body: JSON.stringify(payload),
 headers: { 'Content-Type': 'application/json', 'Authorization': `Bearer ${token}` }
});

The server returns 200 OK. Checking the WebSocket stream, I see the typing event but no subsequent read receipt event for that message ID. The docs imply the guest client should emit a read event upon receiving the agent’s reply, but it’s silent. Is there a specific flag needed in the typing payload to enable receipt tracking, or is this handled entirely by the SDK wrapper I’m bypassing?

Read receipts don’t trigger on typing events. You need to send a standard message with an empty body or a hidden character to force the state update. The API treats typing as transient. Try this payload instead:

{
 "type": "text",
 "to": { "id": "conversationId" },
 "body": " "
}