These forums have been archived and are now read-only.

The new forums are live and can be found at https://forums.eveonline.com/

EVE Technology Lab

 
  • Topic is locked indefinitely.
 

EVE API and Public CREST discussion

First post First post First post
Author
jaqwith
Tiefbauamt
#641 - 2014-11-05 17:42:03 UTC
Could anybody tell me whether the information from the star map about the systems I've visited can be queried in some way? I looked for it but couldn't find it. I would like to query a region and get a list of its systems, the number of times I visited them already and the date of the last visit.

Actually I would be happy already with the list of systems I've not visited before…Roll
Louis Vitton
Viziam
Amarr Empire
#642 - 2014-11-05 21:14:11 UTC
Currently cannot be queried with the existing xml api or crest endpoints.
Captain Thunk
Explode. Now. Please.
Alliance. Now. Please.
#643 - 2014-11-06 11:03:35 UTC
Not read all pages, so sorry if it's been mentioned.

CharacterSheet API only shows the first 5 implants (not the hardwirings) It's supposed to show all 10

I've confirmed this with raw API and a character that I know has hardwirings in.

Also, with Jumpclones. Apparently the jumpclone name is lost when you jump to it and you cannot get the current jumpclone name (presumably because it isn't stored and why it is lost). Would be nice if it was retained and recoverable from API
Salvoxia
Free Carpenters Union
#644 - 2014-11-06 16:27:08 UTC
Hi,

I've got a question regarding the market prices CREST endpoint.
There are some tradeable type IDs that don't have an averagrePrice (only the adjustedPrice) and some are missing completely.

Examples:
missing completely: typeID = 14409, typeName = Setele's Modified Dual 250mm Railgun
no averagePrice: typeID = 14854, typeName = Chelm's Modified Large Armor Repairer


Is this a bug or is there a reason for that behavior ?

Regards,
Salvoxia
Darius Caliente
The Pinecone Squad
United Federation of Conifers
#645 - 2014-11-09 19:22:23 UTC
Idea: Provide a method of accessing the API Access Log via the API.
Description: It would be nice to quickly see what/who is pulling data from your API. It's a good way to track without having to log into the website.
EVE-GAMES
EVE-GAMES.NET
#646 - 2014-11-13 12:17:01 UTC
Would be awesome to have a CREST PUT method to donate isk to a player. I think there was a IGB javascript method at one point, but due to various shenanigans...I believe it got shut down.

Maybe incorporating it with the SSO and adding an "allow isk donations from this app" scope, would fix some of the crap people were using it for previously. (by only allowing isk to go INTO a user account...and not out)

https://eve-games.net

Feyd Rautha Harkonnen
Doomheim
#647 - 2014-11-14 21:02:52 UTC  |  Edited by: Feyd Rautha Harkonnen
CCP FoxFour wrote:
Feyd Rautha Harkonnen wrote:
Is there a non web-based example of using the auth CREST API available, to see how the lifecycle would work for a thick client app?


Here is a Windows Phone 8.1 example: https://bitbucket.org/Fezzik/eve-sso/overview

Typo fixed...hope to have an iPhone sample to post soon.

F
Feyd Rautha Harkonnen
Doomheim
#648 - 2014-11-17 14:20:46 UTC  |  Edited by: Feyd Rautha Harkonnen
So a small eureka moment, being my first iPhone app...I think I successfully authenticated using SSO and did the account query.... (The code is admittedly complete shite so hesitant to upload it yet...)

Authentication Success: {
"access_token" = "uEdym..stuffs...Hog2";
"expires_in" = 300;
state = 7..stuff..6;
"token_type" = Bearer;
}
{ URL: https://sisilogin.testeveonline.com/oauth/verify } { status code: 200, headers {
"Cache-Control" = private;
"Content-Length" = 195;
"Content-Type" = "application/json; charset=utf-8";
Date = "Mon, 17 Nov 2014 18:08:03 GMT";
"X-Powered-By" = "ASP.NET";
} }
Data Result: {
CharacterID = 91..stuff..9;
CharacterName = "Feyd Rautha Harkonnen";
CharacterOwnerHash = "lN..stuff...Q=";
ExpiresOn = "2014-11-17T18:13:01.8154251Z";
Scopes = "";
TokenType = Character;
}

