Pushing structured messages via the /api/v2/conversations/messaging/events endpoint. The payload goes through fine, gets a 200 OK, but the guest client on Android just shows the raw JSON string instead of rendering the quick reply buttons. iOS and desktop browsers work perfectly. It’s a custom channel registered via DFO, so I’m bypassing the standard widget and hitting the API directly from a Node backend.
Here’s the event payload I’m sending:
{
"from": { "id": "agent-123" },
"to": [{ "id": "guest-456" }],
"type": "message",
"text": {
"content": "Select an option:"
},
"quickReplies": [
{
"label": "Check Status",
"payload": "action:status_check"
},
{
"label": "Speak to Agent",
"payload": "action:transfer_human"
}
]
}
I’ve verified the conversation ID matches the active session. The from and to IDs are correct. I even tried adding a contentType of application/json to the message object, but that just broke the text rendering entirely. The Android client seems to be stripping out the quickReplies array or failing to parse it. Is there a specific schema requirement for custom DFO channels that differs from the standard Genesys Cloud implementation? Or is this a known bug with the latest Web Chat SDK on Android? I’ve been staring at the docs for an hour and don’t see a mismatch.