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.
12Next page
 

A simple listof API improvements/fixes

First post
Author
Captain Thunk
Explode. Now. Please.
Alliance. Now. Please.
#1 - 2014-01-24 15:43:50 UTC
I was asked by FoxFour to produce this, so:
A simple list, albeit with explanation as to why, of API improvements/additions/fixes.

1. New Character/Alliance/Corporation/Faction Endpoint.
This is already in the works, it was suggested to FoxFour and he agreed it made sense and had a prototype running pretty much the next day. I'll go over it again anyway.

The problem is, sometimes developers have a name and nothing else. To resolve it into more meaningful information, you have to call the public characterInfo sheet. This in principle is fine, however, there are situations now where you have several hundred or even thousand names you want to resolve. Calling them all is bad for developers, bad for users who have to wait and bad for CCP who feel unhappy that their beautiful systems are being challenged in unhealthy ways.

FoxFour has created an endpoint that allows developers to call multiple characterIDs at the same time and produce a list with rows detailing corporation, alliance and faction. He is definately a fuzzy and cuddly guy. I took the liberty of writing a wiki entry based on info he's given prior to it's release. You can read/fix it here.

As an example of an application that uses characterInfo this way, here's a local scanner. There is at least 3 public apps that perform this function. They take the list of names from local and gather the information on each to produce meaninful breakdowns of the composition of local. To do this required 3823 characterInfo requests after resolving all of the names into IDs. Resolving the IDs can be done efficiently and in batch by using the CharacterID call.

2. More Detail For FacWarTopStats page.
The detail given in FacWarTopStats is limited upto the point where it's kind of pointless. To use the sheet and give the user meaningful data, you need details like corporation and alliance where applicable. Without it you have to make calls to characterInfo (although the above fix mitigates this greatly). Generally for a simple stats page though, it'd be better if the info came with the stats page and didn't require further API calls just to make it useful.

I don't think anyone uses this page at the moment as it requires too much extra to make meaningful information during which the user has to wait.

3. Omission of I-Hub and Station reinforced notifications.
I can't say whether this is due to an oversight or technical constraints that I wouldn't understand, I hope it's the former. With the notification data both ingame and via API we can get wonderful little timers telling us when our PoCos are reinforced and when they come out. This enables us to automate defensive OP Timers for them. Strangely the same notifications do not exist for stations or i-hubs. While powerful alliances such as Pandemic Legion, able to project their will anywhere in the spacegame universe, have little need for such defensive timers. Smaller, weaker, more feeble alliances, those such as Goonswarm Federation, Those Russian Alliances, Against All Authorities and Black Legion, who all operate on the opposite side of the universe to where PL happens to be, suffer greatly from not having automated timers. Only last weekend, -A- were completely oblivious to one of their systems and station entering final timers. The result was a hastily cobbled together 9 full fleets of ill prepared and ill informed pilots jumping in late to the party.

I think we can all agree that notifications ingame that can be used by the API to generate forum timers and webpage timers would benefit everyone. Especially those little guys trying their best.

4. CharacterID and CharacterName type resolution.
FoxFour is a good ol' boy and is on the case. Basically we have various APIs that can resolve IDs into names, but it's unclear with characterID and characterName what type of ID has just been resolved. This is because the initial scope of the APIs expanded to include more than just characters. He has a new endpoint in testing which will be awesome and will tell developers what it is thats just been resolved. Awesome.

5. Outpost list when using Legacy Keys.
Probably redundant, but this never worked for me when using a Legacy type key. It always returned "General Error: Scotty the docking manager heard you were talking **** about him behind his back and refuses to service your request.".

If there were anymore I've forgotten about them.




CCP FoxFour
C C P
C C P Alliance
#2 - 2014-01-24 15:53:59 UTC
1 is done locally
4 is done locally
2 I will have to look into
3 is a bigger design question but I will raise it with the design group
5 after a very quick and not very educated look at the code it looks like that definitely shouldn't work and I don't know about effort to reward for making it work. Why the hell you still using a legacy key?

@CCP_FoxFour // Technical Designer // Team Tech Co

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

Cyerus
University of Caille
Gallente Federation
#3 - 2014-01-24 15:54:28 UTC
6. This idea is for the sake of reducing API errors. The Char/FacWarStats page returns error 124 when a character is not part of FW. From what I understand, this error is calculated towards the maximum amount of errors you can have before a 904, which doesn't help as there isn't any other reliable way of figuring out if a character is part of FW.

I suggest to either remove the error and send the "Character isn't part of FW" in another way, or stop counting this error towards the 904.
Captain Thunk
Explode. Now. Please.
Alliance. Now. Please.
#4 - 2014-01-24 15:57:16 UTC  |  Edited by: Captain Thunk
CCP FoxFour wrote:

