API is showing incorrect number of sales for UGC Item

Hey Developers,

Please watch this video I created explaining this situation as it is much more informative than this blog: https://youtu.be/DaS-Y5Uef28
:arrow_up::arrow_up::arrow_up::arrow_up::arrow_up::arrow_up::arrow_up::arrow_up::arrow_up::arrow_up::arrow_up::arrow_up::arrow_up::arrow_up:

I’m a Roblox Developer as well as an Influencer apart of the Roblox Video Star. Naturally, I have two of my own UGC items that I created alongside @Domiscius. Recently, I’ve been noticing that my Robux amount is much much higher than it “should” be according to the amount of sales I have on my two items displayed by the “Roblox Stats” plugin by @AlreadyPro as well as the native Transaction tab on Roblox. I’ve been trying to figure out why this is happening by testing hypotheses such as Hidden Inventory, Players being under 13, etc.

What we have come to figure out is that Roblox is misrepresenting the number of sales on items through the API & in the players Transaction tab, but getting the correct number on the actual Configure Page of said item.


Why This is an Issue: When making a deal for compensation for creating a Video Star Creators’ UGC Item it is common the 3D Modeler is given a percentage of profit. (For example, I give my 3D Modeler, @Domiscius, 50% cut of all revenue from the items.) If the number that is displayed on the Item Page for the item, from the API, is displaying a number MUCH less than what the actual amount of sales/robux the creator was receiving then the 3D Modeler isn’t being compensated fairly and I would consider it as them being scammed.

Now this isn’t Video Star Creators fault, this isn’t the 3D Modelers fault, this is just simply a misrepresentation of the number of sales by Roblox and it’s likely that no one would notice or care to check this out. Although it’s no one’s fault this still needs to be fixed so both parties are being compensated fairly.

This is What NEEDS to Happen: Roblox needs to fix the API and the Transaction (Sales) page to display the correct number of sales. More importantly, they just need to display the number simply without having to do manual labor by counting each day of sales one by one. This can be easily done just by taking all the numbers from the graph on the Roblox Item Configure page and putting an easy to read number there.


UPDATE: (I was incorrect to believe that the graph shown above is a native Roblox feature, when it is actually apart of the Roblox+ Chrome Extension. This doesn’t change anything though because the issue is still that Roblox doesn’t display the correct numbers on the creators “Sales” Transactions page anyway)

Thank you all for taking your time to read this. Of course if you have any questions, comments or concerns please feel free to leave them below and I’ll try to reply as soon as I can.

Thanks,
Evan Zirschky (Evanbear1)

(Thank you to @Domiscius @DarkViperTV & @Rocky28447 for helping me test & understand this issue)

23 Likes

Just to clarify - the way you’re viewing this info is via a chrome extension, correct? From what I can see, there isn’t a way to view sale history (or even number of sales) on the Configure Hat page without extensions.

6 Likes

But isn’t that another whole problem in itself? Roblox should be showing the amount of sales made on the certain accessory to the seller.

3 Likes

We’re looking at the sales via the Chrome Extension, Configure Hat, and the players Sales Transactions page. Please refer to this video for a better explanation: https://youtu.be/DaS-Y5Uef28

3 Likes

This is honestly a big issue! Although I don’t know much about UGC - I do know that many of the products that are put out there are made by multiple people. Although, you are mentioning that you are using @AlreadyPro’s chrome extension to see the stats on the item - but that is understandable because Roblox doesn’t have it built into their system themselves to show the stats to the seller. The problem with the stats could be AlreadyPro’s fault, but frankly Roblox should have it built in for a seller to see the stats on the product.

2 Likes

I would assume that due to UGC still being in early testing and in the works that Roblox still has to work quite a bit more on making the sales page work efficiently with UGC creators. I am sure they will put a fix on this now that you have addressed the issue clearly.

4 Likes

@HazSun yes that’s what I was going to say after I got the clarification. I agree Roblox has a lot of things to fix/add before UGC is fully released to the community, which to my knowledge, is happening.

@Evanbear1 the video is 12 minutes long. Sorry but I’d rather read your post.

5 Likes

This is a bit of an odd mystery. I do feel like the R$ must be coming from elsewhere, but I can’t put my finger on what.

