Skip to main content
Release: CX-Io (preview)

1. Relevant Parts of the Standard for Specific Use Cases

This section is normantive

1.1 "DIGITAL PRODUCT PASS USE CASE"

1.1.1 LIST OF STANDALONE STANDARDS

To participate in the digital product passport use case, the following single standards MUST be fulfilled by all participants for which the standard is relevant:

To participate in the digital product passport use case, the following single standards SHOULD be fulfilled by data consumers / applications providers for which the standard is relevant:

1.1.2 DATA REQUIRED

1.1.3 ADDITIONAL REQUIREMENTS

1.1.3.1 Onboarding and IAM

All participant mentioned under 1.1 MUST follow the CX Standards CX-0006, CX-0013, CX-0014 and CX-0015

1.1.3.2 Fetching EDC Endpoints

To find the decentralized registries of related parties in Catena-X, app provider MUST follow the CX-0001 standard.

1.1.4 DIGITAL TWINS AND SPECIFIC ASSET IDs

1.1.4.1 Searching for Decentralized Digital Twin Registries

To find decentralized Digital Twin Registries of related parties in Catena-X, app provider MUST follow the CX-0002 Standard.

1.1.4.2 Registration at the BPN Discovery Service

To find the Business Partner Number of the related parties in Catena-X, data provider MUST follow the CX-0053 standard. Example can be found in the Digital Twin Kit

In specific, as a data provider you MUST register the manufacturerPartId following the Catena-X standard CX-0002 at the BPN Discovery Service. The BPN is hand-over by the authentication/authorization token. Only the owner of a BPN can link the manufacturerPartId to their BPN.

An example can be found here: Digital Twin Kit - API BPN Discovery

Example

POST /api/administration/connectors/bpnDiscovery
{
"type": "manufacturerPartId",
"key": "12345678910"
}

Response

{
"type": "manufacturerPartId",
"key": "12345678910",
"value": "bpn-123",
"resourceId": "1ca6f9b5-8e1d-422a-8541-9bb2cf5fe485"
}

As an app provider / data consumer you MUST use the manufacturerPartId to search for related BPN endpoints. An example can be found here: Digital Twin Kit - API BPN Discovery

Example

POST /api/administration/connectors/bpnDiscovery/search
{
"searchFilter": [
{
"type": "manufacturerPartId",
"keys": ["12345678910"]
}
]
}

Response

{
"bpns": [
{
"type": "manufacturerPartId",
"key": "12345678910",
"value": "bpn-123",
"resourceId": "1ca6f9b5-8e1d-422a-8541-9bb2cf5fe485"
}
]
}

1.1.4.3 Registration of the Digital Twin and the Submodels in the Digital Twin Registry

A data provider MUST register their AAS of the product with the following values for the idShort:

  • for batteries: Battery_{{PartInstanceId}}
  • for transmissions: Transmission_{{PartInstanceId}}

For other product types the format {{Product Name}}_{{PartInstanceId}} SHOULD be used.

Additionally, the AAS MUST be registered with specificAssetIds: partInstanceId and depending on the current lifecyclePhase of the product with

  • assetLifecyclePhase = AsBuild for product that already have been build or
  • assetLifecyclePhase = AsPlanned for products not yet build.

When describing asPlanned information, ExternalReference has to be set to PUBLIC_READABLE as described in the Digital Twin Registry documentation

In case the OPTIONAL drill down functionality is integrated in the application using the IRS CX-0005, the digital twin MUST have a globalAssetId attribute with the Global Unique UUID of the asset.

As described in the industry core standards CX-0126 and CX-0127, when digital twins MUST include the key digitalTwinType. When in Instance Level the value PartInstance MUST be used and in case of Type Level the value PartType MUST be used.

Example of a battery in as-planned lifecycle stage:

