Third Party Developer Blog

rss Viewing archived items for 2017

Dec
11

ESI Endpoint Versioning: Important Info and Best Practices

Team Tech Co | 2017-12-11 10:59
ESI Endpoint Versioning: Important Info and Best Practices This blog post is part of a series of blogs examining best practices for ESI development. Each blog will be published on the 8th of each month during the journey towards XML API and CREST’s termination date. The legacy APIs will be terminated on May 8th, 2018, or earlier if metrics signal a trivial level of usage. We'd like to start this blog with an important announcement that will affect a large swath of EVE third party developers On December 20th, 2017, the following dev routes will be promoted to latest: GET /v3/alliances/{alliance_id}/ GET /v2/alliances/names/ GET /v3/characters/{character_id}/assets/ GET /v3/characters/{character_id}/clones/ GET /v2/characters/{character_id}/online/ GET /v2/characters/{character_id}/roles/ ... read more
Nov
8

Simplify ESI Queries By Using /search/

Team Tech Co | 2017-11-08 00:00
This blog post is part of a series of blogs examining best practices for ESI development. Each blog will be published on the 8th of each month during the journey towards XML API and CREST’s termination date. The legacy APIs will be terminated on May 8th, 2018, or earlier if metrics signal a trivial level of usage. How would you find the type ID of a Rifter using ESI? It is easy for a new ESI developer to feel overwhelmed by this simple question. How should it be solved? It's likely that the solution an ESI novice would come up with would be to: Get all types using /universe/types/. Feed each type into /universe/type/{type_id}/ until you find what you are looking for. However, that would be ridiculous! ESI ... read more
Oct
19

Updates to the Developer License Agreement - 2017-10

Team Tech Co | 2017-10-19 14:50
Hello developers CCP is making a number of changes to the developer agreement. The primary purpose of these changes is to allow for persons other than the original developer to enter into the agreement and get access to the resources for EVE Online made available by CCP. An example of such a user might be someone that has downloaded an application written by someone else. As the author of the application can't include a client ID and secret in the application (as they become public), the user will need to provide their own. Since the end user is not the original author of the application, they were not allowed to sign the agreement. The full updated Developer License Agreement can be found here. If you just want to see the changes, they're detailed below. Additions are in bold, removed text is marked with ... read more
Oct
8

Mining Ledgers in ESI

Team Tech Co | 2017-10-08 00:00
This blog post is part of a series of blogs examining best practices for ESI development. Each blog will be published on the 8th of each month during the journey towards XML API and CREST’s termination date. The legacy APIs will be terminated on May 8th, 2018, or earlier if metrics signal a trivial level of usage. Moon mining is coming to EVE Online on October 24th in the Lifeblood expansion and, for the first time ever, new ESI endpoints will accompany this new feature's release! The new endpoints will be onlined a few hours after downtime on October 24th for Tranquility. We have already released revamped moon mining onto our test server, Singularity, along with the mining ledger ESI endpoints so that you can begin making software for this feature now. There are three new endpoints to accompany mining ledgers. ... read more
Oct
2

ESI Universe Names ID Range Update

Team Tech Co | 2017-10-02 14:52
Greetings developer capsuleers, Team Tech Co. previously blogged about a set of range checks that we placed on /universe/names/ and /characters/affiliation/ that made these ESI endpoints return blanket 404s for the range of IDs encompassing Dust characters and legacy EVE characters and corporations. As of today, with the enabling of error limiting, we have now removed these range checks. This means that any 404s you get from /universe/names/ and /characters/affiliation/ will be legitimate 404s. Remember that given a set of IDs if any of those IDs are not valid you will get a 404 even if some of the other IDs in the set are valid. As always, you can come talk to us in the tweetfleet slack (use this link to join) in the #esi channel if you have further questions. -Team Tech Co. read more
Sep
27

ESI Error Rate Limiting Goes Live On Monday

Team Tech Co | 2017-09-27 16:34
Hello space developers, As stated previously, error limiting in ESI has been imminent since August 29th. Starting after downtime on Monday, October 2nd, Team Tech Co. will officially turn on the ESI error limit functionality. If you're worried about invoking the wrath of the error limiter, you still have the weekend to check your application and clean up your code (you are backing off when you get errors, right?). The way to know if your software will be error limited after Monday is to look for the HTTP header X-Esi-Error-Limited in responses coming from ESI. There are two HTTP headers being returned from ESI that will help ensure your app never hits the error limit. These are X-Esi-Error-Limit-Remain and X-Esi-Error-Limit-Reset. X-Esi-Error-Limit-Remain will let you know how many more errors you can make within the window of time defined by X-Esi-Error-Limit-Reset, which ... read more
Sep
8

ESI, Concurrent Programming, and Pagination

CCP Zoetrope | 2017-09-08 14:42
This blog post is part of a series of blogs examining best practices for ESI development. Each blog will be published on the 8th of each month during the journey towards XML API and CREST’s termination date. The legacy APIs will be terminated on May 8th, 2018, or earlier if metrics signal a trivial level of usage. This blog will cover the concept of concurrent programming and how to use this model of programming to improve your software's performance while pulling data from ESI. If you are already familiar with the concept of concurrent programming here is a ESI pagination TLDR: Use the X-Pages header returned from paginated ESI endpoints to determine how many calls are needed to get all data from a given endpoint. Prerequisites This blog includes examples of Linux commands as well as Python code, therefore if ... read more
Aug
29

Error Rate Limiting Imminent

Team Tech Co | 2017-08-29 18:06
Space developers, We'd like to bring to your attention a feature coming to ESI very soon™ which may impact your application, depending on your use case. As you all know, ESI does not have any rate limits. This is great for pulling down large quantities of data over a short period of time, and is something that we work hard to ensure we can keep in place. Generally speaking, we're keen to support all use cases for ESI, so long as they do not impact its use for anyone else or the performance of the EVE cluster. In pursuit of this, we are soon going to add error limits. It's generally more expensive to complete a failed request than it is a successful one due to extra logging and/or exception capturing. Additionally, it's very common for us to see applications hit runaway ... read more
Aug
25

/universe/names Breaking Update

Team Tech Co | 2017-08-25 15:17
Hi all, As you know, the /universe/names/ endpoint was taken offline last week. This action was taken due to a new traffic profile to this endpoint that was causing disproportionate load on the database. It turns out this has been a lurking flaw in the endpoint since it was released, and it's just not been used this way until now. Tech Co is developing technology to help the EVE server defend itself better against unforeseen load issues like this without requiring rate limits, but that technology is at least 4 weeks away from being ready. We will be releasing a blog explaining how this system will work closer to the deployment date. Over the last week, we've been working the problem to find a way to bring this endpoint back earlier than that ... read more
Aug
22

ESI Outage: 2017-08-18

CCP Logibro | 2017-08-22 17:58
Hi all UPDATE: The issue with the locations and wallet endpoints has been resolved, and those endpoints are now online again. ESI had a general outage yesterday between 14:15UTC and 21:00UTC. The locations and wallet endpoints remain offline to triage the underlying issue, which has been identified but requires further investigation. They will remain offline over the weekend. The endpoint /universe/names has also been offlined due to to an unrelated issue. None of these endpoints are deprecated. All will be returning ASAP, once the issues have been resolved. As always, we are available to discuss the situtation in the #esi channel of the tweetfleet slack. More as it happens, Team Tech co. read more