3.6 KiB
EDDN ApproachSettlement Schema
Introduction
Here we document how to take data from an ED ApproachSettlement
Journal
Event 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 primary data source for this schema is the ED Journal event
ApproachSettlement
.
MarketID
Whilst the MarketID
property is not in the required list YOU MUST
ABSOLUTELY SEND THIS WHEN IT IS PRESENT IN THE SOURCE DATA.
The only reason it is optional is that there are ApproachSettlement
Journal events for things like visitor beacons that do not have a market, and
thus no MarketID.
Examples:
{
"timestamp":"2022-02-18T14:33:35Z",
"event":"ApproachSettlement",
"Name":"Battlegroup's Disappearance",
"SystemAddress":1109989017963,
"BodyID":8,
"BodyName":"Alioth 1 a",
"Latitude":59.972752,
"Longitude":-84.506294
},
{
"timestamp": "2022-02-18T15:02:04Z",
"event": "ApproachSettlement",
"Name": "$Ancient:#index=1;",
"Name_Localised": "Ancient Ruins (1)",
"SystemAddress": 3515254557027,
"BodyID": 13,
"BodyName": "Synuefe XR-H d11-102 1 b",
"Latitude": -46.576923,
"Longitude": 133.985107
},
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
StarSystem
You MUST add a StarSystem key/value pair representing the name of the system this event occurred in. Source this from either Location, FSDJump or CarrierJump as appropriate.
You MUST apply a location cross-check, as per Other data augmentations.
StarPos
You MUST add a StarPos
array containing the system co-ordinates from the
last FSDJump
, CarrierJump
, or Location
event.
You MUST apply a location cross-check, as per Other data augmentations.