From what I see on the developer site the actual CREST API's under SSO aren't available yet?

In short, I now want to build an app that will completely refresh a users terrible contacts & watchlist with all active enemy war alliance/corp members, to be used by mercenary types.

So, I think the CREST API's (conceptual) I will need...

- Get a list of active wars for the logged in user (alliance, corp list)
- Get a list of all members of a given war target alliance/corp (will this have to come from EveWho instead?)
- Delete all existing terrible contacts & watchlisted users
- Add user(s) to watchlist with 'bad' standing
- Create contact 'label'
- Move users from bad standing to terrible standing with the label

*Need separate API's for adding to bad & moving to terrible, so that while looping through a single alliance/corp members, all can first be 'labelled' with the alliance/corp name, before moving to 'terrible' in groups.

Any advice / input appreciated.

F
Lai Rai
Perkone
Caldari State
#649 - 2014-11-27 03:13:07 UTC
Heya,

I saw the market/types endpoint on public-crest.eveonline.com and decided to try it. It seems to not work. My question is, is this the intended effect? Because the SISI version of it works.

Thank you.
CCP FoxFour
C C P
C C P Alliance
#650 - 2014-11-27 04:20:16 UTC
Lai Rai wrote:
Heya,

I saw the market/types endpoint on public-crest.eveonline.com and decided to try it. It seems to not work. My question is, is this the intended effect? Because the SISI version of it works.

Thank you.


It has not been exposed on TQ yet. That should happen with Rhea.

@CCP_FoxFour // Technical Designer // Team Tech Co

Third-party developer? Check out the official developers site for dev blogs, resources, and more.

Hawelt
Warpspeed Shipping Inc.
#651 - 2014-11-30 22:08:27 UTC  |  Edited by: Hawelt
This is what I get when querying the public crest root.