What I can do is provide a bit of info which might narrow things down? First we’d have Roblox’s marketplace API, which shows how many sales an item has. This is different from the amount of copies of an item actually exist, which is only really separate for items which are distributed in a way other than sales.

https://api.roblox.com/Marketplace/ProductInfo?assetId=4736016118

At a guess, this would be the API that AlreadyPro’s plugin goes off of. It’s quick, in most situations gets the job done, and the alternative would be more complex…

…So, the alternative! Inventory API, which means getting every single copy of an item counted. This works regardless of whether an owner is under 13, or has a private inventory, in which it’ll simply return the item’s User Asset ID (simply labeled ID here, right above the serialNumber), creation date, and updated date.

https://inventory.roblox.com/docs#!/

This would be the API that R+ uses, an updated version of the previous inventory API which is still relatively similar. You give it an asset ID, and you can get up to the next 100 copies of that item, along with a string which you can use to get the next batch if there’s still more copies.

From there, we have a full list of copies of an item, along with when they were sold, and can graph how many copies of an item were sold by the day. @Computer2467 did this awhile back with the Louie Twitter bot, when we were pushing for the Louie hat to reach 10,000 sales. You can see the spike in early March in the first Louie sales over (the first half of) 2019 graph, which is when I started pushing the campaign.

https://twitter.com/louierblx1/status/1129445588469047296

Now we’re finally reaching where all this info connects though. Having scanned quite a few items for item copy counts, and even needing assistance for some of the larger items, that is something which can take a lot of time to do, depending on the number of copies an item has. It’d be silly for WebGL3D to call for this info in real time, even if it were limited to a select handful of users. It’d take forever for the user to get their info, and Roblox’s API would get absolutely blasted with requests for more more more.

What may be more viable, and what I think could be happening here, is the item count being saved once, and then sent out whenever it’s needed… Only something may be causing that info to be incorrect? Can’t really figure much out here, that’d be something for @WebGL3D to answer.

Doing a quick scan of the Bear Plushie Hat with Inventory API shows the same result as the Marketplace API, currently 2234 copies of the item. I feel the problem here might be from the sales chart, but I could be completely wrong, and that still leaves the question of where the extra robux are coming from.

4 Likes

I’m not quite understanding the issue here. From everything I have seen the sales counter matches up with the number of owned on this item (though it is possible for the sales counter to fall out of sync). The sales counter is the number of times the item has sold - which is not the same the number of an item being owned. Items can be obtained in other ways (e.g. the owner is granted one when they create the item) or removed from inventory.

As far the chart you posted goes - that is from my extension (https://roblox.plus, this was pointed out).
For context if it helps anyone: That chart is generated based off of transactions. The extension scans all transactions and stores them in a local database and queries that data to load the chart from.

As I see it there is no issue here. Did I miss anything? Please let me know if I have misinterpreted the problem.

3 Likes

You missed the fact that in this case, according to the sales records that Roblox reported to the UGC creator, about forty-seven thousand Robux appeared out of thin air.

1 Like

This is correct. I’ve already skimmed through the extension’s code and found this to be the case.

This API is actually worse, as it does not report duplicate sales (a user purchasing an item, deleting it, then purchasing it again). This is due to the fact that this endpoint reports only the number of users who own the asset, instead of the actual sales. However, the endpoint reports a similar number to the previous API because not many people purchase items twice.

These are all tests we’ve already performed live on @Evanbear1’s stream. I highly doubt we’ve missed anything.

I suppose for this specific case, that is a downside to consider, but as you’ve said yourself… How often are users intentionally deleting accessories? One of my first posts was a feature request to remove the ability to delete clothing Roblox made, due to how there wasn’t really a decent reason to keep such an abuseable feature.

The reason I mentioned this other API was to bring up what I believed was the method R+ was using to create that owner chart, and how there would be room for potential error due to the fact that it would need to be saving data somehow for future reference.

4 Likes

The sales api is discontinued, there’s clearly not 0 sales. I wonder if there’s any api that actually works.

image

1 Like

This thread is 8 months old and is no longer relevant. Roblox has gotten rid of the sales API now due to game developers not wanting their revenue to be public.

1 Like