DCSA Reference Documentation / Standards / Standard Releases / Port Call / Port Call v2.0.0
DCSA Interface Standard for Port Call 2.0.0 - Conformance Scenarios
Contents
1. What is Conformance?
Conformance refers to the validation process used to assess whether an adopter’s implementation of the DCSA Port Call API adheres to the expected technical and business requirements defined by DCSA.
The objective is to ensure interoperability between event publishers and event subscribers by demonstrating that Port Call events are exchanged using the correct format and content through the GET and/or POST standard endpoints.
2. Conformance Scenarios
GET scenarios
These scenarios measure the conformance of event producers who implement the GET endpoint and send out events in response to GET requests from event consumers.
-
Supply parameters (timestamp) + GET event
-
Supply parameters (move forecasts) + GET event
The “supply parameters” conformance action prompts the user to enter a JSON representation of the query parameters filter that, when used by the sandbox in a GET request, would fetch from their system at least one event matching the scenario type (containing either a timestamp or move forecasts).
POST scenarios
These scenarios measure the conformance of event producers who send out events to the POST endpoints of registered event consumers.
-
POST event (timestamp)
-
POST event (move forecasts)
The “POST event” conformance action prompts the user to have their system POST a message containing at least one event matching the scenario type (containing either a timestamp or move forecasts).
3. Conformance Validations
Default validations (URL, response code, schema) are included.
Custom validations must be identical for the GET and the POST scenario of same type (timestamp vs. move forecasts).
Conformance reports contain the text of each relevant custom validation below (without sub-check lines), either with a ✅ or with a 🚫 depending on whether the validation succeeded or failed.
Custom validation: “At least one event must be included in a message sent to the sandbox during conformance testing”
Custom validations for a timestamp scenario:
-
“At least one event must demonstrate the correct use of the ‘timestamp/classifierCode’ attribute”
-
“At least one event must demonstrate the correct use of the ‘timestamp/serviceDateTime’ attribute”
Custom validations for a move forecasts scenario:
-
“At least one event must demonstrate the correct use within the ‘moveForecasts’ object of at least one of the ‘restowUnits’, ‘loadUnits’ or ‘dischargeUnits’ sub-objects.”
-
For each “base object path”
-
…within this list:
-
‘moveForecasts/loadUnits’
-
‘moveForecasts/dischargeUnits’
-
-
…present within any event, add the custom validation:
- “At least one event including the ‘<base object path>’ object must demonstrate the correct use within it of the ‘totalUnits’ sub-object or of at least one of the ‘ladenUnits’, ‘emptyUnits’, ‘pluggedReeferUnits’ or ‘outOfGaugeUnits’ sub-object”
-
-
For each “base object path”
-
…within this list:
-
‘moveForecasts/restowUnits’
-
‘moveForecasts/loadUnits/totalUnits’
-
‘moveForecasts/loadUnits/ladenUnits’
-
‘moveForecasts/loadUnits/emptyUnits’
-
‘moveForecasts/loadUnits/pluggedReeferUnits’
-
‘moveForecasts/loadUnits/outOfGaugeUnits’
-
‘moveForecasts/dischargeUnits/totalUnits’
-
‘moveForecasts/dischargeUnits/ladenUnits’
-
‘moveForecasts/dischargeUnits/emptyUnits’
-
‘moveForecasts/dischargeUnits/pluggedReeferUnits’
-
‘moveForecasts/dischargeUnits/outOfGaugeUnits’
-
-
…present within any event, add the custom validation:
- “At least one event including the ‘<base object path>’ object must demonstrate the correct use within it of the ‘totalUnits’ attribute or of at least one of the ‘size20Units’, ‘size40Units’ or ‘size45Units’ attribute”
-