/ESISharp

A C# Library for interacting with the Eve Online ESI API.

Primary LanguageC#MIT LicenseMIT

ESISharp

C# Library for interacting with the Eve Online ESI API.

GitHub release

!!! Status !!!

I've won Eve and don't forsee changing that, so I don't plan on continuing development of this library.

The master branch is embarrassingly bad, so if you're going to base anything off of this, use the dev-restructure branch as that was a ground-up rewrite and worked much better (and actually had unit testing).

Thanks to everyone that was interested and helped with this. o7


To use, utilize the ESISharp namespace and create one of the following objects:

  • ESIEve.Public()
  • ESIEve.Authenticated( ClientID, SecretKey )
    • ClientID is required for authenticated access.
    • SecretKey is optional, but will grant you a Refresh Token for future access.

The Authenticated object has access to both Public and Authenticated paths.

Requests are made with a fluent builder pattern. Requests return the EsiResponse object.

Request examples:

  • ESIEve.Alliance.GetAll().Execute() - Request, returns EsiResponse
  • ESIEve.Alliance.GetAll().ExecuteAsync() - Request, returns Task<EsiResponse>
  • ESIEve.Alliance.GetAll().Route("v1").Execute() - Request a specific route/version
  • ESIEve.Alliance.GetAll().DataSource( DataSource.Singularity ).Execute() - Request a specific DataSource
  • Route and DataSource specifications can be use together and in any order.

EsiResponse object structure:

Parameter Name Parameter Type
Body String
Code System.Net.HttpStatusCode
Headers EsiResponseHeaders

EsiResponseHeaders object structure:

Parameter Name Parameter Type Description
ContentType String Response body format
Date DateTime Time the request was made
Expires DateTime Time the request data will be invalid
LastModified DateTime Time the request data was last modified by CCP
Warning String (Optional) Response warning message if one was returned

The refresh token can be retrieved using ESIEve.SSO.GetRefreshToken()
The refresh token can be set using ESIEve.SSO.SetRefreshToken( Token )

ESISharp includes an executable that catches the response from Eve SSO and routes it back to ESISharp.
It's filename, location, and operating protocol is fully configurable for your application.
You application will require permissions to write to the Registry to create the forwarding protocol for the AuthRouter.

By default, the router filename is EveSSOAuthRouter and must be located in the same directory as the ESISharp library.
The default protocol is eveauth-app and the default path is callback/. (Full callback url is eveauth-app://callback/)
To create or repair the required registry key, run ESIEve.SSO.VerifyCallbackProtocolRegistryKey()


Requires Json.NET


EVE Online © 2016 CCP hf.