EVE API vs. Empyrean Age 1.1
We've added some new services to the EVE API in the Empyrean Age 1.1 patch as well as fixed a few bugs. The additions are part wishlist from the players and part what we think would be useful to enrich 3rd party tools further. Here's a rough overview of what we did:
- Clone info to the CharacterSheet.
- Roles and Titles on CharacterSheet.
- Title lists for corporations (/corp/Titles.xml.aspx).
- Roles and Titles of corporation members (/corp/MemberSecurity.xml.aspx, /corp/MemberSecurityLog.xml.aspx).
- Container log for corporations (/corp/ContainerLog.xml.asp).
- Standing lists (/char/Standings.xml.aspx, /corp/Standings.xml.aspx)
- EVE API corporation shareholder list - (/corp/Shareholders.xml.aspx)
- Added victoryPointsLastWeek and victoryPointsTotal to the factions rowset's columns attribute.
- The WalletJournal's argName should now be populated correctly for divedends.
- Added state, stateTimestamp and onlineTimestamp to StarbaseDetail.
- Reduced the caching time for starbase details from 6 hours to 1 hour.
- Minus (-) and periods (.) are now allowed in the names parameter on /eve/CharacterID.xml.aspx.
There are a couple of notable policy changes in the additions that we're trying out:
- You'll notice names of characters, corporations, etc. in the new Standings and Shareholders services which you can also, and have been looking up using the CharacterName service. The idea is to reduce requests to CharacterName because every request has an overhead on the server. The drawback is that each response from these services is slightly heavier and we're not utilizing the receiver's capability to cache names locally.
- In the new MemberSecurity service we don't use role masks to sum up IDs of roles but instead the response contains lists of role IDs. The method currently used to ID roles doesn't have the virtually endless characteristics of simply incrementing an integer by one and probably won't be around for all eternity (as Eve definitely will be) and this way the API will be ready for that change. The drawback is, as before, more data being sent from the API. But we feel that this is a more readable format, especially for newcomers, and it allows for simpler programming on your side.
We'd very much like to get your input on these ideas and then go one way or the other with the whole EVE API. We'll of course have to weigh in performance issues but the way your products are using the EVE API is important. Larger changes will however not take place until we get our API vs. Singularity test server up and running.