2.8 KiB
EDDN FCMaterials Schema
Introduction
This is the documentation for how to take data from an ED FCMaterials.json
file and properly structure it for sending to EDDN.
Please consult EDDN Schemas README for general documentation for a schema such as this.
If you find any discrepancies between what this document says and what is defined in the relevant Schema file, then you should, in the first instance, assume that it is the Schema file that is correct. PLEASE open an issue on GitHub to report any such anomalies you find so that we can check and resolve the discrepancy.
Senders
The data source for this schema is the file FCMaterials.json
. That it has
been freshly written is signalled by the ED Journal event FCMaterials
.
NB: This schema is not, currently, for sending CAPI /market
-sourced data
about these materials.
So, monitor the Journal as normal, and when you see a FCMaterials
event open
the FCMaterials.json
file for reading, read it, and close it again. Use the
data you got from reading this file, not merely the Journal event.
Your message
should primarily be the contents of this file, with the addition
of any augmentations, as noted below.
Augmentations
horizons and odyssey flags
Please read horizons and odyssey flags in the Developers' documentation.
gameversion
You MUST always add this field to the header object.
- If you are using Journal files directly then you MUST use the value
of the
gameversion
element from theFileheader
event. - If you are using the CAPI
/journal
endpoint to retrieve and process Journal events then:- You will not have
Fileheader
available. - If
gameversion
is present in theLoadGame
event, as in 4.0 clients, use its value. - If
LoadGame
does not have agameversion
element, as with 3.8 Horizons clients (up to at least3.8.0.407
), you MUST setgameversion
, but with the value"CAPI"
.
- You will not have
gamebuild
You MUST always add this field to the header object.
- If you are using Journal files directly then you MUST use the value
of the
build
value from theFileheader
event. - If you are using the CAPI
/journal
endpoint to retrieve and process Journal events then:- You will not have
Fileheader
available. - If
build
is present in theLoadGame
event, as in 4.0 clients, use its value. - If
LoadGame
does not have abuild
element, as with 3.8 Horizons clients (up to at least3.8.0.407
), you MUST setgamebuild
, but with the value"CAPI"
.
- You will not have
Listeners
The advice above for Senders, combined with the actual Schema file should provide all the information you need to process these events.