Tuesday, January 2, 2018

Reference data synchronization moved to ESI

We've just released EveKit 4.1.0 which marks the complete migration of reference data synchronization over to the EVE Swagger Interface (ESI).  You can view this data interactively here or programmatically with the Swagger code generator of your choice.


Because of differences in the ESI, a number of changes have been made to the reference data we collect and version.  Specifically:
  • XML API calls, the XML API error list, and reference types have been removed.  The first two are no longer relevant.  Reference types are encoded directly as text in ESI calls (rather than numeric values as in the XML API).
  • All skill endpoints have been removed.  There was little value in versioning this data in the first place.
  • In general, ESI results do not provide "name" fields as a convenience as the XML API did.  Instead, callers are expected to perform their own name lookups for corporations, characters, etc.  Our reference data synchronization follows suit, all name fields have been removed.
  • Otherwise, any new fields provided by ESI have been included.
  • Server status is largely unchanged.
  • Alliance information is organized as an alliance list, member corporations, and icons.  Unlike the XML API, member corporation lists do not include the date the corporation joined the alliance.  Instead, callers are expected to use ESI corporation endpoints to retrieve this data.  This is actually a better design as it more accurately captures alliance history.  For example, the XML API could not capture cases such as corporations leaving and rejoining alliances multiple times (only the last start date would be shown).
  • Sovereignty information has been reorganized into four model objects: campaigns, campaign participants, system sovereignty (e.g. sovereignty map), and sovereignty status for structures.  This new organization replaces the sovereignty map and conquerable stations from the XML API.
  • Faction information is largely unchanged.  However, the ESI does not include an overall summary as the XML API included.  This can be computed, however, by summarizing statistics for each faction (which is provided).
  • Map jumps and kills are no longer captured with reference data synchronization.  This data proved too large to efficiently store with our synchronization mechanism.  Instead, we now capture this data using the same mechanism as used for market data.  Presently, we are only capturing this data.  We will release an endpoint for accessing this data in the near future.
Now that reference data synchronization has moved to the ESI, we will turn our attention to moving character and corporation data to the ESI.

0 comments:

Post a Comment