open All Channels
seplocked EVE Technology Lab
blankseplocked Dominion 1.1 API Changes
 
This thread is older than 90 days and has been locked due to inactivity.


 
Pages: [1] 2

Author Topic

CCP Prism X


Gallente
C C P
C C P Alliance
Posted - 2010.01.21 15:24:00 - [1]
 

Edited by: CCP Prism X on 21/01/2010 15:34:17
Greetings pod-developers,

With the release of Dominion 1.1 we made changes to:
Character Wallet Journal Page:

  • Addition of a taxReceiverID element, denoting the ID of the corporation receiving the tax payment.

  • Addition of a taxAmount element, denoting the.. tax amount! Shocked



And we added:
Character Research Point Status:

  • Page location: /char/Research.xml.aspx

  • Requires a characterID along with the userID and apiKey.

  • Returned fields are:


    • agentID

    • skillTypeID (The skill used for the research, not the typeID of the core)

    • researchStartDate

    • pointsPerDay (Points generated per day)

    • remainderPoints (Points remaining since last datacore purchase)


  • currentPoints = remainderPoints + pointsPerDay*<Difference in days between now and startdate>



I'm not inherently familiar with the end-user view of the API so if I'm forgetting some basic information here just request it (within the realm of reason) and I'll update the post. Wink

That is all for now,
Fly safe, code safer.

Chribba
Otherworld Enterprises
Otherworld Empire
Posted - 2010.01.21 15:39:00 - [2]
 

yay!

sg3s
Caldari
Deep Core Mining Inc.
Posted - 2010.01.21 15:42:00 - [3]
 

second in my favorite devs thread <3

T'Amber
Garoun Investment Bank
Posted - 2010.01.21 15:44:00 - [4]
 

Originally by: chribba
yay!

Originally by: sg3s
second in my favorite devs thread <3, but I'll allow T'amber to take all the glory because I knew she was waiting to post


\o/

-T'amber

Vessper
Indicium Technologies
Hephaestus Forge Alliance
Posted - 2010.01.21 15:46:00 - [5]
 

Yay for new RP API!

On another note, it seems a lot of people have been having issues with passing a beforeRefID into the Wallet Journal API (e.g. here). Is this an issue you are aware of? If so, has this been fixed in Dominion 1.1 changes?

CCP Prism X


Gallente
C C P
C C P Alliance
Posted - 2010.01.21 15:59:00 - [6]
 

Originally by: Vessper
Yay for new RP API!

On another note, it seems a lot of people have been having issues with passing a beforeRefID into the Wallet Journal API (e.g. here). Is this an issue you are aware of? If so, has this been fixed in Dominion 1.1 changes?



We are now. Embarassed
Confirmed and defect created on myself.
Expect results soon... Wink

Hel O'Ween
Men On A Mission
EVE Trade Consortium
Posted - 2010.01.21 17:46:00 - [7]
 

Originally by: CCP Prism X
I'm not inherently familiar with the end-user view of the API so if I'm forgetting some basic information here just request it (within the realm of reason) and I'll update the post. Wink



Just to clarify: this tax is the corp's tax, applied to NPC bounties?

Altaree
The Graduates
Morsus Mihi
Posted - 2010.01.21 19:12:00 - [8]
 

Where on the eve wiki is this data stored?

Dragonaire
Caldari
Corax.
PURgE Alliance
Posted - 2010.01.22 07:42:00 - [9]
 

Edited by: Dragonaire on 22/01/2010 08:54:15
I've just been working with the new Research API and noticed the researchStartDate field is totally unlike any other date field in the APIs. Here an example
researchStartDate="10/19/2007 10:18:37 PM"
All the others use a 24 hour clock. Is it planned that way or is it a bug?

Your petition has been submitted, the petition tracking id is 1879397.
Wasn't sure which category to put it in but did do one while I was thinking about it Wink

CCP Prism X


Gallente
C C P
C C P Alliance
Posted - 2010.01.22 09:19:00 - [10]
 

Edited by: CCP Prism X on 22/01/2010 09:27:20
Originally by: Dragonaire
Edited by: Dragonaire on 22/01/2010 08:54:15
All the others use a 24 hour clock. Is it planned that way or is it a bug?


That's not intended at all. Confirmed, and defected.
Please close that petition, Customer Support does not handle bug reports. Wink
I'll also be removing the Full Api restriction on that methinks.

