WoW Community API Migration Deadline Extension

Achal hecta.

Over the past few months, we’ve been working to migrate the data on the WoW Community API over to the Game Data and Profile APIs. We are doing this to retire old services and transition to a planned, long-term platform meant to offer more stability to you, our players and developers. We also saw the opportunity for improving ways to protect player data and chose to achieve both at once. However, it looks like if we were to move forward with retiring the API on December 16 as planned, we will be depriving the community of several APIs that could cause unintended negative impacts to third-party sites. We hoped to mitigate this by prioritizing specific endpoints but ran into unexpected delays.

We are, therefore, extending the migration deadline by three months to 2020-03-16T07:00:00Z. This will effectively give us more time to complete the in-flight API implementations, ensure we’re meeting your use-cases, and give you more breathing room to complete migration. It also means that these endpoints on the WoW Community API will be impacted in the following ways:

/wow/auction/data/{realm} - Auction house endpoints will no longer include character name information.

/wow/character/{realm}/{name} - The data structure isn’t changing, but we will be performing an additional check for the existence of a character such that some older, inactive characters will no longer return.

These are the only changes we currently have planned for the Community API. However, we cannot be certain that these are the only changes we will have to make.

Consumers of this API will still need to comply with the Data Protection guidelines that take effect on January 1, 2020.

Please also continue to provide feedback and bug reports on the new APIs. Our team continues to monitor these forums to understand your challenges.

Dioniss aca.

5 Likes

Does that mean all community endpoints will be extended or just the ones not yet migrated ?

All community endpoints will be extended, with modifications being made to the two endpoints specified in the original post.

1 Like

Thank you for the update! When will the character name be removed from /wow/auction/data/? Is that happening on March 16 or December 16? Will there be an anonymous ID associated with each auction so we can group auctions by seller (even if we don’t know their name)?

Thanks for the quick response. Another question: since we need to compare the character ID returned by the /status endpoint will the old character endpoint return the same ID or we should combine the call with the new one to perform the check ?

The modifications to the two endpoints will happen on or soon after December 16, 2019.

No, this will not be the case.

Great question! I want to refer to our stance in the stickied Data Protection Notice and FAQ - #2 by Veltarii-1769 post for the /character/{realm}/{name}/status endpoint, which is outlined in question #13 in the FAQ section. I would paraphrase here, but I don’t want to misrepresent any of the nuances included in the answer.

To help you link the /character/{realm}/{name}/status endpoint, with our release on or soon after December 16, 2019, we will be adding an id field to the /wow/character/{realm}/{name} endpoint with a matching ID value. Currently, this can be parsed from the thumbnail field, but we don’t think that’s a great way for you to make the correlation.

Thank you for the swift reply! I appreciate you taking the time to respond. To clarify, the existing API will no longer have the “owner” field, and there will be no way to correlate specific auctions to an owner/seller?

Will the new API being developed (and deployed prior to March 16) have seller information? Even an anonymous ID that is consistent between updates would be great.

The use case is for Auction Notifier. (I can’t paste a link, but it’s the first result on google)

Correct.

To give you a bit of context: we are making this change as part of our Data Protection policy update. We are evaluating solutions for allowing applications to access this data, possibly on an opt-in basis using OAuth2. While I cannot make any guarantees, would this solution satisfy your use case?

Because of the Auction House changes coming in Visions of N’zoth, I cannot provide specific information for this yet.

Maybe I’ll understand better once the Visions of N’zoth is out, but by Data Protection, do you mean you want to make sure that historical listings information is deleted for players/characters who have so requested? So if so would the standard approach of checking status at least every 30 days and deleting upon 404 be sufficient?

Or is there new a kind of data protection that is special to the AH data?

The AH isn’t a focus of my app so maybe this is academic to me, but I’d think certain sorts of global stats (i.e., how many cloths sold in October 2019 and at what average price) are a valid topic of interest and it would be nice if the sites that aggregated that data could preserve their market data stats even if they’ve removed character-level line item data in accordance with player wishes?

/wow/auction/data/{realm} - Auction house endpoints will no longer include character name information.

This will break realmpop and reduce some of the functionality for tradeskillmaster regarding buyer and seller data. I feel less for TSM, but for Realmpop I was considering a similar project, but only for my realm. Looks like that will no longer be possible as the method was to use the Auction House data to get a seller’s guild and realm to then do a guild lookup for all the character info.

I understand the issue with data protection and privacy, and while I do not have a solution to this, it just kind of makes me sad. :frowning:

1 Like

Yep. I was looking at the same thing for more of a leaderboard project and that pretty much crushes it for me. If there is no way to identify new people, then its just stale data that never progress against a delta.

Great that you folks will have more time to get things ready. Thanks for letting us know :slight_smile:

It would help some at least. As it would allow us (and our users) to see what auctions we have up at least.

Btw, glad that you guys extended the deadline as the previous one did not seem realistic :smiley:

Edit:
If you do add allow users to opt-in. Please make it a seperate end-point, where as the user them selves has to be authenticated(use their own key) to get this data.
Meaning that I could still display my users auctions to them, but not anyone else as this would potentially put them at a disadvantage against their competition.

And if you do, make sure it got CORS *, so that this would not have to be passed through third party servers, but fetched on the client with their token.

