RiotGames / developer-relations

Riot Games Developer Ecosystem Bug Reporting
http://developer.riotgames.com
746 stars 44 forks source link

[DOC] Missing PBE region #393

Closed simivar closed 4 years ago

simivar commented 4 years ago

Bug Description
When reading documentation about League of Legends API we can see a table "Platform Routing Values":

Platform Host
BR1 br1.api.riotgames.com
EUN1 eun1.api.riotgames.com
EUW1 euw1.api.riotgames.com
JP1 jp1.api.riotgames.com
KR kr.api.riotgames.com
LA1 la1.api.riotgames.com
LA2 la2.api.riotgames.com
NA1 na1.api.riotgames.com
OC1 oc1.api.riotgames.com
TR1 tr1.api.riotgames.com
RU ru.api.riotgames.com

Problem Description
When going into the documentation of Lol Status v3 API you can execute a request against PBE1 region which is missing from the documentation.

When going into documentation of Champion v3 API you can't execute a request against PBE1 region from the documentation page but it works through code.

Expected Result
The same regions documented in every part of docs.

Developer Impact
It is misleading as to what regions are available for APIs and it's hard to create a general library for connecting with API.

iann838 commented 4 years ago

Calling misleading might be exaggerated, all the api only executes against live servers, the LOL-STATUS-V3 is an only exception. For example it makes totally no sense to riot to save matches of pbe server so people can execute matches of pbe and imagine that patch never goes lives or makes huge changes, those matches means "nothing".

simivar commented 4 years ago

True, it makes sense that the matches on PBE are non-important, and doesn't make sense for Riot to save this data. But documenting this difference in some straightway (why PBE is not available for matches) would be great. As you can see right now I would have to guess and come to this conclusion myself or, as I did, create an issue.

As a developer using API I would say that an even more great solution would be unifying regions so PBE is a part of the documentation in Champion/Match (and any other) API but doesn't return any data or delete PBE from Lol Status API.

The fewer exceptions there are, the easier to use and understand is the API.

iann838 commented 4 years ago

unifying regions so PBE is a part of the documentation in Champion/Match (and any other) API but doesn't return any data.

What ? then what is the purpose of something returning nothing

delete PBE from Lol Status API.

Why do you want it to be deleted ?

Imo adding a PBE region to that list that you showed, I disagree with it, the only endpoint that is executing against pbe is status-v3, and the docs should be somehow global. An small description on the field is okay, but I don't think it is that important as people can just click the dropdown and see their options.

RiotTuxedo commented 4 years ago

There's a lot of discussion happening in here that's based on some assumptions, so I'm going to hop in before we start debating things that are non-issues.

  1. The same services that are available for the live regions are available for the PBE, however we don't expose these because of policy differences between live regions and the PBE. We don't want any products focused on data gathered from the PBE. The only use-case we'd like to support is the testing of products with game changes that are on the PBE but haven't yet made it to live. As an example, if match history changes on the PBE there isn't a great way for developers to ensure they're capturing these changes unless they test on the PBE. We specifically want to avoid products supporting profile lookups, match aggregation, champ rotation tools, etc on the PBE environment.

NOTE: We currently don't support PBE usage in any regard, but testing changes, that will eventually make it to live, is something we'd like to support in the future.

  1. The lol-status API is a bit of an outlier here, as previously mentioned. Unlike other game systems like match history, summoner, spectator, etc. The status of the PBE is something we don't mind functionality being built around.

As a summary...

  1. We don't support the PBE on most APIs because we don't want to see products built around the data gathered from these APIs.
  2. We support the PBE in the lol-status API because we don't mind products building features the data gathered from this API.
  3. Long term, we may support the PBE on more APIs as a means to allow developers to test their products against upcoming changes to the game.

As such, I'm going to close this issue out as working as intended. Let me know if there's any other questions.