5 after a very quick and not very educated look at the code it looks like that definitely shouldn't work and I don't know about effort to reward for making it work. Why the hell you still using a legacy key?


I don't, but when I did I noticed that it never returned the page.

To the best of my knowledge, I'm the only person who's noticed. I added it to the list because I was aware of it and would quite agree if you chose to ignore it unless given a compelling reason as to why effort should be put into it.
CCP FoxFour
C C P
C C P Alliance
#5 - 2014-01-24 16:01:36 UTC
Captain Thunk wrote:
CCP FoxFour wrote:
1 is done locally
5 after a very quick and not very educated look at the code it looks like that definitely shouldn't work and I don't know about effort to reward for making it work. Why the hell you still using a legacy key?


I don't, but when I did I noticed that it never returned the page.

To the best of my knowledge, I'm the only person who's noticed. I added it to the list because I was aware of it and would quite agree if you chose to ignore it unless given a compelling reason as to why effort should be put into it.


As I am a lazy ****, what is another page that works with the legacy key that should require the same roles as this? So I can better look at how much work might be needed.

@CCP_FoxFour // Technical Designer // Team Tech Co

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

Harvey James
The Sengoku Legacy
#6 - 2014-01-24 16:01:54 UTC  |  Edited by: Harvey James
i don't know if this is anything CCP can do about it but... with the old legacy API's .. the killboards used to list all kills of every member so you usually had a list of top 20 killers in the corp so in my old corp i got from the bottom too about 5th place something like 200 kills ... then it stopped which is a shame..

it also had other things like top solo killer etc.. it was like an monthly awards in about 6 or 7 things
now you get monthly ones at best and it kind of takes something away from the competitiveness ...

T3's need to be versatile so no rigs are necessary ... they should not have OP dps and tank

ABC's should be T2, remove drone assist, separate HAM's and Torps range, -3 HS for droneboats

Nerf web strength, Make the blaster Eagle worth using

Drailen
Doomheim
#7 - 2014-01-24 18:31:07 UTC
I'd really like to see the introduction of a BlueprintAssets API which will provide specific details for blueprints owned by a character or a corporation. Columns could be:

  • itemID - The unique ID corresponding to the itemID in the AssetList API call
  • typeID - The type ID of the blueprint
  • materialLevel - The ML of the blueprint
  • productivityLevel - The PL of the blueprint
  • runsRemaining - The number of runs remaining on the blueprint (set to -1 in the case of originals)

A location ID would be useful to have as well if that's at all feasible.

While we can do a copy/paste of personal and corporate blueprints from the Science and Industry UI when working with our blueprint data, this has some major limitations:

1. Blueprints in containers are not listed
2. Blueprints in different regions are not listed

Having all the blueprint information available via an API without having to travel through multiple regions and manually process a list would be a great help to industrialists from a production and logistics point of view.

This new API should have a new access mask so that producers within a corporation can see the blueprint details without requiring access to other details (e.g. the full asset list).
Marcel Devereux
Aideron Robotics
Aideron Robotics.
#8 - 2014-01-24 20:22:21 UTC
Could you please look into adding contested and planetary interaction values to: /map/FacWarSystems.xml.aspx

Currently their is only the contested attribute which is a boolean. I would like to see the following attributes added to each system:

  • contestedValue: integer, 0 = stable, 2625-3325 = vulnerable (depending on dust influence)
  • contestedPercentage: float, 0.0 = stable 1.0 = vulnerable
  • dustModifier (probably needs a better name): float, -0.125 - 0.125
Vogue
A Blessed Bean
Pandemic Horde
#9 - 2014-01-24 20:45:37 UTC
I have noticed that assets list xml is inconsistent in ending row itemID= row lines with /> or >. I don't know if this would upset programming wrapper functions that dump xml into some sort of array in one or a few lines of code. Myself I program in .NET C# and do manual string butchery to parse every line and every variable within a line.
Steve Ronuken
Fuzzwork Enterprises
Vote Steve Ronuken for CSM
#10 - 2014-01-24 20:58:19 UTC
Vogue wrote:
I have noticed that assets list xml is inconsistent in ending row itemID= row lines with /> or >. I don't know if this would upset programming wrapper functions that dump xml into some sort of array in one or a few lines of code. Myself I program in .NET C# and do manual string butchery to parse every line and every variable within a line.




It's following the XML standard.

The rows that end with /> are known as singleton rows. They don't contain anything.

Rows that end with > contain things, and are closed by < /row>


Any decent XML parsing code will handle this with no problem at all.

Woo! CSM XI!

Fuzzwork Enterprises

Twitter: @fuzzysteve on Twitter

