سلام
در حال پیاده سازی یه ربات توی پیام رسان بله هستم، هونطور که میدونید ربات ها عموما 2 نوع کلید دارن، یک نوع که میاد و زیر صفحه چت قرار میگیره ( ReplyKeyboardMarkup ) و نوع دیگه که داخل خود صفحه چت دکمه ها قرار میگیرن ( InlineKeyboardMarkup ).
من با گزینه اول هیچ مشکلی ندارم و به درستی کلیدها نمایش داده میشه، اما زمانی که میخوام کلیدهای inline رو ارسال کنم با ارور 400 از طرف سرور بله مواجه میشم که میگه ریکوئست صحیح نیست.
آدرس سایت مستندات بله: https://dev.bale.ai/api

کلاس هایی که من ایجاد کردم:


public class InlineKeyboardMarkup : IMarkup
{
public InlineKeyboardButton[][] inline_keyboard { get; set; }
}


public class InlineKeyboardButton
{
public string text { get; set; }


public string url { get; set; }


public string callback_data { get; set; }


public string switch_inline_query { get; set; }


public string switch_inline_query_current_chat { get; set; }


public bool pay { get; set; }
}


و خود ساختار کلید:

public static InlineKeyboardMarkup InlineHomeMenu
{
get
{
return new InlineKeyboardMarkup()
{
inline_keyboard = new InlineKeyboardButton[][]
{
new InlineKeyboardButton[]
{
new InlineKeyboardButton()
{
callback_data = "0",
pay = false,
text = "📝 ثبت نام ",
url = "",
switch_inline_query = "",
switch_inline_query_current_chat = ""
}
},


new InlineKeyboardButton[]
{
new InlineKeyboardButton()
{
callback_data = "1",
pay = false,
text = "📋 درخواست ",
url = "",
switch_inline_query = "",
switch_inline_query_current_chat = ""
}
},


new InlineKeyboardButton[]
{
new InlineKeyboardButton()
{
callback_data = "2",
pay = false,
text = "📄 رزومه ",
url = "",
switch_inline_query = "",
switch_inline_query_current_chat = ""
}
},


new InlineKeyboardButton[]
{
new InlineKeyboardButton()
{
callback_data = "3",
pay = false,
text = "☎️ ارتباط با ما",
url = "",
switch_inline_query = "",
switch_inline_query_current_chat = ""
}
},


new InlineKeyboardButton[]
{
new InlineKeyboardButton()
{
callback_data = "4",
pay = false,
text = "🎯 آموزش ",
url = "",
switch_inline_query = "",
switch_inline_query_current_chat = ""
}
},


new InlineKeyboardButton[]
{
new InlineKeyboardButton()
{
callback_data = "5",
pay = false,
text = "⚙️ مدیریت سیستم",
url = "",
switch_inline_query = "",
switch_inline_query_current_chat = ""
}
}
}
};
}
}



و سریالایز کردن کلید ها جهت ارسال به سرور:

postData.Add("reply_markup", new JavaScriptSerializer().Serialize(obj.reply_markup) );


دوستانی که تجربه کار با ربات دارن، ممنون میشم راهنمایی کنن.