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.
 

Devsite blog: Introducing the ESI API

First post
Author
David Davaham
Deep Blue Logistics
#61 - 2017-01-11 20:42:41 UTC
Mr Twinkie wrote:
ESI super unreliable for anyone else? Have had to add catches that revert back to API for pretty much everything



ESI is actually quite stable. There are some end points that will respond with a 500 error, just wait half a second and then make the call again.

I did write loops into my script to reattempt the call if the HTTP Status Code is not 200. Generally the second call is successful and if not the second then the third. I have never had to go beyond the third call unless they took the endpoint down for maintenance, but then I just wrote a script that disables that call if it is down.

It is good practice to have a fall back in your code. ESI is still in development to a degree and is actively being worked on. What you have done should not be look at from the standpoint that ESI is unrealiable, from the viewpoint that it is forcing you to take the extra steps to ensure that your code is more reliable.

One should never rely on a single API if there are other options available. If able, code the fall back. All this does is make your application that much better.

Developer of EVEmail

Astrid Farnsworth
Broke and Famous
#62 - 2017-01-28 20:35:43 UTC
Will i still be able to use google sheets for following toons stats?

"Amateurs talk about tactics, but professionals study logistics." - Gen. Robert H. Barrow, USMC (Commandant of the Marine Corps) noted in 1980**strong text**

Io Koval
Reikoku
Plug N Play
#63 - 2017-02-05 20:32:26 UTC
So I made a separate thread without realizing this one existed: https://forums.eveonline.com/default.aspx?g=posts&t=509896&find=unread

TL;DR: ESI is incredibly unstable for me, I consistently get 502 (Bad Gateway) "Temporary Errors" and it usually takes on the order of a minute to get a call to go through successfully.

Another picture: http://imgur.com/a/7Hr31
David Davaham
Deep Blue Logistics
#64 - 2017-02-05 22:25:55 UTC
Io Koval wrote:
So I made a separate thread without realizing this one existed: https://forums.eveonline.com/default.aspx?g=posts&t=509896&find=unread

TL;DR: ESI is incredibly unstable for me, I consistently get 502 (Bad Gateway) "Temporary Errors" and it usually takes on the order of a minute to get a call to go through successfully.

Another picture: http://imgur.com/a/7Hr31


Fully aware of it man. ESI has been terribly slow all weekend long. CCP Snowdin has been working on. Strongly suggest you join the #esi channel on the Tweetfleet slack.

Developer of EVEmail

Fuwafuwa Neko
Doomheim
#65 - 2017-02-11 21:06:44 UTC
Hell,

So I'm trying to use this API. I have to say that it's beautiful and nice. But where can I find which type id is which item? Also where can I find let's say recipe info? Or skill infos? And the last one is the market prices endpoint: what does that average_price mean? is it the average of selling and buying prices of all region? Is the only way to get the current price is to get all orders then order them by price?

Thanks in advance.
David Davaham
Deep Blue Logistics
#66 - 2017-02-12 10:27:32 UTC  |  Edited by: David Davaham
Fuwafuwa Neko wrote:
Hell,

So I'm trying to use this API. I have to say that it's beautiful and nice. But where can I find which type id is which item? Also where can I find let's say recipe info? Or skill infos? And the last one is the market prices endpoint: what does that average_price mean? is it the average of selling and buying prices of all region? Is the only way to get the current price is to get all orders then order them by price?

Thanks in advance.



ESI is still being actively being developed and updated by the dev's daily. I suggest join the tweetfleet slack and subscibe to the ESI Channel. A lot of questions can be answered there.

As far as the questions you answered here, these are mainly my personal opinion

Q. Which Type ID is which item?
A. GET /universe/types/{type_id}/

Q. Also where can I find let's say recipe info? Or skill infos?
A. Not available via ESI right now. If you think it should be, please post an issue on GitHub at the link below. A lot of us keep a local copy of the SDE. At Least those of us who have project that reside on a server. I don't know if this is possible for you. But it make it a lot faster to retrieve static data such as those asked in this question.

Q. Market Prices
A. I apologize, I am unable to answer this question since my project does not interact with the market place endpoint

Like I recommended earlier in my post. Join Tweetfleet Slack.
- Info is in this forum I believe, but I know that Steve Roukin hosts the registration page
- Subscribe to the Github Issues page. Your inbox will get rapes every weekday with emails, but you will learn lots about what is going on with ESI and how to work best with.

GIthub: https://github.com/ccpgames/esi-issues/projects/1

Hope this information help.
Fly Safe o7

