Third Party Developer Blog

Feb
8

Explore EVE's Data Using the ESI UI

Team Tech Co | 2018-02-08 13:34

Explore EVE's Data Using the ESI UI

This blog post is part of a series of blogs examining best practices for ESI development. Each blog will be published on the 8th of each month during the journey towards XML API and CREST’s termination date. The legacy APIs will be terminated on May 8th, 2018.


Quick update on ESI

Before jumping into the meat of this blog, it's important to direct your attention to a new addition to the esi-issues Github repository. With help from our community, a document detailing what constitutes a breaking change (and therefore a version bump) has been written up. In previous blogs (found here and here) we have presented how versioning is done in ESI. However, we never had a solid set of rules stating what constitutes a version bump for a given route. Now all changes that do and do not constitute a version bump have been laid out and is consulted by ESI developers when deciding whether to bump a route's version. Thank you to all community members that helped shape this document and feel free to continue making pull requests if you believe something was missed or needs to be changed!


Exploring the ESI UI

With ESI's 149 routes, finding how to get information about simple things can be a bit of an overwhelming task. This blog will step you through a basic example to show you how to use the ESI UI to do some preliminary investigation of EVE's data before committing it to code.

Finding an enemies home base

Let's say you're flying through space and get destroyed by a gentleman named CCP Zoetrope. How would you find out more info about this character using ESI so that you can return the favor? The first step is to figure out their character ID so you can look up their public info using /v4/characters/{character_id}/. To figure out CCP Zoetrope's character ID you can feed their name into /v1/universe/ids/:

ESI Get character ID from name

click here to see full sized gif

Once we have their character ID (2112625428) we can figure out some details about them using the /v4/characters/{character_id}/ route:

Get character public info

click here to see full sized gif

We see that the ID of the corporation they are in is 109299958. Using the corporation ID, we can look up what station that corporation uses as its base using /v4/corporations/{corporation_id}/ and look for the home_station_id property. Next, we will find what system that station is in (because going directly to the station may be a death sentence) using /universe/stations/{station_id}/ and looking for the system_id property:

corporation info, station info

click here to see full sized gif

Now that we have the system_id, we can plug that into /ui/autopilot/waypoint/ after authenticating to automatically set a waypoint for our client to start flying to:

set waypoint to system

click here to see full sized gif

All of this was possible to test out using only the ESI UI which allows you to know this works and continue to the next step of automating this through code.

Conclusion

ESI's UI is a powerful tool to use for investigating what's possible using ESI before touching any code. Remember that if you only have a name to work with you can use /v1/universe/ids/ and if you only have an ID you can use /v2/universe/names/. As always you can chat with us and our helpful community on our #esi slack channel

o7

--Team Tech Co.

Appendix

The following routes have been added or updated in ESI since the previous blog:

New routes:

New versions of existing routes:

Get a sneak peek at what's coming to ESI by watching our deployment timeline.

Migrating from the XML API? Find equivalent ESI endpoints to the XML API.

Migrating from CREST? Find Equivalent ESI endpoints to CREST.

back