Декомпозируй задачу на более мелкие:
1) Как сделать телеграм бота в общем
- как с его сделать конкретно на пайтоне
2) Как скачать музыку с ютуб в общем
- как это сделать на пайтоне
Склеиваешь два решения в одно и получаешь результат. Когда формулируешь сложную составную задачу, подступиться к ней тоже сложно. И отвечать на такие вопросы кратко тоже сложно.
В бд:
1) таблица товаров
2) таблица юзеров
3) таблица для корзины, где в одной записи: ид юзера, ид товара, кол-во, и так для каждого товара в корзине для каждого юзера, получать корзину можно одним запросом по айдишнику юзера с джоином по таблице с товарами, например.
Обычно в урле айдишник должен принадлежать самой сущности, например при запросе или удаления по айди, если этот айдишник при создании является свойством сущности, то можно его передать в теле post запроса