/universe/names vs /universe/ids inconsistent characterid
Inconsistency
/universe/names sometimes does not properly resolve character id's that are returned from /universe/ids
Routes
curl -X POST "https://esi.evetech.net/latest/universe/ids/?datasource=tranquility&language=en" -H "accept: application/json" -H "Accept-Language: en" -H "Content-Type: application/json" -H "Cache-Control: no-cache" -d "[ \"Aiko Danuja\"]"
returns
{ "characters": [ { "id": 2114209292, "name": "Aiko Danuja" } ] }
while
curl -X POST "https://esi.evetech.net/latest/universe/names/?datasource=tranquility" -H "accept: application/json" -H "Content-Type: application/json" -H "Cache-Control: no-cache" -d "[2114209292]"
returns
{ "error": "Ensure all IDs are valid before resolving." }
Resolution
I would assume this to be related to some logic that validates the ids submitted that needs to be reviewed and updated to properly include all character_id integer segments.
Checklist
Check all boxes that apply to this issue:
- [x] Inconsistency description is provided
- [x] Inconsistent route(s) are provided
- [ ] Resolution will require a version bump
- [x] Resolution does not require a version bump
Was this character a new character? I would assume it's the search cache not being fully up to date.
It's working now so I would assume it was a new character.
There is a character provided in the example, it is from 2018. So clearly not.
In which case it's a intermittent fault, which is the norm with most of the esi and especially the id endpoints
/universe/names is a critical endpoint for processing large numbers of character/corporation/alliance names. If it can't be relied on to not 404 when given a valid ID, it'd be nice to at least get some feedback on which ID is invalid.
The alternatives are to hit the /characters/{character_id}/ endpoint hundreds or even thousands of times, or do a mock binary search to single out the ID that's failing to parse, which generates a bunch of errors in the process. Both of these I'd imagine put a significant amount of strain on ESI.