{"motd": {"dust": {"href": "http://newsfeed.eveonline.com/articles/71"}, "eve": {"href": "http://client.eveonline.com/motd/"}, "server": {"href": "http://client.eveonline.com/motd/"}}, "crestEndpoint": {"href": "http://public-crest.eveonline.com/"}, "corporationRoles": {"href": "http://public-crest.eveonline.com/corporations/roles/"}, "channels": {"href": "http://public-crest.eveonline.com/chat/channels/"}, "corporations": {"href": "http://public-crest.eveonline.com/corporations/"}, "alliances": {"href": "http://public-crest.eveonline.com/alliances/"}, "authEndpoint": {"href": "https://login-tq.eveonline.com/oauth/token/"}, "battleTheatres": {"href": "http://public-crest.eveonline.com/battles/theatres/"}, "marketPrices": {"href": "http://public-crest.eveonline.com/market/prices/"}, "itemTypes": {"href": "http://public-crest.eveonline.com/types/"}, "decode": {"href": "http://public-crest.eveonline.com/decode/"}, "bloodlines": {"href": "http://public-crest.eveonline.com/bloodlines/"}, "tournaments": {"href": "
http://public-crest.eveonline.com/tournaments/"}, "map": {"href": "http://public-crest.eveonline.com/map/"}, "virtualGoodStore": {"href": "https://vgs-tq.eveonline.com/"}, "serverVersion": "EVE-TRANQUILITY 8.49.848384.848384", "wars": {"href": "http://public-crest.eveonline.com/wars/"}, "incursions": {"href": "http://public-crest.eveonline.com/incursions/"}, "races": {"href": "http://public-crest.eveonline.com/races/"}, "serviceStatus": {"dust": "online", "eve": "online", "server": "online"}, "userCounts": {"dust": 3166, "dust_str": "3166", "eve": 37675, "eve_str": "37675"}, "industry": {"facilities": {"href": "http://public-crest.eveonline.com/industry/facilities/"}, "specialities": {"href": "http://public-crest.eveonline.com/industry/specialities/"}, "teamsInAuction": {"href": "http://public-crest.eveonline.com/industry/teams/auction/"}, "systems": {"href": "http://public-crest.eveonline.com/industry/systems/"}, "teams": {"href": "http://public-crest.eveonline.com/industry/teams/"}}, "clients": {"dust": {"
href": "http://public-crest.eveonline.com/roots/dust/"}, "eve": {"href": "http://public-crest.eveonline.com/roots/eve/"}}, "time": {"href": "http://public-crest.eveonline.com/time/"}, "marketTypes": {"href": "http://public-crest.eveonline.com/market/types/"}, "serverName": "TRANQUILITY"}


I'm missing the Market History Endpoint here.
As you're pushing for clients not to contruct URI's themselves it would be nice to have all of the exposed functionality being reachable from the root.
CCP FoxFour
C C P
C C P Alliance
#652 - 2014-11-30 22:33:10 UTC
Hawelt wrote:
This is what I get when querying the public crest root.

{"motd": {"dust": {"href": "http://newsfeed.eveonline.com/articles/71"}, "eve": {"href": "http://client.eveonline.com/motd/"}, "server": {"href": "http://client.eveonline.com/motd/"}}, "crestEndpoint": {"href": "http://public-crest.eveonline.com/"}, "corporationRoles": {"href": "http://public-crest.eveonline.com/corporations/roles/"}, "channels": {"href": "http://public-crest.eveonline.com/chat/channels/"}, "corporations": {"href": "http://public-crest.eveonline.com/corporations/"}, "alliances": {"href": "http://public-crest.eveonline.com/alliances/"}, "authEndpoint": {"href": "https://login-tq.eveonline.com/oauth/token/"}, "battleTheatres": {"href": "http://public-crest.eveonline.com/battles/theatres/"}, "marketPrices": {"href": "http://public-crest.eveonline.com/market/prices/"}, "itemTypes": {"href": "http://public-crest.eveonline.com/types/"}, "decode": {"href": "http://public-crest.eveonline.com/decode/"}, "bloodlines": {"href": "http://public-crest.eveonline.com/bloodlines/"}, "tournaments": {"href": "
http://public-crest.eveonline.com/tournaments/"}, "map": {"href": "http://public-crest.eveonline.com/map/"}, "virtualGoodStore": {"href": "https://vgs-tq.eveonline.com/"}, "serverVersion": "EVE-TRANQUILITY 8.49.848384.848384", "wars": {"href": "http://public-crest.eveonline.com/wars/"}, "incursions": {"href": "http://public-crest.eveonline.com/incursions/"}, "races": {"href": "http://public-crest.eveonline.com/races/"}, "serviceStatus": {"dust": "online", "eve": "online", "server": "online"}, "userCounts": {"dust": 3166, "dust_str": "3166", "eve": 37675, "eve_str": "37675"}, "industry": {"facilities": {"href": "http://public-crest.eveonline.com/industry/facilities/"}, "specialities": {"href": "http://public-crest.eveonline.com/industry/specialities/"}, "teamsInAuction": {"href": "http://public-crest.eveonline.com/industry/teams/auction/"}, "systems": {"href": "http://public-crest.eveonline.com/industry/systems/"}, "teams": {"href": "http://public-crest.eveonline.com/industry/teams/"}}, "clients": {"dust": {"
href": "http://public-crest.eveonline.com/roots/dust/"}, "eve": {"href": "http://public-crest.eveonline.com/roots/eve/"}}, "time": {"href": "http://public-crest.eveonline.com/time/"}, "marketTypes": {"href": "http://public-crest.eveonline.com/market/types/"}, "serverName": "TRANQUILITY"}


I'm missing the Market History Endpoint here.
As you're pushing for clients not to contruct URI's themselves it would be nice to have all of the exposed functionality being reachable from the root.


Yes, that should be the ONE resource that is not restful. It was one of the first I did and I didn't really do it right. :( Plan on fixing that soon.

@CCP_FoxFour // Technical Designer // Team Tech Co

Third-party developer? Check out the official developers site for dev blogs, resources, and more.

Hawelt
Warpspeed Shipping Inc.
#653 - 2014-12-01 01:17:50 UTC  |  Edited by: Hawelt
CCP FoxFour wrote:
Hawelt wrote:
This is what I get when querying the public crest root.

{"motd": {"dust": {"href": "http://newsfeed.eveonline.com/articles/71"}, "eve": {"href": "http://client.eveonline.com/motd/"}, "server": {"href": "http://client.eveonline.com/motd/"}}, "crestEndpoint": {"href": "http://public-crest.eveonline.com/"}, "corporationRoles": {"href": "http://public-crest.eveonline.com/corporations/roles/"}, "channels": {"href": "http://public-crest.eveonline.com/chat/channels/"}, "corporations": {"href": "http://public-crest.eveonline.com/corporations/"}, "alliances": {"href": "http://public-crest.eveonline.com/alliances/"}, "authEndpoint": {"href": "https://login-tq.eveonline.com/oauth/token/"}, "battleTheatres": {"href": "http://public-crest.eveonline.com/battles/theatres/"}, "marketPrices": {"href": "http://public-crest.eveonline.com/market/prices/"}, "itemTypes": {"href": "http://public-crest.eveonline.com/types/"}, "decode": {"href": "http://public-crest.eveonline.com/decode/"}, "bloodlines": {"href": "http://public-crest.eveonline.com/bloodlines/"}, "tournaments": {"href": "
http://public-crest.eveonline.com/tournaments/"}, "map": {"href": "http://public-crest.eveonline.com/map/"}, "virtualGoodStore": {"href": "https://vgs-tq.eveonline.com/"}, "serverVersion": "EVE-TRANQUILITY 8.49.848384.848384", "wars": {"href": "http://public-crest.eveonline.com/wars/"}, "incursions": {"href": "http://public-crest.eveonline.com/incursions/"}, "races": {"href": "http://public-crest.eveonline.com/races/"}, "serviceStatus": {"dust": "online", "eve": "online", "server": "online"}, "userCounts": {"dust": 3166, "dust_str": "3166", "eve": 37675, "eve_str": "37675"}, "industry": {"facilities": {"href": "http://public-crest.eveonline.com/industry/facilities/"}, "specialities": {"href": "http://public-crest.eveonline.com/industry/specialities/"}, "teamsInAuction": {"href": "http://public-crest.eveonline.com/industry/teams/auction/"}, "systems": {"href": "http://public-crest.eveonline.com/industry/systems/"}, "teams": {"href": "http://public-crest.eveonline.com/industry/teams/"}}, "clients": {"dust": {"
href": "http://public-crest.eveonline.com/roots/dust/"}, "eve": {"href": "http://public-crest.eveonline.com/roots/eve/"}}, "time": {"href": "http://public-crest.eveonline.com/time/"}, "marketTypes": {"href": "http://public-crest.eveonline.com/market/types/"}, "serverName": "TRANQUILITY"}


I'm missing the Market History Endpoint here.
As you're pushing for clients not to contruct URI's themselves it would be nice to have all of the exposed functionality being reachable from the root.


Yes, that should be the ONE resource that is not restful. It was one of the first I did and I didn't really do it right. :( Plan on fixing that soon.



That sounds promising. Especially if there will be a method for incremental updates of the Market History such as the history of all typeIDs (or a single typeID or (market)groupID) for a given regionID and day.
Querns
Science and Trade Institute
Caldari State
#654 - 2014-12-01 21:55:27 UTC  |  Edited by: Querns
Hey — I'd like to request additional information for the industry teams endpoint.

Teams retrieved from the http://public-crest.eveonline.com/industry/teams/auction/ endpoint have information regarding bids for the auction being held for teams. However, when a team exits auction and is chartered (and it moves to the http://public-crest.testeveonline.com/industry/teams/ endpoint,) bid information is no longer available. Could this information continue to be exposed for teams that are chartered? Without this information, it is impossible to see the amount of money it took to win a particular auction. Given that the endpoints are highly cached, using this information to gain an advantage during the critical moments prior to the end of an auction would be impossible.

If not, could I also ask why? I suspect there's either a technical limitation (e.g.: bid information is removed during the process of completing the auction to save system resources) or there's an information security risk being mitigated.


Nevermind! Teams are apparently getting shitcanned come New Years.

This post was crafted by the wormhole expert of the Goonswarm Economic Warfare Cabal, the foremost authority on Eve: Online economics and gameplay.

Sir Substance
Sebiestor Tribe
Minmatar Republic
#655 - 2014-12-10 04:31:03 UTC  |  Edited by: Sir Substance
Following up on this...

Quote:
So, public CREST. Let’s have a brief chat about it shall we? Right now it is available on both HTTP and HTTPS. I want to make this a formal notice that the HTTP, the non-SSL version, will be going away. Still figuring out the exact date for killing it off, but no sooner than March. If you have any objections to this idea please voice them now.


I don't have an objection, per se, but I do have a query.

Is there a good reason to force encrypting this traffic? The public crest API produces data that is...well...public.

HTTPS traffic is more computationally intensive, and it's also more annoying to program support for in some cases. That may have an impact in areas like mobile device battery life (think wearables), and it will certainly contribute to developer fatigue.

Since public crest is producing data that anyone can request at any time, why do we care about third parties intercepting it?

The beatings will continue until posting improves. -Magnus Cortex

Official Eve Online changelist: Togglable PvP. - Jordanna Bauer

Hel O'Ween
Men On A Mission
#656 - 2014-12-10 11:37:40 UTC
Sir Substance wrote:

I don't have an objection, per se, but I do have a query.

Is there a good reason to force encrypting this traffic? The public crest API produces data that is...well...public.


Counter query: in these days, after Snowden's revelations, is there any reason to NOT encrypt traffic?

EVEWalletAware - an offline wallet manager.

Sir Substance
Sebiestor Tribe
Minmatar Republic
#657 - 2014-12-11 08:02:41 UTC  |  Edited by: Sir Substance
Hel O'Ween wrote:
Sir Substance wrote:

I don't have an objection, per se, but I do have a query.

Is there a good reason to force encrypting this traffic? The public crest API produces data that is...well...public.


Counter query: in these days, after Snowden's revelations, is there any reason to NOT encrypt traffic?


Yes. I literally just gave you a set of downsides to encrypting it.

FoxFour would be able to give a canonical response to this, but have you considered that the crest rate limits might in part be based on the assumption that the server is going to have to expend extra CPU cycles encrypting and decrypting a firehose of requests, and that the overhead of that might be very large?

Quote:
Servers that are heavy on serving a fairly small set of static pages that can easily be cached in memory suffer from a much higher overhead (in one case, throughput was havled on an "intranet").


If the only point of encrypting crest is to crusade about the importance of encryption, then encrypting data that anyone can request at any time without authorization is giving totally the wrong impression.

The beatings will continue until posting improves. -Magnus Cortex

Official Eve Online changelist: Togglable PvP. - Jordanna Bauer

CCP FoxFour
C C P
C C P Alliance
#658 - 2014-12-11 09:29:18 UTC
Admittedly one of the main reasons we want to do this is because we have to maintain a separate configuration for both the HTTP and HTTPS version of the service. That sucks and we don't want to.

For your concerns of mobile power consumption: Once Authed CREST is out with actual private data, I hardly see people using Public CREST on mobile. They would be getting private data through Authed CREST. If you are getting private data from Authed CREST it's not worth the added complexity of getting data from both Authed and Public CREST. Add in some basic client side caching, and things should be fine on mobile. Public CREST will mainly be used by... well I am not entirely sure at this point now that Authed CREST is out with a much higher rate limit.

HTTPS shouldn't be any harder to work with these days. I don't know of any added complexity to working with it.

@CCP_FoxFour // Technical Designer // Team Tech Co

Third-party developer? Check out the official developers site for dev blogs, resources, and more.

Aineko Macx
#659 - 2014-12-11 11:44:03 UTC
Brian Paignton
Investment Grade Metals
#660 - 2014-12-11 13:05:17 UTC
Hi, I read this in the Rhea patch notes...

Quote:
Exposed the ItemCategories, ItemCategory, ItemGroups, ItemGroup, ItemTypes, and ItemType resources for inventory data. These resources are available in public CREST.


So I went to https://public-crest.eveonline.com/ which gave me a REST endpoint of https://public-crest.eveonline.com/types/ which can be called. So I tried to access this to get a list of all the items but got the following error...

Quote:
{
"message": "The route was not found",
"key": "routeMissing",
"exceptionType": "NotFoundError"
}


So I then tried going through the industry groups...

https://public-crest.eveonline.com/inventory/groups/28/

... which gave me an new end point of ...

https://public-crest.eveonline.com/types/648/

... but that also gave me the same error about a missing route.

Am I doing something wrong or is this data just not available yet?

I can lift all of this from the SDE but its way more convenient to get it from CREST if it is going to be available there.

Thanks.