API

From EVEDev
Jump to: navigation, search

Contents

Introduction

The EVE API is an initiative by CCP, to provide third party tools (applications, web sites, etc.) with a source of dynamic information about EVE characters and accounts for the purpose of enhancing the EVE experience. All non-public data is protected by an API key that is unique to your account.

If you find any bugs with the API, please use the bug reporting system to let us know. Discussion about the API, including comments and feature requests, can be made in the EVE Technology Lab section of the forums.

Although the term API is used it would more appropriately be labeled a very basic Web Service.


Source(s): EVE API solutions


General Info

The Eve API now provides a wealth of information available to 3rd party tools. A detailed listing of the "methods" available in this API are on the API Listing page. On that page you will find information on the scope of the method (character, corporation, or global), type of authentication required to use the method, and the type of cache implemented for the data returned by that method. You will find detailed information on each "method" including required arguments by clicking on the appropriate table cell. Most of the data returned by the API is in the form of a XML document.


In addition to the XML documents provided by the API which are relatively live data of the Eve game, there is also static data that generally does not change over time. Some of the XML documents may make references to this static data via item numbers for example. This static data is available as a database dump file. More information on this can be found on the CCP Static Data Dump page. In many cases a simple 3rd party tool will be need to make use of the database dump files.


Source(s): EVE API solutions


Authentication

Old Style Authentication

Data requiring authentication is retrieved by supplying certain arguments to the HTTP request as POST (preferred) or GET data. The request data/arguments required for authentication are userID and apiKey. The value of these arguments are supplied by the end-user. The end-user can retrieve his/her userID and apiKey by visiting http://myeve.eve-online.com/api/default.asp. If authentication was not successful you will receive an error message. The userID key value is unique and stays constant for a particular user account. The apiKey value is either Limited Access or Full Access and can change if the user generates a new key value at that same site. Some data requested through the API requires a Full Access API key.


Source(s): EVE API solutions


New Style (Customizable API Keys)

Similar to the old style, instead of userID and apiKey you will need to pass keyID and vCode. These values are supplied by the end user and are available using CCP's API support portal at http://support.eveonline.com/API/. Each key can have a specific set of permissions bound to it, allowing for more flexibility that wasn't available under the old scheme. To check which permissions a key has you will need to call the APIKeyInfo api endpoint, which will return a accessMask bitmask which indicates which API calls the key has access to. A list of the individual bit values can be found in the CallList api call.

GET values can also be used to communicate with the API if you do not have a method for using POST variables in your language.

Note: the API key is cached for a few minutes (typically 5). If the user changes their API key on the web site, the new one won't work until the old one expires from all of the web server caches.


Source(s): EVE API solutions


Create Pre-Defined keys

Creating keys with specific access

In order to make it easier for programs to instruct a user on how to create a key with the specific needs of the application, we've made a way for applications to send the user to the "Create Key" page with pre-defined data. The URL pattern is like this:

http://support.eveonline.com/api/Key/CreatePredefined/{accessMask}/{characterID}/{isCorporationKey(true/false)}

For character keys the characterID and isCorporationKey are optional but for corporation keys they are mandatory and the specified character must be a Director. Examples:

Character: http://support.eveonline.com/api/Key/CreatePredefined/9830414

Character: http://support.eveonline.com/api/Key/CreatePredefined/9830414/150145436

Character: http://support.eveonline.com/api/Key/CreatePredefined/9830414/150145436/false

Corporation: http://support.eveonline.com/api/Key/CreatePredefined/9830414/150145448/true


Source(s): EVE API solutions


Arguments

To retrieve some data you will need to provide additional arguments, such as a characterID. These arguments are supplied the same way as authentication, through an HTTP POST or GET method. If any arguments were invalid, an error is returned. A list of arguments required for a particular request can be found by viewing its page on the API List.


Source(s): EVE API solutions


Cache

To conserve resources on the API server much of the data available via the Eve API implements some form of cacheing. The type of cache used by an API "method" is listed on the API Listing page. The cache styles are described in more detail on the cache styles page.


Source(s): EVE API solutions


Errors

When requesting data through the API you will need to check if an error is returned. If the data you requested is an XML document then the possible errors returned is listed on the error list page which itself is available via the API.


Source(s): EVE API solutions


Implementations

See Main_Page for list of available applications that use API resources and libraries. Also see List of Libraries for an addition list of available API libraries. Also see List_of_tools a list of applications using that API


Source(s): EVE API solutions


Links

References

Retrieved from "?title=API&oldid=7057"
Personal tools