esi-issues icon indicating copy to clipboard operation
esi-issues copied to clipboard

/universe/names vs /universe/ids inconsistent characterid

Open Gadgetwhir opened this issue 1 year ago • 4 comments

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:

Gadgetwhir avatar Aug 29 '24 00:08 Gadgetwhir

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.

Dusty-Meg avatar Aug 29 '24 08:08 Dusty-Meg

There is a character provided in the example, it is from 2018. So clearly not.

soratidus999 avatar Aug 29 '24 11:08 soratidus999

In which case it's a intermittent fault, which is the norm with most of the esi and especially the id endpoints

Dusty-Meg avatar Aug 29 '24 14:08 Dusty-Meg

/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.

1adog1 avatar Mar 02 '25 21:03 1adog1