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.