The Scope Events message format is used to send status messages from Scope to third party applications (outbound) or to receive status messages from third party applications into Scope (inbound).
For more details see https://service.riege.com/en/knowledge/event-out-interface and https://service.riege.com/en/knowledge/event-in-interface.
An event message is generated
The interface does not support cancellation. You may interpret the receipt of an event with the same ID (see below) as an update. The interface does not support acknowledgment or receipt messages externally. Scope does not send binary attachments. Scope uses the uniqueShipmentIdentifier
ID type when referring to a shipment, or the customsReferenceNumber
ID type when referring to some kind of customs procedure; other references are optional. Status messages are not grouped or pooled in any way.
Third-party applications send event messages to Scope whence they should be processed.
Scope stores the event first.
In a following step the application tries to resolve the entity it refers to via the entityId
element.
If the entity is resolved, the corresponding tracking plan is updated to reflect the event. Binary attachments are stored. If the entity was resolved successfully, the attachment is visible as file in the entity’s documents tab.
Scope has to resolve the entity an incoming status message is referring to, within an environment. If the entity for an inbound status message cannot be resolved, the message will be rejected. If multiple candidate entities are resolved for one “identifier”, the latest one will be selected as target.
Example:
<eventMessage>
<event>
<refs>
<entityId idType="REF_TYPE_IDENTIFIER">REF_VALUE</entityId>
...
Depending upon different entity classes, different reference types might be possible. See below for details about different entity classes with the possible reference type identifiers and reference value descriptions.
Status messages may refer to shipments. A shipment may be realized via multiple different files in a Scope environment (e.g. an Export Shipment file at station x is an Import Shipment file at station y). Scope supports the following identifiers for processing inbound shipment-related status messages:
Identifier | Description |
---|---|
houseDocumentNumber |
The number of the House Waybill |
transportDocumentNumber |
The number of the Carrier Waybill. For a consolidation, the status message is processed on Master level. |
uniqueShipmentIdentifier |
The USI is the ID of a logical Scope shipment. |
Incoming events can only be processed on bookings if the booking is the result of a data import via the shipping order interface. Additionally, the EDI profile resolution from the event data in Scope is required to determine the same profile which got determined during the shipping order data import.
Reference to determine the booking needs to match one of the reference identifier and value from the shipping order.
Identifier | Description |
---|---|
shipmentEDIIdentifier |
the ID used in the shipping order to identify the booking |
Status messages may refer to customs order. Scope supports the following identifiers for processing inbound customs-order-related status messages:
Identifier | Description |
---|---|
originalMessageId |
Message ID of the outgoing Scope Customs Interface message |
customsOrderAgentRef |
Agents reference as entered in the created customs order |
shipmentNumber |
Shipment Number on which the customs order was created |
A Transport Order is a physical file in Scope. The following identifiers may be used to refer to a transport order:
Identifier | Description |
---|---|
transportOrderObjectIdentifier |
The technical ID of the transport order file. This is used as an identifier when submitting transport orders via EDI. |
transportOrderNumber |
The human-readable number identifying the transport order in the environment. |
A sea-freight container does not exist as a logical entity in Scope. Instead, each physical file holds its own copy. Scope will require an additional identifier to resolve the correct entity.
Identifier | Description |
---|---|
containerNumber |
Globally unique ID of the sea-freight container, without any spaces, e.g. “RIEZ6666660” |
A package is a physical file in Scope. The same package is referred to by export and import files. For packages the default conflict resolution (use the latest entity when multiple candidates exist) is disabled, because the risk of resolving the wrong entity is too high.
Identifier | Description |
---|---|
packageLabel |
Any of the labels captured in Scope |
For inbound messages, only scopeEventCode
may be used. The following event codes are supported by Scope. Providing an unknown event code in an event message to Scope will result into an error in Scope.
Attachments contain a <documentType>
Element. It denotes the type of document from a business perspective rather than a technical one. If not mutually agreed otherwise between parties exchanging the documents it is recommended to use UN/EDIFACT 1001 document name codes in format ‘unedifact-nn(n)’. See (https://service.unece.org/trade/untdid/d16a/tred/tred1001.htm) for reference.
UN/EDIFACT documents known by Scope 23.8ff:
Additional documentType
s known by Scope:
Deprecated (use unedifact-nnn instead):
The technical link will be established on a per-project basis. Riege Software provides different communication services. For this interface, we recommend a push-based protocol (both directions). When the technical link necessitates the use of files, Scope will produce file names according to the following format: “scope_event_” + timestamp + “_” + messageId + “.xml”.
Riege Software tries to keep schema changes backwards-compatible.
From version 2.0.0 on we are using semantic versioning, so each version consists of a MAJOR, MINOR and PATCH level.
This is done to keep the version of the library (and repository) in sync with the XML Schema.
Changes to the XSD will now require a new XML schema version and incrementing of the schemaVersion
attribute of the eventMessage
at the appropriate level:
MAJOR version when you make incompatible API changes
MINOR version when you add functionality in a backward compatible manner
PATCH version when you make backward compatible bug fixes
The XML namespace will not be changed, it will always be http://dtd.riege.com/scope/event.
XSD schema files of deprecated versions are available via http://dtd.riege.com/scope/events/scope_event-version
.xsd)