Vogue
A Blessed Bean
Pandemic Horde
#11 - 2014-01-24 21:30:15 UTC
Just had a look at a fresh assets xml file and you are right. I probably got myself tied up by copy and pasting xml fragments from a web browser into a text editor.
Karbowiak
State War Academy
Caldari State
#12 - 2014-01-26 10:32:44 UTC
Harvey James wrote:
i don't know if this is anything CCP can do about it but... with the old legacy API's .. the killboards used to list all kills of every member so you usually had a list of top 20 killers in the corp so in my old corp i got from the bottom too about 5th place something like 200 kills ... then it stopped which is a shame..

it also had other things like top solo killer etc.. it was like an monthly awards in about 6 or 7 things
now you get monthly ones at best and it kind of takes something away from the competitiveness ...


Yes because CCP does work on EDK..

Go away
Risingson
#13 - 2014-01-26 22:28:25 UTC
i would love to see an api telling about current incursions + state info
Wollari
Dirt Nap Squad
#14 - 2014-01-28 01:01:48 UTC
Let me just get a quick list for stuff i've requests already couple years ago

allianceSheet
* doesn't exist currently,
* stuff like alliane description (without having the need to srape evegate)
* similar to corporationSheet

stationDetails
* we've a list of stations, but not details
* xyz coordinates or orbitID of the planet/moon
* station description

Characters
* birthdate is missing

FactionWarare
* like said percentage, etc

Incursions
* where are incursions present
* their state and effects

Wars
* list active wars between entities (maybe a full list?)
* filter by alliance/corp

Maps
* more public overlay stats like we can get on the ingame map like:
* players in space/docked
* cynogens/cynofields (all public ingame btw)
* the indizies

DOTLAN EveMaps | Your out-of-game map, navigation toolset, sov database, etc. since 2008

Medusa The Gorgon
Temple of the Serpent
The Gorgon Empire
#15 - 2014-01-30 20:06:34 UTC  |  Edited by: Medusa The Gorgon
Why no one asks about wrong sigleton flag for blueprints bpo's in containers for killmail APIs? It drives me mad Oops
Abdiel Kavash
Deep Core Mining Inc.
Caldari State
#16 - 2014-01-31 04:37:10 UTC  |  Edited by: Abdiel Kavash
I would like to be able to get a total amount of a character's Skill Points as a single value somewhere. Currently the only way to do this is to pull the entire skill sheet and add them up. This is unnecessary computing time and data bandwidth for something simple that just needs the SP number - think the EVEmon starting screen.

Second, and I realize that this might be tougher to implement, I would absolutely love to be able to get the contents of a courier contract that I issued. As a trader I have a stock of items at the station I'm trading at, and most of the time some items being moved there via courier contracts. I can easily take inventory of items in station and in market orders, but after dispatching a courier contract there is no way (besides manually writing it down) to know what items are currently in transit. Without knowing this I can't accurately decide which items I'm running out of and need to buy more.

[edit] 3rd one: Information about what upgrades are installed in a system's I-hub, and upgrades installed in an outpost. (Obviously only available if you're in the owning corporation and have the required roles.)
Skutter Midumulf
Proioxis Assault Force
Rogue Caldari Union
#17 - 2014-01-31 16:04:58 UTC
Ship CREST please? (https://wiki.eveonline.com/en/wiki/CREST_Documentation)
Kamylia
Kybernauts
Kybernauts Clade
#18 - 2014-02-03 12:53:00 UTC
I would like to query the data of

  • all jumps clones,
  • their position,
  • their implants and
  • when the next jump is available.
Kossaw
Body Count Inc.
Mercenary Coalition
#19 - 2014-02-04 04:55:34 UTC
I'd really like to see the IGB headers issue fixed.

This isnt a new problem and has been discussed many times before. Essentially the IGB headers return data about your client to the host web site in a header message. The client headers unfortunately use underscores, which is not permitted when the host web site is using Nginx or newer versions of Apache.

While this can ~sometimes~ be worked around by modifying settings on the web server. But if you are on a shared host using Nginx or Apache 2.4 and up then you're pretty much S O O L.

An excellent solution was proposed here ... https://forums.eveonline.com/default.aspx?g=posts&m=1906461#post1906461

WTB : An image in my signature

Golden Gnu
The Golden Gnu Corp
#20 - 2014-02-04 19:09:12 UTC  |  Edited by: Golden Gnu
I'll jump on this train!

ContractItems API
-rawQuantity is never included.
Please fix it, so we can figure out if the items are BPO or BPC.

-singleton column always return 0 (zero).
no matter the state prior to contracting the item.
for ex.: It's impossible to package a BPC, so they should never return singleton 0, but, they always do...

Extra Info:
It's the only API where you still can not figure out if it's a BPO or BPC.
Assets got rawQuantity (best update to the API ever - from my perspective), industry jobs got installedItemCopy, Market orders are always BPO.
Basically, we are so close now, it would just be epic to finish it Cool

-Golden Gnu of jEveAssets

Creator of jEveAssets - the asset manager

"Download is the meaning of life, upload is the meaning of intelligent life"

12Next page