From 1ab26a6a71556452400e77a4a8c8bfe8a8e73258 Mon Sep 17 00:00:00 2001 From: Saud Khan Date: Wed, 4 Dec 2024 20:27:29 +0100 Subject: [PATCH 1/3] chore(verification): added readme guide and insomnia collection --- dpp-tutorial/irs-drill-down.md | 42 ++-- ...s-X Community Days.postman_collection.json | 218 +----------------- dpp-tutorial/verification.md | 135 ++++++++++- 3 files changed, 152 insertions(+), 243 deletions(-) diff --git a/dpp-tutorial/irs-drill-down.md b/dpp-tutorial/irs-drill-down.md index 9822429d3..1cc546c6d 100644 --- a/dpp-tutorial/irs-drill-down.md +++ b/dpp-tutorial/irs-drill-down.md @@ -1,25 +1,23 @@ - # Introduction diff --git a/dpp-tutorial/resources/explorer_payload/01 Tractus-X Community Days.postman_collection.json b/dpp-tutorial/resources/explorer_payload/01 Tractus-X Community Days.postman_collection.json index 8fc462c8a..e50455000 100644 --- a/dpp-tutorial/resources/explorer_payload/01 Tractus-X Community Days.postman_collection.json +++ b/dpp-tutorial/resources/explorer_payload/01 Tractus-X Community Days.postman_collection.json @@ -1,217 +1 @@ -{ - "info": { - "_postman_id": "36c640ca-315f-4fc7-948c-f02731ebf253", - "name": "01 Tractus-X Community Days", - "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json", - "_exporter_id": "39599174", - "_collection_link": "https://catena-x-product-material-pass.postman.co/workspace/Team-Workspace~b66fa959-bfa7-4129-8a45-8e9e03ef0cbb/collection/39599174-36c640ca-315f-4fc7-948c-f02731ebf253?action=share&source=collection_link&creator=39599174" - }, - "item": [ - { - "name": "Step 2.1.1 Create Aspect Model", - "request": { - "auth": { - "type": "noauth" - }, - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"metadata\" : {\r\n \"backupReference\" : \"https://dummy.link\",\r\n \"registrationIdentifier\" : \"https://dummy.link/ID8283746239078\",\r\n \"economicOperatorId\" : \"BPNL0123456789ZZ\",\r\n \"lastModification\" : \"2000-01-01\",\r\n \"predecessor\" : \"urn:uuid:00000000-0000-0000-0000-000000000000\",\r\n \"issueDate\" : \"2000-01-01\",\r\n \"version\" : \"1.0.0\",\r\n \"passportIdentifier\" : \"urn:uuid:550e8400-e29b-41d4-a716-446655440000\",\r\n \"status\" : \"draft\",\r\n \"expirationDate\" : \"2030-01-01\"\r\n },\r\n \"characteristics\" : {\r\n \"generalPerformanceClass\" : \"A\",\r\n \"physicalState\" : \"solid\",\r\n \"physicalDimension\" : {\r\n \"width\" : {\r\n \"value\" : \"\",\r\n \"unit\" : \"unit:millimetre\"\r\n },\r\n \"length\" : {\r\n \"value\" : \"\",\r\n \"unit\" : \"unit:millimetre\"\r\n },\r\n \"weight\" : {\r\n \"value\" : \"\",\r\n \"unit\" : \"unit:gram\"\r\n },\r\n \"height\" : {\r\n \"value\" : \"\",\r\n \"unit\" : \"unit:millimetre\"\r\n }\r\n },\r\n \"lifespan\" : [ {\r\n \"value\" : \"\",\r\n \"unit\" : \"\",\r\n \"key\" : \"guaranteed lifetime\"\r\n } ]\r\n },\r\n \"commercial\" : {\r\n \"placedOnMarket\" : \"2000-01-01\",\r\n \"purpose\" : [ \"automotive\" ]\r\n },\r\n \"identification\" : {\r\n \"batch\" : [ {\r\n \"value\" : \"BID12345678\",\r\n \"key\" : \"batchId\"\r\n } ],\r\n \"codes\" : [ {\r\n \"value\" : \"8703 24 10 00\",\r\n \"key\" : \"TARIC\"\r\n } ],\r\n \"type\" : {\r\n \"manufacturerPartId\" : \"123-0.740-3434-A\",\r\n \"nameAtManufacturer\" : \" \"\r\n },\r\n \"classification\" : [ {\r\n \"classificationStandard\" : \"GIN 20510-21513\",\r\n \"classificationID\" : \"1004712\",\r\n \"classificationDescription\" : \"Generic standard for classification of parts in the automotive industry.\"\r\n } ],\r\n \"serial\" : [ {\r\n \"value\" : \"\",\r\n \"key\" : \"partInstanceId\"\r\n } ],\r\n \"dataCarrier\" : {\r\n \"carrierType\" : \"QR\",\r\n \"carrierLayout\" : \"upper-left side\"\r\n }\r\n },\r\n \"sources\" : [ {\r\n \"header\" : \"Example Document XYZ\",\r\n \"category\" : \"Product Specifications\",\r\n \"type\" : \"URL\",\r\n \"content\" : \"https://dummy.link\"\r\n } ],\r\n \"materials\" : {\r\n \"substancesOfConcern\" : {\r\n \"applicable\" : true,\r\n \"content\" : [ {\r\n \"unit\" : \"unit:partPerMillion\",\r\n \"hazardClassification\" : {\r\n \"category\" : \"category 1A\",\r\n \"statement\" : \"Causes severe skin burns and eye damage.\",\r\n \"class\" : \"Skin corrosion\"\r\n },\r\n \"documentation\" : [ {\r\n \"contentType\" : \"URL\",\r\n \"header\" : \"Example Document XYZ\",\r\n \"content\" : \"https://dummy.link\"\r\n } ],\r\n \"concentrationRange\" : [ {\r\n \"max\" : 2.6,\r\n \"min\" : 2.1\r\n } ],\r\n \"location\" : \"Housing\",\r\n \"concentration\" : 5.3,\r\n \"exemption\" : \"shall not apply to product x containing not more than 1,5 ml of liquid\",\r\n \"id\" : [ {\r\n \"type\" : \"CAS\",\r\n \"name\" : \"phenolphthalein\",\r\n \"id\" : \"201-004-7\"\r\n } ]\r\n } ]\r\n },\r\n \"materialComposition\" : {\r\n \"applicable\" : true,\r\n \"content\" : [ {\r\n \"unit\" : \"unit:partPerMillion\",\r\n \"recycled\" : 12.5,\r\n \"critical\" : true,\r\n \"renewable\" : 23.5,\r\n \"documentation\" : [ {\r\n \"contentType\" : \"URL\",\r\n \"header\" : \"Example Document XYZ\",\r\n \"content\" : \"https://dummy.link\"\r\n } ],\r\n \"concentration\" : 5.3,\r\n \"id\" : [ {\r\n \"type\" : \"CAS\",\r\n \"name\" : \"phenolphthalein\",\r\n \"id\" : \"201-004-7\"\r\n } ]\r\n } ]\r\n }\r\n },\r\n \"handling\" : {\r\n \"applicable\" : true,\r\n \"content\" : {\r\n \"producer\" : [ {\r\n \"id\" : \"BPNL0123456789ZZ\"\r\n } ],\r\n \"sparePart\" : [ {\r\n \"manufacturerPartId\" : \"123-0.740-3434-A\",\r\n \"nameAtManufacturer\" : \"Mirror left\"\r\n } ]\r\n }\r\n },\r\n \"additionalData\" : [ {\r\n \"description\" : \"Description of an attribute\",\r\n \"label\" : \"Maximum permitted battery power\",\r\n \"type\" : {\r\n \"typeUnit\" : \"unit:volume\",\r\n \"dataType\" : \"array\"\r\n },\r\n \"data\" : \"23\",\r\n \"children\" : [ {\r\n \"description\" : \"Description of an attribute\",\r\n \"label\" : \"Maximum permitted battery power\",\r\n \"type\" : {\r\n \"typeUnit\" : \"unit:volume\",\r\n \"dataType\" : \"array\"\r\n },\r\n \"data\" : \"23\"\r\n } ]\r\n } ],\r\n \"operation\" : {\r\n \"import\" : {\r\n \"applicable\" : true,\r\n \"content\" : {\r\n \"eori\" : \"GB123456789000\",\r\n \"id\" : \"BPNL0123456789ZZ\"\r\n }\r\n },\r\n \"other\" : {\r\n \"id\" : \"BPNL0123456789XX\",\r\n \"role\" : \"distributor\"\r\n },\r\n \"manufacturer\" : {\r\n \"facility\" : [ {\r\n \"facility\" : \"BPNA1234567890AA\"\r\n } ],\r\n \"manufacturingDate\" : \"\",\r\n \"manufacturer\" : \"BPNLbi7tAJ8UiMsF\"\r\n }\r\n },\r\n \"sustainability\" : {\r\n \"reparabilityScore\" : \"B\",\r\n \"productFootprint\" : {\r\n \"material\" : [ {\r\n \"lifecycle\" : \"main product production\",\r\n \"rulebook\" : [ {\r\n \"contentType\" : \"URL\",\r\n \"header\" : \"Example Document XYZ\",\r\n \"content\" : \"https://dummy.link\"\r\n } ],\r\n \"unit\" : \"kg CO2 / kWh\",\r\n \"performanceClass\" : \"A\",\r\n \"manufacturingPlant\" : [ {\r\n \"facility\" : \"BPNA1234567890AA\"\r\n } ],\r\n \"type\" : \"Climate Change Total\",\r\n \"value\" : 12.678,\r\n \"declaration\" : [ {\r\n \"contentType\" : \"URL\",\r\n \"header\" : \"Example Document XYZ\",\r\n \"content\" : \"https://dummy.link\"\r\n } ]\r\n } ],\r\n \"carbon\" : [ {\r\n \"lifecycle\" : \"main product production\",\r\n \"rulebook\" : [ {\r\n \"contentType\" : \"URL\",\r\n \"header\" : \"Example Document XYZ\",\r\n \"content\" : \"https://dummy.link\"\r\n } ],\r\n \"unit\" : \"kg CO2 / kWh\",\r\n \"performanceClass\" : \"A\",\r\n \"manufacturingPlant\" : [ {\r\n \"facility\" : \"BPNA1234567890AA\"\r\n } ],\r\n \"type\" : \"Climate Change Total\",\r\n \"value\" : \"\",\r\n \"declaration\" : [ {\r\n \"contentType\" : \"URL\",\r\n \"header\" : \"Example Document XYZ\",\r\n \"content\" : \"https://dummy.link\"\r\n } ]\r\n } ],\r\n \"environmental\" : [ {\r\n \"lifecycle\" : \"main product production\",\r\n \"rulebook\" : [ {\r\n \"contentType\" : \"URL\",\r\n \"header\" : \"Example Document XYZ\",\r\n \"content\" : \"https://dummy.link\"\r\n } ],\r\n \"unit\" : \"kg CO2 / kWh\",\r\n \"performanceClass\" : \"A\",\r\n \"manufacturingPlant\" : [ {\r\n \"facility\" : \"BPNA1234567890AA\"\r\n } ],\r\n \"type\" : \"Climate Change Total\",\r\n \"value\" : 12.678,\r\n \"declaration\" : [ {\r\n \"contentType\" : \"URL\",\r\n \"header\" : \"Example Document XYZ\",\r\n \"content\" : \"https://dummy.link\"\r\n } ]\r\n } ]\r\n },\r\n \"status\" : \"original\",\r\n \"durabilityScore\" : \"A\"\r\n }\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "/urn:uuid:", - "host": [ - "" - ], - "path": [ - "urn:uuid:" - ] - } - }, - "response": [] - }, - { - "name": "Step 2.1.2 Verify the Creation", - "request": { - "auth": { - "type": "noauth" - }, - "method": "GET", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "url": { - "raw": "/urn:uuid:", - "host": [ - "" - ], - "path": [ - "urn:uuid:" - ] - } - }, - "response": [] - }, - { - "name": "Step 2.2.1 Create Digital Twin", - "event": [ - { - "listen": "test", - "script": { - "exec": [ - "// encode digital twin Id into base 64\r", - "const jsonResponse = pm.response.json();\r", - "if (jsonResponse && jsonResponse.id) {\r", - " const dtId = jsonResponse.id;\r", - " pm.collectionVariables.set(\"digitalTwinId\", dtId);\r", - " pm.collectionVariables.set(\"base64ShellId\", btoa(dtId));\r", - "}\r", - "" - ], - "type": "text/javascript", - "packages": {} - } - } - ], - "request": { - "auth": { - "type": "noauth" - }, - "method": "POST", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "type": "text" - }, - { - "key": "Edc-Bpn", - "value": "BPNL000000000FV1", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"description\": [\r\n {\r\n \"language\": \"en\",\r\n \"text\": \"Car/part Digital Twin\"\r\n }\r\n ],\r\n \"displayName\": [],\r\n \"globalAssetId\": \"urn:uuid:\",\r\n \"idShort\": \"Car\",\r\n \"id\": \"\",\r\n \"specificAssetIds\": [\r\n {\r\n \"name\": \"manufacturerId\",\r\n \"value\": \"BPNL000000000FV1\",\r\n \"externalSubjectId\": {\r\n \"type\": \"ExternalReference\",\r\n \"keys\": [\r\n {\r\n \"type\": \"GlobalReference\",\r\n \"value\": \"BPNL000000000FV1\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"partInstanceId\",\r\n \"value\": \"\",\r\n \"externalSubjectId\": {\r\n \"type\": \"ExternalReference\",\r\n \"keys\": [\r\n {\r\n \"type\": \"GlobalReference\",\r\n \"value\": \"BPNL000000000FV1\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"manufacturerPartId\",\r\n \"value\": \"MPI7654\",\r\n \"externalSubjectId\": {\r\n \"type\": \"ExternalReference\",\r\n \"keys\": [\r\n {\r\n \"type\": \"GlobalReference\",\r\n \"value\": \"PUBLIC_READABLE\"\r\n },\r\n {\r\n \"type\": \"GlobalReference\",\r\n \"value\": \"BPNL000000000FV1\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"digitalTwinType\",\r\n \"value\": \"PartInstance\",\r\n \"externalSubjectId\": {\r\n \"type\": \"ExternalReference\",\r\n \"keys\": [\r\n {\r\n \"type\": \"GlobalReference\",\r\n \"value\": \"BPNL000000000FV1\"\r\n }\r\n ]\r\n }\r\n }\r\n ],\r\n \"submodelDescriptors\": [\r\n {\r\n \"endpoints\": [\r\n {\r\n \"interface\": \"SUBMODEL-3.0\",\r\n \"protocolInformation\": {\r\n \"href\": \"https://dpp.int.catena-x.net/provider/api/public/\",\r\n \"endpointProtocol\": \"HTTP\",\r\n \"endpointProtocolVersion\": [\"1.1\"],\r\n \"subprotocol\": \"DSP\",\r\n \"subprotocolBody\": \"id=urn:uuid:0c3d2db0-e5c6-27f9-5875-15a9a00e7a27;dspEndpoint=https://dpp.int.catena-x.net/provider\",\r\n \"subprotocolBodyEncoding\": \"plain\",\r\n \"securityAttributes\": [\r\n {\r\n \"type\": \"NONE\",\r\n \"key\": \"NONE\",\r\n \"value\": \"NONE\"\r\n }\r\n ]\r\n }\r\n }\r\n ],\r\n \"idShort\": \"digitalProductPass\",\r\n \"id\": \"\",\r\n \"semanticId\": {\r\n \"type\": \"ExternalReference\",\r\n \"keys\": [\r\n {\r\n \"type\": \"Operation\",\r\n \"value\": \"https://w3c.github.io/vc-jws-2020/contexts/v1/\"\r\n },\r\n {\r\n \"type\": \"Submodel\",\r\n \"value\": \"urn:samm:io.catenax.generic.digital_product_passport:5.0.0#DigitalProductPassport\"\r\n },\r\n {\r\n \"type\": \"Entity\",\r\n \"value\": \"https://www.w3.org/ns/credentials/v2\"\r\n },\r\n {\r\n \"type\": \"DataElement\",\r\n \"value\": \"urn:samm:io.catenax.dpp_verification.cdc:1.0.0#CertifiedDataCredential\"\r\n }\r\n ]\r\n },\r\n \"description\": [\r\n {\r\n \"language\": \"en\",\r\n \"text\": \"Digital Product Pass Submodel\"\r\n }\r\n ],\r\n \"displayName\": []\r\n }\r\n ]\r\n}\r\n", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "/shell-descriptors", - "host": [ - "" - ], - "path": [ - "shell-descriptors" - ] - } - }, - "response": [] - }, - { - "name": "Step 2.2.2 Verify the Creation", - "request": { - "auth": { - "type": "noauth" - }, - "method": "GET", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "url": { - "raw": "/shell-descriptors/", - "host": [ - "" - ], - "path": [ - "shell-descriptors", - "" - ] - } - }, - "response": [] - }, - { - "name": "Step 2.3 Modify Digital Twin", - "event": [ - { - "listen": "test", - "script": { - "exec": [ - "// encode digital twin Id into base 64\r", - "pm.collectionVariables.set(\"base64ShellId\", btoa(pm.collectionVariables.get(\"digitalTwinId\")));" - ], - "type": "text/javascript", - "packages": {} - } - } - ], - "request": { - "auth": { - "type": "noauth" - }, - "method": "PUT", - "header": [ - { - "key": "Content-Type", - "value": "application/json", - "type": "text" - } - ], - "body": { - "mode": "raw", - "raw": "{\r\n \"description\": [\r\n {\r\n \"language\": \"en\",\r\n \"text\": \"Car/part Digital Twin\"\r\n }\r\n ],\r\n \"displayName\": [],\r\n \"globalAssetId\": \"urn:uuid:e5ab3398-bde1-4ef2-bb70-fd6dd1138e60\",\r\n \"idShort\": \"\",\r\n \"id\": \"\",\r\n \"specificAssetIds\": [\r\n {\r\n \"name\": \"manufacturerId\",\r\n \"value\": \"BPNL000000000FV1\",\r\n \"externalSubjectId\": {\r\n \"type\": \"ExternalReference\",\r\n \"keys\": [\r\n {\r\n \"type\": \"GlobalReference\",\r\n \"value\": \"BPNL000000000FV1\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"partInstanceId\",\r\n \"value\": \"\",\r\n \"externalSubjectId\": {\r\n \"type\": \"ExternalReference\",\r\n \"keys\": [\r\n {\r\n \"type\": \"GlobalReference\",\r\n \"value\": \"BPNL000000000FV1\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"manufacturerPartId\",\r\n \"value\": \"MPI7654\",\r\n \"externalSubjectId\": {\r\n \"type\": \"ExternalReference\",\r\n \"keys\": [\r\n {\r\n \"type\": \"GlobalReference\",\r\n \"value\": \"PUBLIC_READABLE\"\r\n },\r\n {\r\n \"type\": \"GlobalReference\",\r\n \"value\": \"BPNL000000000FV1\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"digitalTwinType\",\r\n \"value\": \"PartInstance\",\r\n \"externalSubjectId\": {\r\n \"type\": \"ExternalReference\",\r\n \"keys\": [\r\n {\r\n \"type\": \"GlobalReference\",\r\n \"value\": \"BPNL000000000FV1\"\r\n }\r\n ]\r\n }\r\n }\r\n ],\r\n \"submodelDescriptors\": [\r\n {\r\n \"endpoints\": [\r\n {\r\n \"interface\": \"SUBMODEL-3.0\",\r\n \"protocolInformation\": {\r\n \"href\": \"https://dpp.int.catena-x.net/provider/api/public/\",\r\n \"endpointProtocol\": \"HTTP\",\r\n \"endpointProtocolVersion\": [\"1.1\"],\r\n \"subprotocol\": \"DSP\",\r\n \"subprotocolBody\": \"id=urn:uuid:0c3d2db0-e5c6-27f9-5875-15a9a00e7a27;dspEndpoint=https://dpp.int.catena-x.net/provider\",\r\n \"subprotocolBodyEncoding\": \"plain\",\r\n \"securityAttributes\": [\r\n {\r\n \"type\": \"NONE\",\r\n \"key\": \"NONE\",\r\n \"value\": \"NONE\"\r\n }\r\n ]\r\n }\r\n }\r\n ],\r\n \"idShort\": \"digitalProductPass\",\r\n \"id\": \"\",\r\n \"semanticId\": {\r\n \"type\": \"ExternalReference\",\r\n \"keys\": [\r\n {\r\n \"type\": \"Operation\",\r\n \"value\": \"https://w3c.github.io/vc-jws-2020/contexts/v1/\"\r\n },\r\n {\r\n \"type\": \"Submodel\",\r\n \"value\": \"urn:samm:io.catenax.generic.digital_product_passport:5.0.0#DigitalProductPassport\"\r\n },\r\n {\r\n \"type\": \"Entity\",\r\n \"value\": \"https://www.w3.org/ns/credentials/v2\"\r\n },\r\n {\r\n \"type\": \"DataElement\",\r\n \"value\": \"urn:samm:io.catenax.dpp_verification.cdc:1.0.0#CertifiedDataCredential\"\r\n }\r\n ]\r\n },\r\n \"description\": [\r\n {\r\n \"language\": \"en\",\r\n \"text\": \"Digital Product Pass Submodel\"\r\n }\r\n ],\r\n \"displayName\": []\r\n }\r\n ]\r\n}", - "options": { - "raw": { - "language": "json" - } - } - }, - "url": { - "raw": "/shell-descriptors/", - "host": [ - "" - ], - "path": [ - "shell-descriptors", - "" - ] - } - }, - "response": [] - } - ], - "variable": [ - { - "key": "digitalTwinId", - "value": "" - }, - { - "key": "base64ShellId", - "value": "" - } - ] -} \ No newline at end of file +{"_type":"export","__export_format":4,"__export_date":"2024-12-04T19:36:32.651Z","__export_source":"insomnia.desktop.app:v2023.5.8","resources":[{"_id":"req_74dfd189db8d4e0997d70616b606c3b7","parentId":"fld_319a11b727f84bbc8ce0b1af72ed9bab","modified":1733326750849,"created":1733326750849,"url":"/shell-descriptors/","name":"Step 2.3 Modify Digital Twin","description":"","method":"PUT","body":{"mimeType":"application/json","text":"{\r\n \"description\": [\r\n {\r\n \"language\": \"en\",\r\n \"text\": \"Car/part Digital Twin\"\r\n }\r\n ],\r\n \"displayName\": [],\r\n \"globalAssetId\": \"urn:uuid:e5ab3398-bde1-4ef2-bb70-fd6dd1138e60\",\r\n \"idShort\": \"\",\r\n \"id\": \"\",\r\n \"specificAssetIds\": [\r\n {\r\n \"name\": \"manufacturerId\",\r\n \"value\": \"BPNL000000000FV1\",\r\n \"externalSubjectId\": {\r\n \"type\": \"ExternalReference\",\r\n \"keys\": [\r\n {\r\n \"type\": \"GlobalReference\",\r\n \"value\": \"BPNL000000000FV1\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"partInstanceId\",\r\n \"value\": \"\",\r\n \"externalSubjectId\": {\r\n \"type\": \"ExternalReference\",\r\n \"keys\": [\r\n {\r\n \"type\": \"GlobalReference\",\r\n \"value\": \"BPNL000000000FV1\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"manufacturerPartId\",\r\n \"value\": \"MPI7654\",\r\n \"externalSubjectId\": {\r\n \"type\": \"ExternalReference\",\r\n \"keys\": [\r\n {\r\n \"type\": \"GlobalReference\",\r\n \"value\": \"PUBLIC_READABLE\"\r\n },\r\n {\r\n \"type\": \"GlobalReference\",\r\n \"value\": \"BPNL000000000FV1\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"digitalTwinType\",\r\n \"value\": \"PartInstance\",\r\n \"externalSubjectId\": {\r\n \"type\": \"ExternalReference\",\r\n \"keys\": [\r\n {\r\n \"type\": \"GlobalReference\",\r\n \"value\": \"BPNL000000000FV1\"\r\n }\r\n ]\r\n }\r\n }\r\n ],\r\n \"submodelDescriptors\": [\r\n {\r\n \"endpoints\": [\r\n {\r\n \"interface\": \"SUBMODEL-3.0\",\r\n \"protocolInformation\": {\r\n \"href\": \"https://dpp.int.catena-x.net/provider/api/public/\",\r\n \"endpointProtocol\": \"HTTP\",\r\n \"endpointProtocolVersion\": [\"1.1\"],\r\n \"subprotocol\": \"DSP\",\r\n \"subprotocolBody\": \"id=urn:uuid:0c3d2db0-e5c6-27f9-5875-15a9a00e7a27;dspEndpoint=https://dpp.int.catena-x.net/provider\",\r\n \"subprotocolBodyEncoding\": \"plain\",\r\n \"securityAttributes\": [\r\n {\r\n \"type\": \"NONE\",\r\n \"key\": \"NONE\",\r\n \"value\": \"NONE\"\r\n }\r\n ]\r\n }\r\n }\r\n ],\r\n \"idShort\": \"digitalProductPass\",\r\n \"id\": \"\",\r\n \"semanticId\": {\r\n \"type\": \"ExternalReference\",\r\n \"keys\": [\r\n {\r\n \"type\": \"Operation\",\r\n \"value\": \"https://w3c.github.io/vc-jws-2020/contexts/v1/\"\r\n },\r\n {\r\n \"type\": \"Submodel\",\r\n \"value\": \"urn:samm:io.catenax.generic.digital_product_passport:5.0.0#DigitalProductPassport\"\r\n },\r\n {\r\n \"type\": \"Entity\",\r\n \"value\": \"https://www.w3.org/ns/credentials/v2\"\r\n },\r\n {\r\n \"type\": \"DataElement\",\r\n \"value\": \"urn:samm:io.catenax.dpp_verification.cdc:1.0.0#CertifiedDataCredential\"\r\n }\r\n ]\r\n },\r\n \"description\": [\r\n {\r\n \"language\": \"en\",\r\n \"text\": \"Digital Product Pass Submodel\"\r\n }\r\n ],\r\n \"displayName\": []\r\n }\r\n ]\r\n}"},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json"}],"authentication":{},"metaSortKey":-1733326750849,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"fld_319a11b727f84bbc8ce0b1af72ed9bab","parentId":"wrk_2abbc17d6f894654b94880116b52753a","modified":1733326884705,"created":1733326750837,"name":"01 Tractus-X Community Days","description":"","environment":{"digitalTwinId":"","base64ShellId":""},"environmentPropertyOrder":null,"metaSortKey":-1733326751037,"_type":"request_group"},{"_id":"wrk_2abbc17d6f894654b94880116b52753a","parentId":null,"modified":1733326750834,"created":1733326750834,"name":"Imported Workspace","description":"","scope":"collection","_type":"workspace"},{"_id":"req_5c957c92b90448929de67390552449b2","parentId":"fld_319a11b727f84bbc8ce0b1af72ed9bab","modified":1733326750848,"created":1733326750848,"url":"/shell-descriptors/","name":"Step 2.2.2 Verify the Creation","description":"","method":"GET","body":{},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json"}],"authentication":{},"metaSortKey":-1733326750848,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_27504c7d9b2440e09f90dc72550b8054","parentId":"fld_319a11b727f84bbc8ce0b1af72ed9bab","modified":1733326750846,"created":1733326750846,"url":"/shell-descriptors","name":"Step 2.2.1 Create Digital Twin","description":"","method":"POST","body":{"mimeType":"application/json","text":"{\r\n \"description\": [\r\n {\r\n \"language\": \"en\",\r\n \"text\": \"Car/part Digital Twin\"\r\n }\r\n ],\r\n \"displayName\": [],\r\n \"globalAssetId\": \"urn:uuid:\",\r\n \"idShort\": \"Car\",\r\n \"id\": \"\",\r\n \"specificAssetIds\": [\r\n {\r\n \"name\": \"manufacturerId\",\r\n \"value\": \"BPNL000000000FV1\",\r\n \"externalSubjectId\": {\r\n \"type\": \"ExternalReference\",\r\n \"keys\": [\r\n {\r\n \"type\": \"GlobalReference\",\r\n \"value\": \"BPNL000000000FV1\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"partInstanceId\",\r\n \"value\": \"\",\r\n \"externalSubjectId\": {\r\n \"type\": \"ExternalReference\",\r\n \"keys\": [\r\n {\r\n \"type\": \"GlobalReference\",\r\n \"value\": \"BPNL000000000FV1\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"manufacturerPartId\",\r\n \"value\": \"MPI7654\",\r\n \"externalSubjectId\": {\r\n \"type\": \"ExternalReference\",\r\n \"keys\": [\r\n {\r\n \"type\": \"GlobalReference\",\r\n \"value\": \"PUBLIC_READABLE\"\r\n },\r\n {\r\n \"type\": \"GlobalReference\",\r\n \"value\": \"BPNL000000000FV1\"\r\n }\r\n ]\r\n }\r\n },\r\n {\r\n \"name\": \"digitalTwinType\",\r\n \"value\": \"PartInstance\",\r\n \"externalSubjectId\": {\r\n \"type\": \"ExternalReference\",\r\n \"keys\": [\r\n {\r\n \"type\": \"GlobalReference\",\r\n \"value\": \"BPNL000000000FV1\"\r\n }\r\n ]\r\n }\r\n }\r\n ],\r\n \"submodelDescriptors\": [\r\n {\r\n \"endpoints\": [\r\n {\r\n \"interface\": \"SUBMODEL-3.0\",\r\n \"protocolInformation\": {\r\n \"href\": \"https://dpp.int.catena-x.net/provider/api/public/\",\r\n \"endpointProtocol\": \"HTTP\",\r\n \"endpointProtocolVersion\": [\"1.1\"],\r\n \"subprotocol\": \"DSP\",\r\n \"subprotocolBody\": \"id=urn:uuid:0c3d2db0-e5c6-27f9-5875-15a9a00e7a27;dspEndpoint=https://dpp.int.catena-x.net/provider\",\r\n \"subprotocolBodyEncoding\": \"plain\",\r\n \"securityAttributes\": [\r\n {\r\n \"type\": \"NONE\",\r\n \"key\": \"NONE\",\r\n \"value\": \"NONE\"\r\n }\r\n ]\r\n }\r\n }\r\n ],\r\n \"idShort\": \"digitalProductPass\",\r\n \"id\": \"\",\r\n \"semanticId\": {\r\n \"type\": \"ExternalReference\",\r\n \"keys\": [\r\n {\r\n \"type\": \"Operation\",\r\n \"value\": \"https://w3c.github.io/vc-jws-2020/contexts/v1/\"\r\n },\r\n {\r\n \"type\": \"Submodel\",\r\n \"value\": \"urn:samm:io.catenax.generic.digital_product_passport:5.0.0#DigitalProductPassport\"\r\n },\r\n {\r\n \"type\": \"Entity\",\r\n \"value\": \"https://www.w3.org/ns/credentials/v2\"\r\n },\r\n {\r\n \"type\": \"DataElement\",\r\n \"value\": \"urn:samm:io.catenax.dpp_verification.cdc:1.0.0#CertifiedDataCredential\"\r\n }\r\n ]\r\n },\r\n \"description\": [\r\n {\r\n \"language\": \"en\",\r\n \"text\": \"Digital Product Pass Submodel\"\r\n }\r\n ],\r\n \"displayName\": []\r\n }\r\n ]\r\n}\r\n"},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json"},{"name":"Edc-Bpn","value":"BPNL000000000FV1"}],"authentication":{},"metaSortKey":-1733326750846,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_2d239749e1b04fbfa2426cddf887b05d","parentId":"fld_319a11b727f84bbc8ce0b1af72ed9bab","modified":1733326750844,"created":1733326750844,"url":"/urn:uuid:","name":"Step 2.1.2 Verify the Creation","description":"","method":"GET","body":{},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json"}],"authentication":{},"metaSortKey":-1733326750844,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_9b9c094dd0df470f9c9a3cbe7142deff","parentId":"fld_319a11b727f84bbc8ce0b1af72ed9bab","modified":1733326750841,"created":1733326750841,"url":"/urn:uuid:","name":"Step 2.1.1 Create Aspect Model","description":"","method":"POST","body":{"mimeType":"application/json","text":"{\r\n \"metadata\" : {\r\n \"backupReference\" : \"https://dummy.link\",\r\n \"registrationIdentifier\" : \"https://dummy.link/ID8283746239078\",\r\n \"economicOperatorId\" : \"BPNL0123456789ZZ\",\r\n \"lastModification\" : \"2000-01-01\",\r\n \"predecessor\" : \"urn:uuid:00000000-0000-0000-0000-000000000000\",\r\n \"issueDate\" : \"2000-01-01\",\r\n \"version\" : \"1.0.0\",\r\n \"passportIdentifier\" : \"urn:uuid:550e8400-e29b-41d4-a716-446655440000\",\r\n \"status\" : \"draft\",\r\n \"expirationDate\" : \"2030-01-01\"\r\n },\r\n \"characteristics\" : {\r\n \"generalPerformanceClass\" : \"A\",\r\n \"physicalState\" : \"solid\",\r\n \"physicalDimension\" : {\r\n \"width\" : {\r\n \"value\" : \"\",\r\n \"unit\" : \"unit:millimetre\"\r\n },\r\n \"length\" : {\r\n \"value\" : \"\",\r\n \"unit\" : \"unit:millimetre\"\r\n },\r\n \"weight\" : {\r\n \"value\" : \"\",\r\n \"unit\" : \"unit:gram\"\r\n },\r\n \"height\" : {\r\n \"value\" : \"\",\r\n \"unit\" : \"unit:millimetre\"\r\n }\r\n },\r\n \"lifespan\" : [ {\r\n \"value\" : \"\",\r\n \"unit\" : \"\",\r\n \"key\" : \"guaranteed lifetime\"\r\n } ]\r\n },\r\n \"commercial\" : {\r\n \"placedOnMarket\" : \"2000-01-01\",\r\n \"purpose\" : [ \"automotive\" ]\r\n },\r\n \"identification\" : {\r\n \"batch\" : [ {\r\n \"value\" : \"BID12345678\",\r\n \"key\" : \"batchId\"\r\n } ],\r\n \"codes\" : [ {\r\n \"value\" : \"8703 24 10 00\",\r\n \"key\" : \"TARIC\"\r\n } ],\r\n \"type\" : {\r\n \"manufacturerPartId\" : \"123-0.740-3434-A\",\r\n \"nameAtManufacturer\" : \" \"\r\n },\r\n \"classification\" : [ {\r\n \"classificationStandard\" : \"GIN 20510-21513\",\r\n \"classificationID\" : \"1004712\",\r\n \"classificationDescription\" : \"Generic standard for classification of parts in the automotive industry.\"\r\n } ],\r\n \"serial\" : [ {\r\n \"value\" : \"\",\r\n \"key\" : \"partInstanceId\"\r\n } ],\r\n \"dataCarrier\" : {\r\n \"carrierType\" : \"QR\",\r\n \"carrierLayout\" : \"upper-left side\"\r\n }\r\n },\r\n \"sources\" : [ {\r\n \"header\" : \"Example Document XYZ\",\r\n \"category\" : \"Product Specifications\",\r\n \"type\" : \"URL\",\r\n \"content\" : \"https://dummy.link\"\r\n } ],\r\n \"materials\" : {\r\n \"substancesOfConcern\" : {\r\n \"applicable\" : true,\r\n \"content\" : [ {\r\n \"unit\" : \"unit:partPerMillion\",\r\n \"hazardClassification\" : {\r\n \"category\" : \"category 1A\",\r\n \"statement\" : \"Causes severe skin burns and eye damage.\",\r\n \"class\" : \"Skin corrosion\"\r\n },\r\n \"documentation\" : [ {\r\n \"contentType\" : \"URL\",\r\n \"header\" : \"Example Document XYZ\",\r\n \"content\" : \"https://dummy.link\"\r\n } ],\r\n \"concentrationRange\" : [ {\r\n \"max\" : 2.6,\r\n \"min\" : 2.1\r\n } ],\r\n \"location\" : \"Housing\",\r\n \"concentration\" : 5.3,\r\n \"exemption\" : \"shall not apply to product x containing not more than 1,5 ml of liquid\",\r\n \"id\" : [ {\r\n \"type\" : \"CAS\",\r\n \"name\" : \"phenolphthalein\",\r\n \"id\" : \"201-004-7\"\r\n } ]\r\n } ]\r\n },\r\n \"materialComposition\" : {\r\n \"applicable\" : true,\r\n \"content\" : [ {\r\n \"unit\" : \"unit:partPerMillion\",\r\n \"recycled\" : 12.5,\r\n \"critical\" : true,\r\n \"renewable\" : 23.5,\r\n \"documentation\" : [ {\r\n \"contentType\" : \"URL\",\r\n \"header\" : \"Example Document XYZ\",\r\n \"content\" : \"https://dummy.link\"\r\n } ],\r\n \"concentration\" : 5.3,\r\n \"id\" : [ {\r\n \"type\" : \"CAS\",\r\n \"name\" : \"phenolphthalein\",\r\n \"id\" : \"201-004-7\"\r\n } ]\r\n } ]\r\n }\r\n },\r\n \"handling\" : {\r\n \"applicable\" : true,\r\n \"content\" : {\r\n \"producer\" : [ {\r\n \"id\" : \"BPNL0123456789ZZ\"\r\n } ],\r\n \"sparePart\" : [ {\r\n \"manufacturerPartId\" : \"123-0.740-3434-A\",\r\n \"nameAtManufacturer\" : \"Mirror left\"\r\n } ]\r\n }\r\n },\r\n \"additionalData\" : [ {\r\n \"description\" : \"Description of an attribute\",\r\n \"label\" : \"Maximum permitted battery power\",\r\n \"type\" : {\r\n \"typeUnit\" : \"unit:volume\",\r\n \"dataType\" : \"array\"\r\n },\r\n \"data\" : \"23\",\r\n \"children\" : [ {\r\n \"description\" : \"Description of an attribute\",\r\n \"label\" : \"Maximum permitted battery power\",\r\n \"type\" : {\r\n \"typeUnit\" : \"unit:volume\",\r\n \"dataType\" : \"array\"\r\n },\r\n \"data\" : \"23\"\r\n } ]\r\n } ],\r\n \"operation\" : {\r\n \"import\" : {\r\n \"applicable\" : true,\r\n \"content\" : {\r\n \"eori\" : \"GB123456789000\",\r\n \"id\" : \"BPNL0123456789ZZ\"\r\n }\r\n },\r\n \"other\" : {\r\n \"id\" : \"BPNL0123456789XX\",\r\n \"role\" : \"distributor\"\r\n },\r\n \"manufacturer\" : {\r\n \"facility\" : [ {\r\n \"facility\" : \"BPNA1234567890AA\"\r\n } ],\r\n \"manufacturingDate\" : \"\",\r\n \"manufacturer\" : \"BPNLbi7tAJ8UiMsF\"\r\n }\r\n },\r\n \"sustainability\" : {\r\n \"reparabilityScore\" : \"B\",\r\n \"productFootprint\" : {\r\n \"material\" : [ {\r\n \"lifecycle\" : \"main product production\",\r\n \"rulebook\" : [ {\r\n \"contentType\" : \"URL\",\r\n \"header\" : \"Example Document XYZ\",\r\n \"content\" : \"https://dummy.link\"\r\n } ],\r\n \"unit\" : \"kg CO2 / kWh\",\r\n \"performanceClass\" : \"A\",\r\n \"manufacturingPlant\" : [ {\r\n \"facility\" : \"BPNA1234567890AA\"\r\n } ],\r\n \"type\" : \"Climate Change Total\",\r\n \"value\" : 12.678,\r\n \"declaration\" : [ {\r\n \"contentType\" : \"URL\",\r\n \"header\" : \"Example Document XYZ\",\r\n \"content\" : \"https://dummy.link\"\r\n } ]\r\n } ],\r\n \"carbon\" : [ {\r\n \"lifecycle\" : \"main product production\",\r\n \"rulebook\" : [ {\r\n \"contentType\" : \"URL\",\r\n \"header\" : \"Example Document XYZ\",\r\n \"content\" : \"https://dummy.link\"\r\n } ],\r\n \"unit\" : \"kg CO2 / kWh\",\r\n \"performanceClass\" : \"A\",\r\n \"manufacturingPlant\" : [ {\r\n \"facility\" : \"BPNA1234567890AA\"\r\n } ],\r\n \"type\" : \"Climate Change Total\",\r\n \"value\" : \"\",\r\n \"declaration\" : [ {\r\n \"contentType\" : \"URL\",\r\n \"header\" : \"Example Document XYZ\",\r\n \"content\" : \"https://dummy.link\"\r\n } ]\r\n } ],\r\n \"environmental\" : [ {\r\n \"lifecycle\" : \"main product production\",\r\n \"rulebook\" : [ {\r\n \"contentType\" : \"URL\",\r\n \"header\" : \"Example Document XYZ\",\r\n \"content\" : \"https://dummy.link\"\r\n } ],\r\n \"unit\" : \"kg CO2 / kWh\",\r\n \"performanceClass\" : \"A\",\r\n \"manufacturingPlant\" : [ {\r\n \"facility\" : \"BPNA1234567890AA\"\r\n } ],\r\n \"type\" : \"Climate Change Total\",\r\n \"value\" : 12.678,\r\n \"declaration\" : [ {\r\n \"contentType\" : \"URL\",\r\n \"header\" : \"Example Document XYZ\",\r\n \"content\" : \"https://dummy.link\"\r\n } ]\r\n } ]\r\n },\r\n \"status\" : \"original\",\r\n \"durabilityScore\" : \"A\"\r\n }\r\n}"},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json"}],"authentication":{},"metaSortKey":-1733326750841,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_6e310edba16a4a4c9a8bf650aba96fd8","parentId":"fld_d095cd218a7d4f5b907bb3dd48ba2046","modified":1733340032895,"created":1733333194131,"url":"/shell-descriptors//submodel-descriptors/","name":"Step 1.1 Get the Submodel","description":"","method":"GET","body":{"mimeType":"application/json","text":""},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json"},{"name":"User-Agent","value":"insomnia/2023.5.8"}],"authentication":{"type":"apikey","disabled":false,"key":"X-Api-Key","value":"DPPPROVIDERKEY","addTo":"header"},"metaSortKey":-1733326829573.625,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"fld_d095cd218a7d4f5b907bb3dd48ba2046","parentId":"wrk_2abbc17d6f894654b94880116b52753a","modified":1733326881242,"created":1733326823144,"name":"02 DPP-Verification","description":"","environment":{},"environmentPropertyOrder":null,"metaSortKey":-1733326750937,"_type":"request_group"},{"_id":"req_c977a8af8d2c4720bf49c8fac7ec664e","parentId":"fld_d095cd218a7d4f5b907bb3dd48ba2046","modified":1733340860853,"created":1733333261215,"url":"/shell-descriptors//submodel-descriptors/","name":"Step 1.2 Update the Submodel","description":"","method":"PUT","body":{"mimeType":"application/json","text":""},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json"},{"name":"User-Agent","value":"insomnia/2023.5.8"}],"authentication":{"type":"apikey","disabled":false,"key":"X-Api-Key","value":"DPPPROVIDERKEY","addTo":"header"},"metaSortKey":-1733326823950.4375,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_e1220ab188644a17a8654306dd94d596","parentId":"fld_d095cd218a7d4f5b907bb3dd48ba2046","modified":1733340775936,"created":1733333124880,"url":"/issue","name":"Step 1.3 Issue Verifiable Credentials","description":"","method":"POST","body":{"mimeType":"application/json","text":"{\n \"@context\": [\n \"https://www.w3.org/ns/credentials/v2\",\n \"https://w3c.github.io/vc-jws-2020/contexts/v1/\",\n \"https://raw.githubusercontent.com/eclipse-tractusx/digital-product-pass/main/dpp-verification/schemas/cdc/1.0.0/certifiedDataCredential.jsonld\",\n \"https://raw.githubusercontent.com/eclipse-tractusx/digital-product-pass/main/dpp-verification/schemas/dpp/5.0.0/digitalProductPass.jsonld\"\n ],\n \"type\": [\n \"VerifiableCredential\",\n \"CertifiedDataCredential\",\n \"DigitalProductPassport\"\n ],\n \"parent\": {\n \"@id\": \"did:web:dpp-test-system.com:BPNL00000003B2OM:api:public:urn%3Auuid%3A1c5b6a7c-90d4-3481-0538-f134ff53076d\",\n \"checksum\": \"64b1a523da600e8fc0018cf57b8f7756b83bb6e9b11c81b1c7444272fab239902321b1b6ae6624d6846fd010616ae98c118f12491f922badd64e58b782c6a115\"\n },\n \"semanticId\": \"urn:samm:io.catenax.generic.digital_product_passport:5.0.0#DigitalProductPassport\",\n \"credentialSubject\": {\n \"DigitalProductPassport\": \n },\n \"id\": \"urn:uuid:\"\n}"},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json","id":"pair_af8b356e73f34c5db6441d240d6eb6b3"},{"name":"User-Agent","value":"insomnia/2023.5.8","id":"pair_8cdf2889d06f4e6e898190d441c62429"},{"id":"pair_989089f003d14f04a5b8ff78467f8e72","name":"BPN","value":"BPNL00000003B2OM","description":""}],"authentication":{"type":"apikey","disabled":false,"key":"X-Api-Key","value":"DPPPROVIDERKEY","addTo":"header"},"metaSortKey":-1733326818327.25,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"req_90e63c4eb48f48298ccc5161cf71228b","parentId":"fld_d095cd218a7d4f5b907bb3dd48ba2046","modified":1733340833646,"created":1733326894484,"url":"/verify","name":"Verify the Proof","description":"","method":"POST","body":{"mimeType":"application/json","text":""},"parameters":[],"headers":[{"name":"Content-Type","value":"application/json","id":"pair_34c9cf9b22cd4e20954ade158e093e42"},{"name":"User-Agent","value":"insomnia/2023.5.8","id":"pair_84e96700b27d45bcb2cec1b10989c850"},{"id":"pair_e0d14b3531204200a1e255da43452541","name":"BPN","value":"BPNL00000003CSGV","description":""}],"authentication":{"type":"apikey","disabled":false,"key":"X-Api-Key","value":"DPPCONSUMERKEY","addTo":"header"},"metaSortKey":-1733326795834.5,"isPrivate":false,"settingStoreCookies":true,"settingSendCookies":true,"settingDisableRenderRequestBody":false,"settingEncodeUrl":true,"settingRebuildPath":true,"settingFollowRedirects":"global","_type":"request"},{"_id":"env_97a58519d1aba1aac14a490b862d6798805bb37e","parentId":"wrk_2abbc17d6f894654b94880116b52753a","modified":1733326759462,"created":1733326759462,"name":"Base Environment","data":{},"dataPropertyOrder":null,"color":null,"isPrivate":false,"metaSortKey":1733326759462,"_type":"environment"},{"_id":"jar_97a58519d1aba1aac14a490b862d6798805bb37e","parentId":"wrk_2abbc17d6f894654b94880116b52753a","modified":1733326759469,"created":1733326759469,"name":"Default Jar","cookies":[],"_type":"cookie_jar"}]} \ No newline at end of file diff --git a/dpp-tutorial/verification.md b/dpp-tutorial/verification.md index 4f601e1b0..db91a664d 100644 --- a/dpp-tutorial/verification.md +++ b/dpp-tutorial/verification.md @@ -20,11 +20,138 @@ SPDX-License-Identifier: CC-BY-4.0 ####################################################################### --> -# Verification Process??? +## Certification Section -## Right / Wrong? +### 1° Create Certified Data Credentials (CDC) -### Explenation -#### Steps to process +#### Get Digital Twin Id +- Get the `` from step 2.2.2 from Insomnia collection and store it in notepad editor for later use. + +#### Get Submodel Id +- Search for the `digitalProductPass` keyword from the existing digital twin submodel + +- Encode the submodel Id using this Encoder and store it in notepad editor for later use + +> [!TIP] +> Use Ctrl + F for searching + +Navigate to the DPP-Verification directory in insomnia and follow the steps + +### Step 1.1 Get the Submodel + +- Subsitute `` with base64 encoded Digital Twin Id from [here](#get-digital-twin-id). + +- Subsitute `` with base64 encoded Id from [here](#get-submodel-id). + +- Subsitute `` with its value from the given paper. + +- Execute the API call. + +Example Response: +```json +{ + "endpoints": [ + { + "interface": "SUBMODEL-3.0", + "protocolInformation": { + ... + } + } + ], + "idShort": "digitalProductPass", + "id": "urn:uuid:1a6c2d40-14de-4bb3-8aee-d5f7f01f49e3", + "semanticId": { + "type": "ExternalReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:samm:io.catenax.generic.digital_product_passport:5.0.0#DigitalProductPassport" + } + ] + }, + "description": [ + { + "language": "en", + "text": "Digital Product Pass Submodel" + } + ], + "displayName": [] +} + +``` + +### Step 1.2 Update the Submodel + +- Copy the response from [step 1.1](#step-11-get-the-submodel) + +- Paste the response in step 1.2 and replace `` in Insomnia collection + +- Search for the `supplementalSemanticId` and delete the entire line + +- Search for the `semanticId` and update it with the following json content: + +```json +{ + "type": "ExternalReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:samm:io.catenax.generic.digital_product_passport:5.0.0#DigitalProductPassport" + }, + { + "type": "Operation", + "value": "https://w3c.github.io/vc-jws-2020/contexts/v1/" + }, + { + "type": "DataElement", + "value": "urn:samm:io.catenax.dpp_verification.cdc:1.0.0#CertifiedDataCredential" + }, + { + "type": "Entity", + "value": "https://www.w3.org/ns/credentials/v2" + } + ] +} +``` + +- Subsitute `` with base64 encoded Digital Twin Id from [here](#get-digital-twin-id). + +- Subsitute `` with base64 encoded Id from [here](#get-submodel-id). + +- Subsitute `` with its value from the given paper. + +- Execute the API call. + +### Step 1.3 Issue the Verifiable Credentials + +- Copy the DPP aspect model from the Step 2.1.1 and replace `` with the payload that you copied. + +- Subsitute `` with its value given in a paper. + +- Execute the API call. + + +## Verification Section + +### Verify the Proof + +- Copy the response from the [Step 1.3](#step-13-issue-the-verifiable-credentials) + +- Paste the response and replace `` + +- Execute the API call. + +If everything works, you will get the following response. + +```json +{ + "message": "Verified Credential is Valid! The proof was verified!", + "verified": true +} +``` + +- To see the proof in the application, scan the QR code again or introduce ID in the app. + +Congratulations! You have successfully added a verifible credential to the Digital Product Passport. From 52758de478aae8c256403763400bd7f2477d76af Mon Sep 17 00:00:00 2001 From: Saud Khan Date: Wed, 4 Dec 2024 23:31:38 +0100 Subject: [PATCH 2/3] chore(irs): updated irs guide --- dpp-tutorial/irs-drill-down.md | 169 ++++++++++++++++++++++++--------- 1 file changed, 126 insertions(+), 43 deletions(-) diff --git a/dpp-tutorial/irs-drill-down.md b/dpp-tutorial/irs-drill-down.md index 1cc546c6d..410e94a43 100644 --- a/dpp-tutorial/irs-drill-down.md +++ b/dpp-tutorial/irs-drill-down.md @@ -238,9 +238,9 @@ curl --location '/' \ --header 'Content-Type: application/json' \ ``` -## 6° Attach BOMAsBuilt to Existing Digital Twin +## 6° Add BOMAsBuilt and SerialPart to Existing Digital Twin -* Get existing digital Twin by Base64 encoded digital twin Id +* To get the existing digital twin, get your part Id from the given paper and encode it into Base64. The digital twin registered can be checked/verified from the following command: @@ -269,7 +269,6 @@ Example JSON response: "id": "urn:uuid:a530baad-77ad-4ffc-a925-f3a207839791", "specificAssetIds": [ { - "supplementalSemanticIds": [], "name": "manufacturerPartId", "value": "MPI7654", "externalSubjectId": { @@ -284,68 +283,152 @@ Example JSON response: } ], "submodelDescriptors": [ - { - "endpoints": [ - { ... } - ] - } + { + "endpoints": [ + { + "interface": "SUBMODEL-3.0", + "protocolInformation": { + ... + } + } + ], + "idShort": "digitalProductPass", + "id": "urn:uuid:d2e47115-c430-4145-bbde-1c743804a379", + ... + } ] } ``` -Copy the actual json response and paste it into the notepad editor. You will need the values later. +- Search for the `submodelDescriptors` array. We need to add more elements to the submodelDescriptors array. -### Update Digital Twin +- Copy your response and add the following json content into the submodelDescriptors array: +```json +{ + "endpoints": [ + { + "interface": "SUBMODEL-3.0", + "protocolInformation": { + "href": "/api/public/", + "endpointProtocol": "HTTP", + "endpointProtocolVersion": ["1.1"], + "subprotocol": "DSP", + "subprotocolBody": "id=urn:uuid:0c3d2db0-e5c6-27f9-5875-15a9a00e7a27;dspEndpoint=", + "subprotocolBodyEncoding": "plain", + "securityAttributes": [ + { + "type": "NONE", + "key": "NONE", + "value": "NONE" + } + ] + } + } + ], + "idShort": "singleLevelBomAsBuilt", + "id": "", + "semanticId": { + "type": "ExternalReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:samm:io.catenax.single_level_bom_as_built:3.0.0#SingleLevelBomAsBuilt" + } + ] + }, + "description": [ + { + "language": "en", + "text": "DPP singleLevelBOMAsBuilt Submodel" + } + ], + "displayName": [] +}, +{ + "endpoints": [ + { + "interface": "SUBMODEL-3.0", + "protocolInformation": { + "href": "/api/public/", + "endpointProtocol": "HTTP", + "endpointProtocolVersion": ["1.1"], + "subprotocol": "DSP", + "subprotocolBody": "id=urn:uuid:0c3d2db0-e5c6-27f9-5875-15a9a00e7a27;dspEndpoint=", + "subprotocolBodyEncoding": "plain", + "securityAttributes": [ + { + "type": "NONE", + "key": "NONE", + "value": "NONE" + } + ] + } + } + ], + "idShort": "serialPart", + "id": "", + "semanticId": { + "type": "ExternalReference", + "keys": [ + { + "type": "Submodel", + "value": "urn:samm:io.catenax.serial_part:3.0.0#SerialPart" + } + ] + }, + "description": [ + { + "language": "en", + "text": "DPP serial part Submodel" + } + ], + "displayName": [] +} +``` -Attach the following **SingleLevelBOMAsBuilt** and **SerialPart** aspects to the existing Digital Twin object that you retrieved and substitute the corresponding placeholders **>** and **>** with their Ids generated in [step 1](#1-generate-the-ids). +- Substitute the corresponding placeholders **>** and **>** with their Ids generated in [step 1](#1-generate-the-ids). -Example to find the placeholders: -1 - Get access to the file [example-dt-irs](./resources/digital-twins/example-dt-irs.json) +> [!IMPORTANT] +> `` and `` are given in a paper -2 - Get the placeholders from the below table and search with CTRL + F in [example-dt-irs](./resources/digital-twins/example-dt-irs.json): +> [!CAUTION] +> Please make sure that you substitute all the placeholders with their values -3 - Substitute the following placeholders with their values. The values you will get them from the existing digital twin object that was retrieved. +- Search for the `supplementalSemanticId` keyword (if any) and remove that line. +- Save your changes to a json file. -| Placeholder | Path | -|------------------------- |-----------------------------------------------------------------| -| > | globalAssetId | -| | id | -| | idShort | -| > | specificAssetIds[1].value | -| | submodelDescriptors[0].endpoints[0].protocolInformation.href | -| | submodelDescriptors[1].endpoints[0].protocolInformation.href | -| | submodelDescriptors[2].endpoints[0].protocolInformation.href | -| > | submodelDescriptors[0].endpoints[0].protocolInformation.href | -| | submodelDescriptors[0].id | -| | submodelDescriptors[0].endpoints[0].subprotocolBody | -| | submodelDescriptors[1].endpoints[0].subprotocolBody | -| | submodelDescriptors[2].endpoints[0].subprotocolBody | -| > | submodelDescriptors[1].endpoints[0].protocolInformation.href | -| | submodelDescriptors[1].id | -| > | submodelDescriptors[2].endpoints[0].protocolInformation.href | -| | submodelDescriptors[2].id | -> [!TIP] -> The table shows number of occurences of a specific property, for example > has two occurences: `globalAssetId` and `id` +### Update Digital Twin with BOMAsBuilt and SerialPart Submodels +Update the digital twin submodel using the following command: -> [!CAUTION] -> Please make sure that you substitute all the placeholders with their values from the above table +> PUT /shell-descriptors/ -> Please only use your assigned UUID from [here](./resources/test-data/carParts.json) that matches the UUID on the given paper +*Windows* +
+ Click to see the Windows command -4 - Save your modified digital twin in json format. +```bash +curl.exe -v -X PUT "/shell-descriptors/" ` + -H "Content-Type: application/json" + --data-binary "@.json"`" +``` -Now, you can update the modified digital twin object using the following command: +
-> PUT /shell-descriptors/ +*Mac & Linux* +
+ Click here to see the Mac & Linux command ```bash -curl --location --request PUT '/shell-descriptors/' \ ---header 'Content-Type: application/json' --data '@resources/.json' +curl --location '/shell-descriptors/' \ +--header 'Content-Type: application/json' \ +--data "@.json" ``` +
+ Congratulations, you have successfully attached BOMAsBuilt relationships and serial part to the existing Digital Twin object. From 44440c31a6f36fbf2320861cbe4cfc7ec7a1c5f1 Mon Sep 17 00:00:00 2001 From: matbmoser Date: Thu, 5 Dec 2024 08:13:22 +0100 Subject: [PATCH 3/3] chore: updated IP checks --- DEPENDENCIES_BACKEND | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/DEPENDENCIES_BACKEND b/DEPENDENCIES_BACKEND index 42d1e7c9e..de81b148f 100644 --- a/DEPENDENCIES_BACKEND +++ b/DEPENDENCIES_BACKEND @@ -58,7 +58,7 @@ maven/mavencentral/jakarta.validation/jakarta.validation-api/3.0.2, Apache-2.0, maven/mavencentral/jakarta.xml.bind/jakarta.xml.bind-api/4.0.2, BSD-3-Clause, approved, ee4j.jaxb maven/mavencentral/net.minidev/accessors-smart/2.5.1, Apache-2.0, approved, clearlydefined maven/mavencentral/net.minidev/json-smart/2.5.1, Apache-2.0, approved, clearlydefined -maven/mavencentral/org.apache.commons/commons-collections4/4.4, Apache-2.0, approved, clearlydefined +maven/mavencentral/org.apache.commons/commons-collections4/4.4, Apache-2.0, approved, #17660 maven/mavencentral/org.apache.commons/commons-lang3/3.14.0, Apache-2.0, approved, #11677 maven/mavencentral/org.apache.commons/commons-text/1.11.0, Apache-2.0, approved, clearlydefined maven/mavencentral/org.apache.logging.log4j/log4j-api/2.23.1, Apache-2.0, approved, #13368