Developer of EVEmail

Jaseac
Ghost of Shadow Union
#67 - 2017-02-14 04:29:28 UTC
I have a plan in mind for a spreadsheet, but no idea how to make it work. And now their getting rid of xml api's so now I am waiting on more "How-TO" on this new api. Hopefully they can get it stable so we can play around with the new system.
Dominous Nolen
The Graduates
The Initiative.
#68 - 2017-03-07 21:24:52 UTC
Anyword if we will be seeing ship mass / ship type tracking make its way in the API stack for wormhole mapping purposes?

@dominousnolen

"Fly dangerously, Fly safe, Fly whatever, just keep Flying." - Lee Blackwood

Undefined Destiny
One Man Tax Evasion Holdings
#69 - 2017-03-08 14:09:03 UTC  |  Edited by: Undefined Destiny
Given the Calendar API end-points are cached server side, and return loads of duplicates for the same event (yes, it seems broken? https://github.com/ccpgames/esi-issues/issues/216) , can we please have more filtering parameters. I'm open to other ideas, but here is my use-case and problem with ESI currently:

At the moment to get the entries for your corp and alliance for a given time range (e.g. "my corp and alliance event for the last two weeks), one has to:


  1. Call "/characters/{character_id}/calendar/ "
  2. Get the earliest "event_id" from the JSON returned.
  3. Either (walk forward from a known event) or; Walk backwards one request every >5 seconds at the time calling "/characters/{character_id}/calendar/?from_event" for "event_id - (X * )" until you find something at or before your start date.
  4. terate over all responses calling "/characters/{character_id}/calendar/{event_id}/" for each (unique) event_id.
  5. Check the "owner_type" is "corporation" or "alliance"
  6. (Optional) sanity check the owner_id matches the expected corpID / allianceID.
  7. Repeat 4->6 walking forwards on "/characters/{character_id}/calendar/?from_event" for the latest event_id seen until you reach the 'end date' of the range you care about.


Can we please have options to:


  • Suppress duplicate event_id's from "/characters/{character_id}/calendar/"
  • An "EventScope" parameter which allows us to only pull down (Corp | Alliance | Character | All).
  • A "FromDate" (and ideally a "ToDate").
  • A "maxResults" and 'page' parameter allowing a decent number (e.g. 250) events. and iterating over more if the query results in more than maxResults hits.


EXAMPLE:

/v2/characters/{character_id}/calendar/?scopes=Corporation,Alliance&fromDate=2017-02-20&toDate=2017-03-05&maxResults=10&page=2&noDupliates=yes

Would get a only the calendar entries owned by the Corp or Alliance of the character (without duplicate event_ids), between the two dates given, returning entries 11-20 out of however many may have found.
David Davaham
Deep Blue Logistics
#70 - 2017-03-08 21:36:22 UTC
Please create an issue on GitHub. It is the only way for these request to be tracked and be considered. Posting the forums is essentially killing your request the moment you click submit on the post.

I would love to see these options added. I think it is great.

Developer of EVEmail

Donna Hale
State War Academy
Caldari State
#71 - 2017-03-12 00:57:19 UTC
Is it possible to get the list of my industry jobs?
CLOVNEA
Scrap Iron Flotilla
Electus Matari
#72 - 2017-03-19 08:08:31 UTC
Not sure this is the right thread. How is the adjusted and the average price calculated?
David Davaham
Deep Blue Logistics
#73 - 2017-03-19 18:02:45 UTC
Donna Hale wrote:
Is it possible to get the list of my industry jobs?


The issue was created back in December requesting this feature.

https://github.com/ccpgames/esi-issues/issues/165

Please references this issue for further information. In addition to that you can join Tweetfleet #esi room to ask additional questions.

Developer of EVEmail

David Davaham
Deep Blue Logistics
#74 - 2017-03-19 18:03:32 UTC
CLOVNEA wrote:
Not sure this is the right thread. How is the adjusted and the average price calculated?


Please join Tweetfleet Slack #esi an ask this question, or create a separate forum post.

Developer of EVEmail

Kelath Erebus
Federal Navy Academy
Gallente Federation
#75 - 2017-03-27 23:15:11 UTC
Hoping to get an actual dev to confirm this, because so far the only people who answer the question have been other players (unless another player has a link to a dev post that says as such)... When I tell others they seem clueless and ask for a dev post to backup the claims, which I haven't been able to find...

In the dev post back on 2016-11-08 (https://community.eveonline.com/news/dev-blogs/introducing-esi/) it says "Once we replicate all current CREST and XML API functionality in ESI, we will be shutting down both services." however people have been saying that player level data is going to be stripped out of the new API, which doesn't sound like all current functionality...

meaning...

No longer seeing what characters are linked to an account. (people use that for low hanging fruit security)
No longer knowing if someone is Omega or Alpha (people use that for skill calculations, low hanging fruit security, etc.)
No longer knowing when an account is going to expire (people use that for off-line subscription monitoring)
etc...

So can a dev to answer if these rumors are true because like I mentioned above, the last thing I've seen posted by the devs on this is "Once we replicate all current CREST and XML API functionality in ESI, we will be shutting down both services." and every time someone talks about it the devs seem to ignore it like they don't want to answer the question because of what that could mean to everyone.

Beyond that, ESI looks like an awesome API, looking forward to more end-points being added!

Thanks!
Cat Harkness
Twilight Labs
The Serenity Initiative
#76 - 2017-03-29 01:03:43 UTC
Kelath Erebus wrote:

No longer knowing if someone is Omega or Alpha (people use that for skill calculations, low hanging fruit security, etc.)

Is there a way to tell Alpha from Omega in the current API? I remember it being stated, that would not be info
you would be able to find out.

Quote:

No longer knowing when an account is going to expire (people use that for off-line subscription monitoring)
etc...

Accounts do not expire anymore, they just become Alpha..

Cat Harkness

CEO

Twilight Labs

David Davaham
Deep Blue Logistics
#77 - 2017-03-30 05:18:01 UTC
Kelath Erebus

The answer to you all of your points is no. Yes they will eventually turn off the Crest and XML API's and that will likely be when ESI has reach parity with them, BUT some things that WILL be different about ESI is that account t level data will just not be included in the ESI. This is CCP's domain and that is the judgement call they have made. So what are some methods of getting around this?

1. There no longer a way to detect how many characters are on an account. And unfortunately no work around d has been thought of nor will it be.

2. Skill calculation based on Account Type. Give the user the freedoms to flip flop between the two to see the affects on his skill queue. In addition, implants are not available Le either, so build a page where the user can input the implants that he currently fly has in.

3. As Car Hark was pointed out, there are no account expirations anymore. Just downgrades to Alpha status. So this point is no longer relevant.

You ask for links to all this information. My answer is a multi part

If you want to know this information like I do, monitor Reddit. That is prolly your best source of information.
Get on Slack and Join tweetfleet and then join the the rooms #devfleet & #esi
- The devs are here more than on the forums

Monitor twitter, YouTube, hit up a CSM, etc.

Fly safe and o7

Developer of EVEmail

ENFEMUS DEALER
Vibez Ltd
#78 - 2017-04-24 22:01:06 UTC
Hey everyone,

I am a programming student and I am about to graduate. I need to make some projects to build up a portfolio of work so I can apply to various tech companies.

There is something I have always wanted to build that is probably simply o most experienced developers. I want to make an app with the EVE API that will pull all the BPOs available and cross references them to what a corporation owns. That way they would know what to buy and stop buying duplicates.

I am new to API stuff and the best way to learn is to jump in with both feet. I have basic to intermediate experience with XML and JSON. Because the school I go to is funded by Microsoft we are taught C# and SQL alongside JAVA, javascript, HTML, XML, UML, CSS, JSON, AJAX.

But not PHP or Python... :-(

I guess I am asking my bigger bros of programming what would be the best way to go about this? Can I still build a decent app in C# using the API from EVE. I tried looking at the GitHub S.e.A.T. (Simple Eve Api Tool) GitHub API tool

But I do not understand it yet. Any help is much appreciated.

Enfemus Dealer
Zarek RedHill
State War Academy
Caldari State
#79 - 2017-05-30 19:47:00 UTC
hi friends. I am looking for an ESI alternative for the info available here:

https://api.eveonline.com/eve/SkillTree.xml.aspx

in other words - a global list of skills, unrelated to any characters. Is this info avaiable via ESI?

Thanks in advance,
-Z
Jaantrag
#80 - 2017-06-16 15:56:07 UTC
Cat Harkness wrote:


Accounts do not expire anymore, they just become Alpha..


Kelath Erebus´s point remains peapole will need a way to see the ACCOUNT status and when do the account´s omega subscription expires.

susgsestion to add it to launcher .. is ok .. but id prefer a straight forward way to get it from APi one account players might be meh about it, but haveing multiple accounts it is a life changer, if u wanna nerf something nerf rorqual, not the "new"api

EVElopedia < add this to your sig to show u WANT it back