Hel O'Ween: Anything that corporate tax is applied to. Currently that is bounties, mission rewards and mission time bonuses.

Dragonaire
Caldari
Corax.
PURgE Alliance
Posted - 2010.01.22 09:42:00 - [11]
 

Looks like it was already deleted Wink and glad to hear it'll be changed.

Vinaeus Stromjor
Posted - 2010.01.22 13:35:00 - [12]
 

Originally by: Altaree
Where on the eve wiki is this data stored?


Best Eve API reference seems to be http://wiki.eve-id.net/APIv2_Page_Index. However, even that hasn't been updated with this latest change (I'll try to do it tonight if it hasn't been done by then).

- Vinaeus.

Decarus
Amarr
Apostlecorp inc.
Posted - 2010.01.22 14:17:00 - [13]
 

Edited by: Decarus on 22/01/2010 14:17:20
Blah, I need to learn to read.

CCP Prism X


Gallente
C C P
C C P Alliance
Posted - 2010.01.22 14:20:00 - [14]
 

Research page start date is now in 24H format like every other date element.
WalletJournal walker should no longer attempt to parse 64bit integers as 32bit integers.

Please continue reporting further anomalies here.

Percivs
Sebiestor Tribe
Posted - 2010.01.22 20:16:00 - [15]
 

Originally by: CCP Prism X
...
Please continue reporting further anomalies here.

Is it intended behavior for the remainderPoints to be a negative number?

<row agentID="3012845" skillTypeID="11529" researchStartDate="2009-10-21 04:23:15" pointsPerDay="86.4" remainderPoints="-7900.609078125" />

Ki Tarra
Ki Tech Industries
Posted - 2010.01.22 20:23:00 - [16]
 

Originally by: CCP Prism X
Character Research Point Status:
Best patch ever! ugh

Dragonaire
Caldari
Corax.
PURgE Alliance
Posted - 2010.01.22 21:17:00 - [17]
 

Percivs - From the formula CCP Prism X give in the first post I'd say it's should be negative to work right. It show you how many RP you've already used not how many you have available.
currentPoints = remainderPoints + pointsPerDay*<Difference in days between now and startdate>

It might have been better named IMHO but we do have all the information we need to find the number of RP a character has now which can be converted to datacore easily also. Now we just need a table of how many RP per type of datacore Wink I haven't look but there might be a way to find that out through the static data dump but if not it shouldn't be to hard to make one.

Percivs
Sebiestor Tribe
Posted - 2010.01.22 21:53:00 - [18]
 

Originally by: Dragonaire
Percivs - From the formula CCP Prism X give in the first post I'd say it's should be negative to work right. It show you how many RP you've already used not how many you have available.
currentPoints = remainderPoints + pointsPerDay*<Difference in days between now and startdate>

It might have been better named IMHO but we do have all the information we need to find the number of RP a character has now which can be converted to datacore easily also. Now we just need a table of how many RP per type of datacore Wink I haven't look but there might be a way to find that out through the static data dump but if not it shouldn't be to hard to make one.


Thanks for not saying "read the effin OP" Laughing

The number of RP per type of datacore is:

x3 for ship datacores
x2 for weapon datacores (high energy, laser, rocket, etc.)
x1 for all others

base is 50 RP for a datacore.

So Minmatar Sharship Engineering would be 150 RP for a datacore. I have a list somewhere, but I can't find it at the moment. This might be helpful (if slightly out of date):

http://eve.outieclub.com/

Dragonaire
Caldari
Corax.
PURgE Alliance
Posted - 2010.01.22 22:27:00 - [19]
 

For those interested I've updated Eve Dev with the information for the new Research API.

Catari Taga
Centre Of Attention
Middle of Nowhere
Posted - 2010.01.23 04:38:00 - [20]
 

Edited by: Catari Taga on 23/01/2010 07:50:41
Originally by: CCP Prism X

  • currentPoints = remainderPoints + pointsPerDay*<Difference in days between now and startdate>



Hmm, how does this account for changes in the RP you earn per day due to standings changes, skill changes or missions you complete for the agent?

I have not yet compared the result of this calculation to actual ingame RP totals but I currently fail to see how the result can be remotely accurate.

edit: can now confirm that RP/day on the API are identical to current ingame values and thus it is impossible to calculate current RP from the information given via the API. I suggest you provide either a totalPoints value via the API so that currentRP = totalPoints - remainderPoints or you just provide currentPoints directly (first alternative preferred).

