Industry & 3rd Party Developers
Posted: Thu Jul 10, 2014 4:20 pm
http://community.eveonline.com/news/dev ... evelopers/
We have seen a bit of a rebirth in API development here at CCP, in no small part thanks to CCP FoxFour. This blog is going to do a wrap up of the changes we have made to our API endpoints and the static data export (SDE), with the assumption that you are already up to speed with the gameplay changes related to industry.
Static Data Export
We have rebuilt the static data export for Crius with the latest numbers ready for your consumption. You can download an early release version here:
http://cdn1.eveonline.com/data/Crius_1.0_beta3.zip
However keep in mind these numbers may change up until the release on the 22nd. We will do our best to keep the SDE updated and shared with everyone on the forums. The big changes to the SDE in Crius are that we have moved all of the blueprint-related data from BSD (Branched Static Data, stored in database tables) into what we call FSD (File Static Data, stored in plain text YAML files).
Removed table invBlueprintTypes
Removed table ramTypeRequirements
Removed table ramAssemblyLines
Added YAML file blueprints.yaml
Tables which are existing, have been modified and will still be relevant to industry are:
Column baseCostMultiplier added to ramAssemblyLineTypes
Column costMultiplier added to ramAssemblyLineTypeDetailPerCategory
Column costMultiplier added to ramAssemblyLineTypeDetailPerGroup
Despite assembly lines themselves being removed, we are still using the existing definitions of what bonuses apply for NPC stations, POS structures and outposts upgrades. Wherever there is a scenario that multiple assembly line types would apply to the same facility, we pick the best value for cost, material and time independently.
XML API
We are continuing to use the authenticated XML API to give access to secure data. We have added new endpoints and repurposed some existing ones.
Added /corp/Facilities.xml.aspx (cache: 1 hour)
Returns a list of all outpost and POS industrial facilities your corporation owns.
Added /corp/IndustryJobsHistory.xml.aspx (cache: 6 hours)
Returns a list of running and completed jobs for your corporation, up to 90 days or 10000 rows.
Added /char/IndustryJobsHistory.xml.aspx (cache: 6 hours)
Returns a list of running and completed jobs for your character, up to 90 days or 10000 rows.
Modified /corp/IndustryJobs.xml.aspx (cache: 15 minutes)
Returns a list of running jobs for your corporation, up to 90 days or 10000 rows.
Modified /char/IndustryJobs.xml.aspx (cache: 15 minutes)
Returns a list of running jobs for your character, up to 90 days or 10000 rows.
We have already covered this in more detail in the following blog:
http://community.eveonline.com/news/dev ... -industry/
CREST API
CREST is our new de-facto method of giving access to publicly accessible information. There are 6 new resources with industry related information.
/market/prices/ (cache: 23 hours)
vnd.ccp.eve.MarketTypePriceCollection-v1
Returns the list of trade-able types and their average market price, as shown in the inventory UI in the EVE client. Also includes an adjusted market price which is used in industry calculations.
/industry/facilities/ (cache: 1 hour)
vnd.ccp.eve.IndustryFacilityCollection-v1
This returns a list of all publicly accessible facilities, including player built outposts in nullsec.
/industry/systems/ (cache: 1 hour)
vnd.ccp.eve.IndustrySystemCollection-v1
Lists the cost index for installing industry jobs per type of activity. This does not include wormhole space.
/industry/specialities/ (cache: 1 hour)
vnd.ccp.eve.IndustrySpecialityCollection-v1
Lists all specialties that can be associated with teams and what groups those specialties modify.
/industry/teams/ (cache: 1 hour)
vnd.ccp.eve.IndustryTeamCollection-v1
Returns a list of all active teams, excluding the teams in auction. This does not include wormhole space.
/industry/teams/auction/ (cache: 1 hour)
vnd.ccp.eve.IndustryTeamCollection-v1
Returns a list of all the teams currently up for auction.
You can test these now on Singularity with the base URL http://public-crest-sisi.testeveonline.com/ and then when we go live on Tranquility on the 22nd July with http://public-crest.eveonline.com/
Industry Cost Calculations
Determining the install cost for a job is getting a little more complicated with Crius, so let us quickly go over what you will need to calculate it.
Fetch the base material quantities for manufacturing the item from your blueprint, from the blueprints.yaml file in the SDE. In the case of invention and reverse engineering jobs you should use the materials from the T2 or T3 blueprint instead.
Multiply each material quantity by the market adjustedPrice as returned from the /market/prices/ endpoint and sum them all together. This is called the base cost. For reverse engineering jobs with multiple possible outcomes calculate the baseCost for each then create an average.
The base cost is then modified based on the type of activity:
Manufacturing: baseCost x numberOfRuns
Research: Sum for each level[ baseCost x 0.02 x researchMultiplierForLevel (see table below) ]
Copying: baseCost x 0.02 x runsPerCopy x numberOfRuns
Invention + Reverse Engineering: baseCost x 0.02
Multiply the cost by the cost index returned in the /industry/systems/ resource, for the solar system you are installing the job in and the activity you are performing.
Multiply the cost by any facility bonuses as described in the ramAssemblyLineTypes table in the SDE
Add a 10% tax for NPC facilities, or the custom tax rate set for player outposts in nullsec
???
Profit!
Research Multipliers
Level
Multiplier
1
1
2
29 / 21.0
3
23 / 7.0
4
39 / 5.0
5
278 / 15.0
6
928 / 21.0
7
2200 / 21.0
8
5251 / 21.0
9
4163 / 7.0
10
29660 / 21.0
That's it for now, if you have any questions or want to share your creations head on over to the EVE Technology Forum or come and chat on Coldfront IRC in the #eve-dev channel.
Safe coding o7
@CCP_Nullarbor
New to EVE? Start your 14-day free trial today.
Returning pilot? Visit Account Management for the latest offers and promotions.
We have seen a bit of a rebirth in API development here at CCP, in no small part thanks to CCP FoxFour. This blog is going to do a wrap up of the changes we have made to our API endpoints and the static data export (SDE), with the assumption that you are already up to speed with the gameplay changes related to industry.
Static Data Export
We have rebuilt the static data export for Crius with the latest numbers ready for your consumption. You can download an early release version here:
http://cdn1.eveonline.com/data/Crius_1.0_beta3.zip
However keep in mind these numbers may change up until the release on the 22nd. We will do our best to keep the SDE updated and shared with everyone on the forums. The big changes to the SDE in Crius are that we have moved all of the blueprint-related data from BSD (Branched Static Data, stored in database tables) into what we call FSD (File Static Data, stored in plain text YAML files).
Removed table invBlueprintTypes
Removed table ramTypeRequirements
Removed table ramAssemblyLines
Added YAML file blueprints.yaml
Tables which are existing, have been modified and will still be relevant to industry are:
Column baseCostMultiplier added to ramAssemblyLineTypes
Column costMultiplier added to ramAssemblyLineTypeDetailPerCategory
Column costMultiplier added to ramAssemblyLineTypeDetailPerGroup
Despite assembly lines themselves being removed, we are still using the existing definitions of what bonuses apply for NPC stations, POS structures and outposts upgrades. Wherever there is a scenario that multiple assembly line types would apply to the same facility, we pick the best value for cost, material and time independently.
XML API
We are continuing to use the authenticated XML API to give access to secure data. We have added new endpoints and repurposed some existing ones.
Added /corp/Facilities.xml.aspx (cache: 1 hour)
Returns a list of all outpost and POS industrial facilities your corporation owns.
Added /corp/IndustryJobsHistory.xml.aspx (cache: 6 hours)
Returns a list of running and completed jobs for your corporation, up to 90 days or 10000 rows.
Added /char/IndustryJobsHistory.xml.aspx (cache: 6 hours)
Returns a list of running and completed jobs for your character, up to 90 days or 10000 rows.
Modified /corp/IndustryJobs.xml.aspx (cache: 15 minutes)
Returns a list of running jobs for your corporation, up to 90 days or 10000 rows.
Modified /char/IndustryJobs.xml.aspx (cache: 15 minutes)
Returns a list of running jobs for your character, up to 90 days or 10000 rows.
We have already covered this in more detail in the following blog:
http://community.eveonline.com/news/dev ... -industry/
CREST API
CREST is our new de-facto method of giving access to publicly accessible information. There are 6 new resources with industry related information.
/market/prices/ (cache: 23 hours)
vnd.ccp.eve.MarketTypePriceCollection-v1
Returns the list of trade-able types and their average market price, as shown in the inventory UI in the EVE client. Also includes an adjusted market price which is used in industry calculations.
/industry/facilities/ (cache: 1 hour)
vnd.ccp.eve.IndustryFacilityCollection-v1
This returns a list of all publicly accessible facilities, including player built outposts in nullsec.
/industry/systems/ (cache: 1 hour)
vnd.ccp.eve.IndustrySystemCollection-v1
Lists the cost index for installing industry jobs per type of activity. This does not include wormhole space.
/industry/specialities/ (cache: 1 hour)
vnd.ccp.eve.IndustrySpecialityCollection-v1
Lists all specialties that can be associated with teams and what groups those specialties modify.
/industry/teams/ (cache: 1 hour)
vnd.ccp.eve.IndustryTeamCollection-v1
Returns a list of all active teams, excluding the teams in auction. This does not include wormhole space.
/industry/teams/auction/ (cache: 1 hour)
vnd.ccp.eve.IndustryTeamCollection-v1
Returns a list of all the teams currently up for auction.
You can test these now on Singularity with the base URL http://public-crest-sisi.testeveonline.com/ and then when we go live on Tranquility on the 22nd July with http://public-crest.eveonline.com/
Industry Cost Calculations
Determining the install cost for a job is getting a little more complicated with Crius, so let us quickly go over what you will need to calculate it.
Fetch the base material quantities for manufacturing the item from your blueprint, from the blueprints.yaml file in the SDE. In the case of invention and reverse engineering jobs you should use the materials from the T2 or T3 blueprint instead.
Multiply each material quantity by the market adjustedPrice as returned from the /market/prices/ endpoint and sum them all together. This is called the base cost. For reverse engineering jobs with multiple possible outcomes calculate the baseCost for each then create an average.
The base cost is then modified based on the type of activity:
Manufacturing: baseCost x numberOfRuns
Research: Sum for each level[ baseCost x 0.02 x researchMultiplierForLevel (see table below) ]
Copying: baseCost x 0.02 x runsPerCopy x numberOfRuns
Invention + Reverse Engineering: baseCost x 0.02
Multiply the cost by the cost index returned in the /industry/systems/ resource, for the solar system you are installing the job in and the activity you are performing.
Multiply the cost by any facility bonuses as described in the ramAssemblyLineTypes table in the SDE
Add a 10% tax for NPC facilities, or the custom tax rate set for player outposts in nullsec
???
Profit!
Research Multipliers
Level
Multiplier
1
1
2
29 / 21.0
3
23 / 7.0
4
39 / 5.0
5
278 / 15.0
6
928 / 21.0
7
2200 / 21.0
8
5251 / 21.0
9
4163 / 7.0
10
29660 / 21.0
That's it for now, if you have any questions or want to share your creations head on over to the EVE Technology Forum or come and chat on Coldfront IRC in the #eve-dev channel.
Safe coding o7
@CCP_Nullarbor
New to EVE? Start your 14-day free trial today.
Returning pilot? Visit Account Management for the latest offers and promotions.