I’m building a custom bot connector in C# that needs to send structured messages back to the guest. Specifically, I want to send a card with quick reply buttons using the Open Messaging API format. I’ve read the docs on /api/v2/conversations/messages, but the examples are mostly for plain text or simple attachments.
Here is the JSON payload I’m constructing in my C# code:
{
"to": {
"id": "conv-123-xyz",
"type": "conversation"
},
"from": {
"id": "bot-user-id",
"type": "user"
},
"type": "text",
"text": "Please select an option:",
"quickReplies": [
{
"label": "Sales",
"value": "sales_option"
},
{
"label": "Support",
"value": "support_option"
}
]
}
I’m sending this via the SDK method PlatformClient.Conversations.Messages.PostConversationMessageAsync. The request returns a 201 Created status code, which suggests it succeeded. However, the guest never sees the buttons. They just see the text “Please select an option:” as a plain message bubble.
I’ve checked the conversation history in the admin UI and the message appears there as text only. The quickReplies field is missing from the stored message object. I tried changing the type to application/vnd.genesis.open.messaging+json but that threw a 400 Bad Request saying the type is not supported for this channel.
Is there a specific wrapper object I need for the Open API format? Or does the Web Messaging channel ignore the quickReplies property in the payload entirely? I’ve been staring at this for two days and I can’t find a C# example that actually works for interactive elements.