Running into a weird issue with the Open Messaging API when sending structured content. I’m building a custom digital channel integration and trying to push a card with quick replies to a user. The API call goes through fine, 200 OK, but the client renders it as plain text instead of the interactive card.
Here’s the payload I’m sending to POST /api/v2/conversations/{conversationId}/messages:
{
"type": "message",
"text": "Choose an option",
"content": {
"type": "card",
"title": "Support Options",
"body": "Select what you need help with",
"actions": [
{
"type": "quickReply",
"label": "Billing",
"value": "billing"
},
{
"type": "quickReply",
"label": "Technical",
"value": "tech"
}
]
}
}
The docs say the content object should handle the rendering, but nothing shows up as a card. I’ve verified the conversation ID is correct and the message arrives in the transcript as text. Is the content structure wrong? Or does the Web Messaging SDK need a specific flag to parse this?
I tried moving the actions into a top-level actions array on the message object, but that just gets stripped out. The SDK version on the client is the latest public release. No errors in the console, just plain text output. Feels like I’m missing a subtle formatting rule in the JSON schema for cards. Anyone get quick replies to render correctly via the API recently?