Issue a) In the endpoint /Games/ByGameID developers, publishers and genres are returned as database ID numbers and not resolved to the correct string. Of course, this can be easily solved by calling the API. For example, calling /Genres to retrieve all the genres and then convert the genre database ID to the corresponding string. In my opinion, this is inefficient and consumes precious API calls. Of course the Developers, Publishers and Genres can be cached locally, but this increases the complexity of the front-end and creates problems, for example, how frequently the cache must be updated, etc.
Solution: Create new keywords in the /Games/ByGameID fields, for example developers_str, publishers _str and genres_str, that return strings instead of database IDs. An example in JSON:
Code: Select all
"games": [
{
"id": 1,
"game_title": "Halo: Combat Evolved",
"release_date": "2001-11-15",
"developers": [1389],
"genres": [8],
"publishers": [1],
"developers_str": ["Bungie"],
"publishers_str": ["Microsoft"],
"genres_str": ["First person shooter"],
}
]
Issue b) The number of remaining API calls can be checked in every API call. In AEL I have implemented a functionality that allows users to check their remaining number of API calls. However, when the API number of calls is exhausted the server always returns status code "403 Forbidden" and the allowance_refresh_timer cannot be checked any more, and hence there is no way for the user to know how long he has to wait.
Would it be possible that when the API calls are exhausted the server returns a JSON like this??
Code: Select all
[
{
"code": 429,
"status": "Too many requests. API number of calls exceeded",
"remaining_monthly_allowance": 0,
"allowance_refresh_timer": 1234567,
"extra_allowance": 0
}
]
Issue d) I think many people have mentioned it in the forum, but 1500 API calls per month per IP is only useful to scrape really small collections. Would it be possible to increase it, for example, to 1000 calls per day?
Finally, kudos to TGDB developers/admins for maintaining such a superb site.