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 orassetLifecyclePhase = 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 type | used data model | mandatory idShort |
---|---|---|
Generic Passport | Digital Product Pass 4.0.0 | digitalProductPass |
Batteries | BatteryPass v5.0.0 | batteryPass |
Transmissions | Transmission Pass 2.0.0 | transmissionPass |
- 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 thehref
EDR token from the EDC Data Plane Proxy will be used it MUST return the aspect model JSON payload.
- After the negotiation and transfer of the
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"
}
]
}
}
]
Legal
Copyright © 2024 Catena-X Automotive Network e.V. All rights reserved. For more information, please visit here.