{
"idShort": "Battery_{{PartInstanceId}}",
"globalAssetId": "{{digitalTwinGlobalUniqueUUID}}",
"id": "{{digitalTwinId}}",
"specificAssetIds": [
{
"name": "manufacturerId",
"value": "{{manufacturerId (BPNL)}}",
"externalSubjectId": {
"type": "ExternalReference",
"keys": [
{
"type": "GlobalReference",
"value": "{{BPN number of partner}}"
},
{
"type": "GlobalReference",
"value": "PUBLIC_READABLE"
}
]
}
},
{
"name": "manufacturerPartId",
"value": "{{manufacturerPartId}}",
"externalSubjectId": {
"type": "ExternalReference",
"keys": [
{
"type": "GlobalReference",
"value": "{{BPN number of partner}}"
},
{
"type": "GlobalReference",
"value": "PUBLIC_READABLE"
}
]
}
},
{
"name": "partInstanceId",
"value": "{{PartInstanceId}}",
"externalSubjectId": {
"type": "ExternalReference",
"keys": [
{
"type": "GlobalReference",
"value": "{{BPN of partner}}"
}
]
}
},
{
"key" : "assetLifecyclePhase",
"value": "AsPlanned"
},
{
"key" : "digitalTwinType",
"value": "PartInstance"
}
],
...
}

Data provider MUST provide their product passport information in the submodelDescriptors depending on their product with the following information:

Product typeused data modelmandatory idShort
Generic PassportDigital Product Pass 4.0.0digitalProductPass
BatteriesBatteryPass v5.0.0batteryPass
TransmissionsTransmission Pass 2.0.0transmissionPass
  • The data provider also MUST provide a API Endpoint following the CX-0002. Data- provider MUST register the related sub-models as shown in the example below.
  • The id added to the subprotocolBody SHOULD be a UUIDv4.
  • The href definition follows CX-0002.
    • After the negotiation and transfer of the subprotocolBody asset following CX-0018 the the href EDR token from the EDC Data Plane Proxy will be used it MUST return the aspect model JSON payload.

Example of a transmission:

"submodelDescriptors":[
{
"endpoints": [
{
"interface": "SUBMODEL-3.0",
"protocolInformation": {
"href": "https://{{edc.data.plane}}/{{path}}/urn:uuid:777a3f0a-6d29-4fcd-81ea-1c27c1b870cc",
"endpointProtocol": "HTTP",
"endpointProtocolVersion": [
"1.1"
],
"subprotocol": "DSP",
"subprotocolBody": "{{AssetId_of_EDCAsset}};dspEndpoint=https://{{edc.control.plane}}",
"subprotocolBodyEncoding": "plain",
"securityAttributes": [
{
"type": "NONE",
"key": "NONE",
"value": "NONE"
}
]
}
}
],
"idShort": "transmissionPass",
"id": "urn:uuid:777a3f0a-6d29-4fcd-81ea-1c27c1b870cc",
"semanticId": {
"type": "ExternalReference",
"keys": [
{
"type": "Submodel",
"value": "urn:bamm:io.catenax.transmission.transmission_pass:2.0.0#TransmissionPass"
}
]
},
"description": [
{
"language": "en",
"text": "Transmission Passport Submodel"
}
],
{
"endpoints": [
{
"interface": "SUBMODEL-3.0",
"protocolInformation": {
"href": "https://{{edc.data.plane}}/{{path}}/urn:uuid:777a3f0a-6d29-4fcd-81ea-1c27c1b870cc",
"endpointProtocol": "HTTP",
"endpointProtocolVersion": [
"1.1"
],
"subprotocol": "DSP",
"subprotocolBody": "{{AssetId_of_EDCAsset}};dspEndpoint=https://{{edc.control.plane}}",
"subprotocolBodyEncoding": "plain",
"securityAttributes": [
{
"type": "NONE",
"key": "NONE",
"value": "NONE"
}
]
}
}
],
"idShort": "digitalProductPass",
"id": "urn:uuid:777a3f0a-6d29-4fcd-81ea-1c27c1b870cc",
"semanticId": {
"type": "ExternalReference",
"keys": [
{
"type": "Submodel",
"value": "urn:samm:io.catenax.generic.digital_product_passport:4.0.0#DigitalProductPassport"
}
]
},
"description": [
{
"language": "en",
"text": "Digital Product Passport Submodel"
}
]
}
}
]

Copyright © 2024 Catena-X Automotive Network e.V. All rights reserved. For more information, please visit here.