404s for almost all Russian characters in specific endpoints

Hi,

I am running into some issues tracking some Russian characters in the API. There are some endpoints that I believe should never return a 404 (unlike for example the PvP brackets) that do, but only for Russian character names.

To give an example, this character:

/en-gb/character/eu/howling-fjord/%D0%90%D1%80%D1%83%D0%B1%D0%B0

He plays the game regularly, logs in every day. If I request the profile status endpoint through the API I get a 200 response code and is_valid is true, as expected:

/profile/wow/character/howling-fjord/%D0%B0%D1%80%D1%83%D0%B1%D0%B0/status?namespace=profile-eu&locale=en_GB&access_token=TOKEN

However, when I request the Achievement Statistics endpoint (one which I think should always be available?) I get a 404 response:

/profile/wow/character/howling-fjord/a%D1%80%D1%83%D0%B1%D0%B0/achievements/statistics?namespace=profile-eu&locale=en_GB&access_token=TOKEN

Requesting the achievements endpoint rather than the statistics works and returns a 200. Am I missing something in which endpoints are available for which characters? I’m tracking many thousands of characters and I have only encountered this issue with Cyrillic names (the vast majority of those are showing this issue).

Apparently I can’t include links in my posts so apologies for the missing hostname.

Your second link has an “a” in front of the character name, and your first link does not.

The same thing with profile API

Doesn’t work for the active player: /profile/wow/character/%D0%B3%D0%BE%D1%80%D0%B4%D1%83%D0%BD%D0%BD%D0%B8/%D1%81%D1%8B%D1%80%D0%BE%D0%BA%D0%B4%D1%80%D1%83%D0%B6%D0%B1%D0%B0/pvp-summary?namespace=profile-eu&locale=ru_RU&access_token=TOKEN

Works for:
/profile/wow/character/twisting-nether/shtoo/pvp-summary?namespace=profile-eu&locale=ru_RU&access_token=TOKEN
This toon was online almost year ago

Your realm slug is incorrect. You need to use:
/profile/wow/character/gordunni/%D1%81%D1%8B%D1%80%D0%BE%D0%BA%D0%B4%D1%80%D1%83%D0%B6%D0%B1%D0%B0/pvp-summary?namespace=profile-eu&locale=ru_RU&access_token=TOKEN

OMG
So app owners must ask russian players to fill realm field with english realm name?
Looks like illogical crap minded by developers not for users

You need to cache all realm names in your application using the realm index endpoint, and allow your user to select this realm by its name, however you must use the name to find the slug before sending the request to Blizzard.

This is actually a very basic stuff and if you could not figure it out this means you are not a good developer, of course an API is made for developers and not for end users.

Your API Discussion MVP, ladies and gentlemen.

Sorry @Erorus, I know this is far from ideal, but I’ve been helping the community as best as I can since I started using Blizzard’s API and I’ve been nothing but respectful all the time. I’m just so tired of people coming here and complaining about stuff they don’t know and blaming directly on the devs.

I’ll make sure to watch my post in the future, but I’ll leave this one as it is for the moment.

Actually, I’m not a developer but a kind of UX guy and WoW forum owner.
Taking about users, I mean people, who put their toon name and realm into the profile field, then get some interesting information about the character and progress. Some people play on EU realms, other on RU. The complete drop-down realms list is huge for the user.
Finally, I’m so sorry for bothering developers with my newbie issues. Have fun

If you told that in your post and asked for help before immediately attacking Blizzard devs with disrespectful words I would make sure to help you with anything like I did before on so many other topics.

You could have just asked: "How can I deal with user input for realm names ? " for example, instead of assuming the API was the problem and devs were failing at their jobs.

That said if you still need help, I’m here to help you, as long as you don’t go all negative on the API before you understand how it is meant to be used.

You can use an autocomplete feature instead of a dropdown list for that.