New API: Toy and Appearance achievements are not correctly reporting their criteria

Hello! I am currently working on updating my web site to use the new Profile APIs instead of the old Community APIs. I am running into many issues.

One major issue for my site is that it looks like the new API is missing valuable criteria information for achievements. I am using the “Toying Around” and the various “Fashionista” achievements to show players a count of toys and appearances that they have collected. I also rank players based on this number on leaderboards.

For example:

  • /profile/wow/character/drenden/icuatemetoo/achievements?namespace=profile-us&locale=en_US&access_token=[token]
  • { id: 9670, achievement: { key: { href: ‘…’ }, name: ‘Toying Around’, id: 9670 }, criteria: { id: 40727, is_completed: false, child_criteria: [ { id: 40728, amount: 0, is_completed: false } ] }, completed_timestamp: 1416975720000 }

Notice that for the child_criteria, the amount is listed as 0, making it impossible to see how many toys this player has. The old APIs would return 264 for this player. In other words, the old APIs would continue to report the player’s progress on the achievement, even after it had been completed.

Further, the achievements JSON is missing the higher tier of this achievement (e.g. Remember to Share or Toybox Tycoon), since this player has not finished it. This makes it impossible for users of your API to show players their progress on achievements they haven’t completed yet. Though this would not help my specific use case, since I want to see a count of toys above and beyond 400.

While I am mostly interested in Toys and Appearances, I assume that this bug exists for other achievements as well. It would be greatly appreciated if the criteria information could be reported, even though the achievement has been completed, similar to the behavior of the old APIs.

Alternatively, it would be great if the /collections endpoints supported /collections/toys and /collections/appearances.

Thank you for any help you can provide!

Edit: As I’ve worked on this more, I have noticed that SOME achievements do seem to correctly report their criteria, even after being completed. Here’s one example:

  • {id:9453,achievement:{key:{href:’…’},name:‘Draenic Stone Collector’,id:9453},criteria:{id:38956,is_completed:true,child_criteria:[{id:38957,amount:3244,is_completed:true}]},completed_timestamp: 1417021200000}
  • Notice that the criteria is reporting amount=3244, which is well beyond the 500 needed for this achievement.

However, as previously reported, it still seems that the toy/appearance achievements return criteria amounts of 0. I am not sure why some achievements work but others don’t. It would be great if the toy/appearance criteria could be fixed. For reference, here is a list of achievements and their IDs that seem to be broken:

  • Toying Around (id=9670)
  • Fashionista: Head (id=10681)
  • Fashionista: Chest (id=10682)
  • Fashionista: Legs (id=10684)
  • Fashionista: Feet (id=10685)
  • Fashionista: Waist (id=10686)
  • Fashionista: Back (id=10687)
  • Fashionista: Wrist (id=10688)
  • Fashionista: Weapon & Off-Hand (id=10689)
  • Fashionista: Tabard (id=10690)
  • Fashionista: Shirt (id=10691)
  • Fashionista: Shoulder (id=106)