Citadel IDs in public market orders

Tinkering with ESI for the first time. When looking at a list of market orders I am seeing 64-bit integers for location which don’t exist in the SDE. I assume these are citadels.

Now, how do I get info on that citadel via a public call? Specifically name, solarSystemID.

Hi,

You are seeing ranged buy orders only. You will need to use the authed endpoints to get information from structures you can dock with.

Aside from an old CREST call for the citadel info, looks like auth is indeed the only way. Though I was fine with only ranged buy orders for now. Seems a bit of a hole that the order is available public but the citadel name and location isn’t…

So how does a background application obtain an auth these days? Looks like everything has gone SSO rather than app keys and secrets. Seems like a major step backwards for automation. Hopefully I’m just missing something obvious.

I use an alt account and generate a refresh/access token pair for it that is used persistently to get structure data. You will still need to setup the whole sso exchange, but once done, you can reuse it for a good while. Your other option is the offline sso workflow.

Thanks, I will look into that option. My experience with Pathfinder led me to believe that the access tokens wouldn’t remain valid long enough to be of use to a background service.

Access tokens remain viable for 20 minutes.

However, refresh tokens are valid forever (well, until they’re manually removed) and can be used to get access tokens.

https://github.com/fuzzysteve/FuzzMarket/blob/master/scripts/citadelgetter.py may be of some interest.

https://www.fuzzwork.co.uk/2017/03/14/using-esi-google-sheets/ may be of some interest on how to get tokens.

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.