That would work quite well. Unfortunately, I assume the new endpoint will not be available on December 16th so my service will be down until it is :frowning: If a hashed ID were provided in place of the owner field it may satisfy the data protection requirement and allow third party devs to group auctions by seller.

It would not satisfy the data protection requirement because you should have no identifier for a person, including hashed/anonymized identifiers.

For example, you want to see Jaina’s auctions. You know Jaina is selling a rare Ring of Frost for 10g by observing that in-game. You use the API to find all Ring of Frost auctions, and find one being sold for 10g, by ZXCVBNM. You find all the auctions posted by ZXCVBNM and we’re back where we started: you can find Jaina’s auctions and know they’ll always be under ZXCVBNM.

“But what if we changed the hashed name with every snapshot?” The auction IDs (or, at the very least, the details including the item and price) will remain the same between snapshots. So you’ll just need to update your aliases when reading the new snapshot.

1 Like

Thank you for your hard work and your time.

On removing AH seller names
Be sure to acknowledge that this reduces the possibilities to build useful auction comparison (competitive) tools around this, or possibilities to make an app to detect if we have been undercut and how much gold we’re missing out potentially. You were mentioning an opt-in solution. If players can opt-in to allow their names to be retrievable(including our own names) then it would solve almost all issues I can think of.
This also removes the possibility to compare the realms markets sizes between each other. Counting the amount of unique items or number of items on each realm is not representative of a realm AH size/activity. To provide enjoyable tools we need to be able to compare the realms auction house sizes between each others. This can be the number of unique AH users (sellers) seen within the last X days, 14, 30 or 60 for instance. Just a number updated per realms. We could want to be able to compare the size of each “markets”. The prices we use for our auctions can depend on market size, a possibility to determine a level of demand before listing is required.

On AH dump delay
We’ve been used to updates every ~30 minutes for the Auction house snapshots. Will we be able to access the refreshed data with a similar frequency? Since the AH can change very fast, the timing is important. While 1h is decent, 30 mins would greatly improve the quality of the data and service provided, and 15 mins would be awesome. I’m referring to market notifications. Even with a 15 min timing, players that are in front of the actual AH looking for items will always have the edge, as expected I suppose.

Improving the service further: game stats
Let’s talk about new kinds of fun data that Blizzard could provide.
Remembering the old game stats page:
h ttps://web.archive.org/web/20070220131111/h ttp://www.wow-europe.com/en/info/gamestats/gamestats.html
Stats have been appreciated by the community, I often see players positively mentioning the game stats we had in the old website. Such stats can greatly improve the current auction house API. Here’s some self explanatory ideas for each ItemIds or (ItemIds+ilvl pairs):
“monthly_sold_count”
“monthly_auctioned_count”
“monthly_looted_count”
“monthly_gathered_count”
“monthly_crafted_count”
“monthly_sold_price_average”
“monthly_sold_price_median”

This would work well on a region basis, if we have a way to determine the size of each realm’s AH (see above). details per realms would be better obviously but I can imagine this would be quite more work.
Such feedback is popular enough to be featured in places like weekly wow economy recaps that takes place officially on wowhead: h ttps://www.wowhead.com/wow-economy-dungeon-xp-hotfixes-auction-api-tokens-bfa-wishes#hopes-for-battle-for-azeroth

We love your api to play around, and I think we should always look forward into ways to enhance and improve the service into something that simply makes us enjoy the game even more.

5 Likes

This may not be exactly what your project needs but if we had some sort of anonymous counts of things that were provided by the guild API endpoint, we could still create statistical projects. For example, if I could lookup my guild and see there are x amount of 120s, and y amount are Warlocks, that would be a fun start. This of course still leads to the issue of knowing the guild names however. My original idea was to mimic realmpop but go even deeper, but only for my realm/connected realms. Like, it would be fun to compare anonymous achievement data. How many characters actually have the BFA Pathfinding Achievement for flying. Or how many characters have stepped foot into LFR, Normal, Heroic, or Mythic raiding?

I’m fairly certain that Blizzard knows this, but we as a community do not. And I think it would be fun to see what my realm is actually doing as a whole. I don’t want character named, or even guild names, just comparative data for the game.

I feel that adding some of this statistical data to some either guild or realm endpoint, could be a lot of fun.

1 Like

I certainly understand not wanting to return players that have opted-out for privacy reasons, and I also understand removing players that have been inactive for years and years.

But with the new APIs, I have noticed that even level 120 players that have been inactive for a very short amount of time seem to be removed from the APIs. Obviously, I cannot 100% confirm this, since I don’t know who has opted out or not.

My app is a leaderboards site, and I believe that my visitors want to see how they rank against all other players, regardless of if they’ve been inactive recently. I would ask Blizzard to please consider: At a minimum, perhaps continue to return max-level characters, unless they have explicitly opted out.

I don’t even want to imagine the heartache that sites like WoWProgress and RaiderIO will have as they have to expunge historical data about past winners of the World 1st Race due to the new API terms.

2 Likes

This is intentional. If they haven’t logged in since some of these processes were implemented, then they haven’t “opted-in” to the new process, so they are hidden by default. For privacy reasons - this is ideal. They should always opt-in to being shown or it defeats the whole purpose of implementing data privacy measures.

That’s fair, I guess my comment was thinking more long-term, and whether players are going to keep being removed after a short amount of inactivity.