How to get ProductInfo for packages? (Bundles)

If I have a bundle ID of 299 (Superhero) how can I get the ProductInfo for it?

local ProductInfo = MarketplaceService:GetProductInfo(i)

EDIT
I tried searching the hub, https://developer.roblox.com/en-us/api-reference/enum/InfoType
but

ProductInfo = MarketplaceService:GetProductInfo(i, Enum.InfoType.Bundle)

Errors MarketplaceService:GetProductInfo() Bundle InfoType is not enabled yet

In case it’s necessary, I’m trying to do it so I can do this

local ProductInfo
if page.Name == 'Bundle' then
    ProductInfo = MarketplaceService:GetProductInfo(i, Enum.InfoType.Bundle)
else
	ProductInfo = MarketplaceService:GetProductInfo(i)
end
			
Frame.Button.Icon.Image = 'https://www.roblox.com/asset-thumbnail/image?assetId=' .. i .. '&width=420&height=420&format=png'
Frame.ID.Value = i
			
Frame.Name = ProductInfo.Name

As you can probably tell from the error you’re receiving, GetProductInfo still for whatever reason does not have the Bundle type enabled. Given this, I would presume that the GetProductInfo API doesn’t work either with bundles. It asks for an asset id too but bundles have a separate id system.

What keys do you need from GetProductInfo about bundles?

If it’s a bundle thumbnail, use the rbxthumb ContentId to retrieve the thumbnail for it. Try pasting this in the image field of an ImageLabel or wherever you’re expecting to be using an image: rbxthumb://type=BundleThumbnail&id=299&w=420&h=420

If you need the id-based components that make up a bundle, trying to get it is somewhat of an arduous process. You will need to use GetBundleDetailsAsync which simply returns a pure data representation of the ids associated with a bundle. I don’t know how specifically to use this to get bundle pieces but there are R15 bundle changers on the toolbox that employ this that you could use for reference.

Anything else is essentially off limits unless there’s another way to fetch that information.

2 Likes

Thumbnail seems to work well with that. How can I get the name from the ID? Or would I have to tie the ID in with the name

[299] = {Name = 'Superhero'}

and then use the ID.Name?