PS: While you are at it, how about a loyalty points API?

Dragonaire
Caldari
Corax.
PURgE Alliance
Posted - 2010.01.23 08:44:00 - [21]
 

Edited by: Dragonaire on 23/01/2010 08:54:09
Catari Taga - Someone needs to do some testing but maybe that's how it's done in game as well. Need to check the RP on a character just before and right after say a skill change and see if the agent doesn't give you different amounts that would be the same as if you had had that skill level for the whole time. It could be it's only calculated at time you decided to buy the datacores with the current values of everything assumed to have been the same over the whole time and they don't track changes over time to figure it out. Doing it that way would be DB friendly but not what you how you would expect it to work Wink

CCP Prism X - Thanks on the quick fix for the dates but now I have another question as to why we really need to know remainderPoints to the nearest millionth of a point Wink I would say to the nearest hundredth would be enough really rightQuestion like with pointsPerDay or maybe they should be reversed so remainderPoints is a decimal with only a couple places and pointsPerDay has the precision since it's the one where it could end up throwing off the calculation for current points?

Also some comment about the above comment to Catari Taga to let us know if my guess is right would be nice too or if there is stuff we're missing here that would make Research API less useful then it should be.

Catari Taga
Centre Of Attention
Middle of Nowhere
Posted - 2010.01.23 10:45:00 - [22]
 

Originally by: Dragonaire
Catari Taga - Someone needs to do some testing but maybe that's how it's done in game as well. Need to check the RP on a character just before and right after say a skill change and see if the agent doesn't give you different amounts that would be the same as if you had had that skill level for the whole time. It could be it's only calculated at time you decided to buy the datacores with the current values of everything assumed to have been the same over the whole time and they don't track changes over time to figure it out. Doing it that way would be DB friendly but not what you how you would expect it to work Wink

I can tell you from experience that this is no what is happening. The RP/day displayed in game are always "current", i.e. calculated purely based on skills and standings regardless on when and at what level you started the research. Also I compared the currentRP calculated from the API with what I have in game and it is quite a way off (I have much more in game).

Hel O'Ween
Men On A Mission
EVE Trade Consortium
Posted - 2010.01.23 11:52:00 - [23]
 

Originally by: CCP Prism X

Hel O'Ween: Anything that corporate tax is applied to. Currently that is bounties, mission rewards and mission time bonuses.


Thanks for the clarification.

This is what I thought it is. However, I was unsure, because the taxReceiverID seems redundant to me, because - due to current game mechanics - this is always the corpID of the corp that char is currently a member of (=can be retrieved from char sheet). Am I overlooking something obvious?

Catari Taga
Centre Of Attention
Middle of Nowhere
Posted - 2010.01.23 12:30:00 - [24]
 

Edited by: Catari Taga on 23/01/2010 12:30:38
Originally by: Hel O'Ween
However, I was unsure, because the taxReceiverID seems redundant to me, because - due to current game mechanics - this is always the corpID of the corp that char is currently a member of (=can be retrieved from char sheet). Am I overlooking something obvious?

The characterSheet always only displays the current corp whereas via taxReceiverID you can also correctly identify which past corps may have received tax. Of course this could be more efficiently solved by making the employment history available via the API, something that has been requested anyway.

Dragonaire
Caldari
Corax.
PURgE Alliance
Posted - 2010.01.23 18:07:00 - [25]
 

Edited by: Dragonaire on 23/01/2010 19:35:22
Guess I need to do some research myself on how many RPs I have in game right now but I've had another thought about this Smile Is the pointsPerDay from the API the before or after skills and standings bonuses value? If it's the before that could account for the difference being seen.

Edit: Ok I've done some research now and other than some small differences that can be accounted for by pointsPerDay from the API being a rounded value it's working out right for my characters using this formula in MySQL:
SELECT `remainderPoints` + datediff( now( ) , `researchStartDate` ) * `pointsPerDay` FROM `charResearch`

Just for comparison here the in game data:
9169.93 66.64
9454.56 65.66
27336.48 68.48
11823.61 85.76

And what I get using above DB query:
9135.97321377316 66.64
9422.47621875 65.66
27347.2006159722 68.48
11780.91528125 85.76

All of them are within less then 1% which is the expected range since the pointsPerDay we have from API is either a rounded or truncated value.

