У меня получилось сделать следующий вариант:
1. Создаю массив с данными которые мне необходимо передать
2. Кодирую его в формат JSON
3. Дале этот JSON кодирую в BASE64
4. Странно, но у меня бот не принимал строку без /, поэтому я дописал к полученной строке BASE64 /com
Итого строка которая передаётся в в callback выглядит так: /com eyJpZF9waXp6YSI6MSwiY291bnQiOjZ9
И теперь когда мне нужно получить данные из callback я делаю следующее:
1. Получаю подстроку eyJpZF9waXp6YSI6MSwiY291bnQiOjZ9 из callback data
2. Декодирую её BASE64 в изначальный формат
3. Декодирую JSON в object
4. преобразую object в массив
Вуаля, я получил необходимые данные. Сам прошерстил интернет в поиске подобной инфы, увидел вариант с base64 решил попробовать, вышло, странно что разработчики telegram не дают возможности передавать массивы в колбэке, приходится обходить данные ограничения.