OMS Protobuf Type Reference
Serialisation and Deserialisation
Section titled “Serialisation and Deserialisation”Most API endpoints will support both JSON and binary Protobuf (application/x-protobuf) formats as appropriate.
Binary Serialisation
Section titled “Binary Serialisation”When an endpoint accepts or returns an array of Protobuf messages, this can be written with repeated WriteDelimitedTo, and read with repeated ParseDelimitedFrom.
:::
JSON Serialisation
Section titled “JSON Serialisation”In the case of JSON, the API accepts the standard Protobuf JSON formatting, with the following customisations on output for readability and compactness.
Enums:
Serialised as the name of the enumeration value. When specifying the X-OMS-Compact: true header, this will be a shortened value (eg: ORDERTYPE_LIMIT will become LIMIT)
Deserialising supports the numeric enumeration value, the full value name, and the shortened value name.
Serialised as a JSON number with as much precision as supported. If the number requires more precision than available, it will fallback to serialising the Protobuf object as normal.
Deserialising supports both a JSON number and JSON string, as well as the expanded Protobuf object.
Serialised as a JSON string containing an ISO-8601 date with time and timezone offset.
Deserialising supports both a JSON string, as well as the expanded Protobuf object.