Hel O'Ween
Men On A Mission
EVE Trade Consortium
Posted - 2010.01.24 01:29:00 - [26]
 

Originally by: Catari Taga
Of course this could be more efficiently solved by making the employment history available via the API, something that has been requested anyway.


... or by storing the current corpID, when downloading the journal.

Catari Taga
Centre Of Attention
Middle of Nowhere
Posted - 2010.01.24 09:05:00 - [27]
 

Originally by: Hel O'Ween
Originally by: Catari Taga
Of course this could be more efficiently solved by making the employment history available via the API, something that has been requested anyway.


... or by storing the current corpID, when downloading the journal.

One journal period might cover different corp memberships though.

Catari Taga
Centre Of Attention
Middle of Nowhere
Posted - 2010.01.25 20:18:00 - [28]
 

Edited by: Catari Taga on 25/01/2010 20:21:34
Originally by: Dragonaire
Edit: Ok I've done some research now and other than some small differences that can be accounted for by pointsPerDay from the API being a rounded value it's working out right for my characters

I've been watching it as well and apparently RP gained via missions is added as a positive value to remainderPoints so that is working out alright.

On the other hand I'm not sure that skill increases are covered by the data, they might be added the same way, data from one character which trained a skill during the reporting period might imply that, but on the other hand there are characters which have 0 remainderPoints even though they did train a skill since research started (however before the API was created which might play a role).

Official confirmation/clarification would be welcome.

CCP Prism X


Gallente
C C P
C C P Alliance
Posted - 2010.01.26 09:53:00 - [29]
 

Edited by: CCP Prism X on 26/01/2010 09:53:12
Sorry for the delay on this, there's a lot to do at CCP HQ these days. Wink

Is it intended behavior for the remainderPoints to be a negative number?
Yes. When you're buying cores all you're doing is subtracting their cost from the remainderPoints (rP) without updating your pointsPerDay (pPD).


Hmm, how does this account for changes in the RP you earn per day due to standings changes, skill changes or missions you complete for the agent?
Skillups do the exact opposite of the above. Calculates up the current points you've accrued, dumps them into rP and updates pPd to the new value and updates researchStartDate (rSD) to now.
Doing RP missions just pumps up your rP without touching your rSD/pPD.


PS: While you are at it, how about a loyalty points API?
Sounds like something that could happen.
Could signifying a possibility without any promises.


Why the accuracy?
Decision made before my time in the databse.. I can truncate the API value of course but I thought that would anger people more as precision is lost.


But there's a loss of accuracy anyways!
"SELECT `remainderPoints` + datediff( now( ) , `researchStartDate` ) * `pointsPerDay` FROM `charResearch`"

MySQLs datediff function returns a difference in days, so the return from that call is a highly innacurate floating point number. You'd be much better off if you could get the datediff in seconds and divide the product by 86400.

The difference between these two T-SQL statements is pretty stark using random data from TQ:
Quote:

pointsSeconds = rP+ (pPD/ 86400.0 * DATEDIFF(second, rS, GETUTCDATE()))
VS
pointsDays = rP+ (pPD/ * DATEDIFF(day, rS, GETUTCDATE()))


Second vs Day
499.662921875 vs 480.190921875001
437.563229629632 vs 431.040000000001
575.146733333326 vs 567.679999999991
328.443489583335 vs 357.993489583334

Hope that helps. Wink

Catari Taga
Centre Of Attention
Middle of Nowhere
Posted - 2010.01.26 13:05:00 - [30]
 

Originally by: CCP Prism X
Hmm, how does this account for changes in the RP you earn per day due to standings changes, skill changes or missions you complete for the agent?
Skillups do the exact opposite of the above. Calculates up the current points you've accrued, dumps them into rP and updates pPd to the new value and updates researchStartDate (rSD) to now.
Doing RP missions just pumps up your rP without touching your rSD/pPD.

Oh thanks a lot, that makes sense. I was not exposing rSD and thus had not noticed.

I also figured out the remaining discrepancy I had, I was doing this in php and had not explicitly cast pPd as a floating type number so php treated it as an Integer for some reason. With that fixed all the values seem to be exact. Guess I'm ready for public shaming on that one. Wink


Pages: [1] 2

This thread is older than 90 days and has been locked due to inactivity.


 


The new forums are live

Please adjust your bookmarks to https://forums.eveonline.com

These forums are archived and read-only