Transitioning Raider.IO to Game Data API

Hi all,

I’ve started the migration to the GameData APIs this weekend and thought I would relay my approach and bugs/comments/questions that I’ve run into.

My approach is to adapt the new API to conform with how we are currently consuming the Community API in our crawlers. This provides us with minimal impact across the codebase, and means we can operate both old and new APIs at the same time to cross-check for differences, ensuring we have a better transition when we fully cut over to the new API.

Overall this has gone well and we’ve currently converted over (for characters):

  • Core Profile (including thumbnail and honorable kills)
  • Gear
  • Talents

We still have to do:

  • Achievements
  • OAuth
  • Raid Progression (when available)
  • Statistics (when available)

This is what we’ve encountered so far:

BUGS

  • BLOCKER – Raid progression API missing. This is the biggest issue with the new API currently. Will this make the December 16th cut-off? Any chance you can share a JSON schema example?

  • BLOCKER – OAuth User Characters API missing. As this is the only way to detect if an account owns a certain character, not having this will break features that require elevated access (such as editing a player profile, etc.)

QUESTIONS

  • Are achievements specific to characters by default now? Is this intended?
  • Does guild ID stay consistent if a guild moves servers? Renames? Changes factions? Basically, can we trust that if the ID doesn’t match then it is not the same guild?
  • Will the character’s ID remain consistent after rename? Faction transfer? Bnet account transfer?
  • The field “last_login_timestamp” on Character Profile: Is this an intended change from “last logged out” timestamp, or is it a rename?
  • In thumbnail urls is there some way we can derive the “24” as shown here, aside from calling the media endpoint? skullcrusher/24/107392280-avatar.jpg. This would allow us to avoid making a call to the media endpoint if so.
  • Is it intended that “total item level” is no longer available?

COMMENTS/FEEDBACK:

  • Character talents do not include a “tier” value and are not in tier order which makes reassembling a proper set of order talents harder than would be ideal. We’ve worked around this ourselves since we already ingest talent DBCs in our system, but I imagine this may be more of a pain than you are intending just because there are not “tier” / “column” fields.
  • API request count per character currently increased from 2 to 5. Once we get Raid Progress and Achievements, then this goes up to 7 request per character. This means we’re looking at a 350% API request increase per character atm (discounting the occasional queries to the character status endpoint).

Thanks.

4 Likes

To add on to this, for Warcraft Logs I have converted everything except for:

  • OAuth (when available)
  • Raid Progression (when available)
  • Statistics (when available)

I encountered all the same mentioned issues, but wanted to add that the Achievements API is currently not dumping account achievements for any newly renamed or transferred characters. Help! :wink:

It would be nice to avoid making a separate request just to get a player’s thumbnail portrait and background picture, since they all use a similar URL scheme. Could the thumbnail pic could be included as part of baseline character information like before?

The primary reason WCL needs the old statistics API is for character tracking, used in conjunction with account-wide achievements. If you provide us some other way to track characters across realm transfers, statistics would not be needed.

An API to get only character-specific achievements would also be enough to fingerprint characters. The achievements API fails at this currently because it does implicit fallback for character-specific achievements, with no way to specify “Don’t do this.”

4 Likes

Do you know where is the progression api now?