gs1 / VC-Data-Model

Apache License 2.0
3 stars 1 forks source link

Product image data example #7

Open OR13 opened 1 year ago

OR13 commented 1 year ago

https://www.gs1.org/standards/gs1-product-image-specification-standard/current-standard#1-Introduction+1-2-Determining-the-front-face

can you add the example here?

nissimsan commented 1 year ago

Here's an example. It's based on https://www.gs1.org/voc/image and four of the properties of https://www.gs1.org/voc/ReferencedFileDetails.

There are likely more aspects of images which could/should be included (like angle), I only included what I could find on https://www.gs1.org/voc/.

{
  "@context": [
    "https://www.w3.org/2018/credentials/v1",
    "https://w3id.org/vc/status-list/2021/v1",
    {
      "image": "https://www.gs1.org/voc/image",
      "referencedFileDetails": "https://www.gs1.org/voc/ReferencedFileDetails",
      "filePixelHeight": "https://www.gs1.org/voc/filePixelHeight",
      "filePixelWidth": "https://www.gs1.org/voc/filePixelWidth",
      "referencedFileSize": "https://www.gs1.org/voc/referencedFileSize", 
      "referencedFileType": "https://www.gs1.org/voc/referencedFileType"
    }
  ],
  "id": "did:example:4e24b35d-de87-49d4-a26b-70490c62ec25",
  "type": [
    "VerifiableCredential",
    "GS1ImageDataCredential"
  ],
  "issuer": "did:key:z6MktHQo3fRRohk44dsbE76CuiTpBmyMWq2VVjvV6aBSeE3U",
  "issuanceDate": "2020-12-03T03:14:59Z",
  "credentialSubject": {
    "id": "https://id.gs1.org/01/07541234555551",
    "keyAuthorization": "did:example:60cda318-a0a7-4e39-b600-ea38bf68a31f",
    "image": "https://www.example.com/assets/7541234555551.png",
    "referencedFileDetails": {
      "filePixelHeight": "800",
      "filePixelWidth": "600",
      "referencedFileSize": {
        "type": [
          "QuantitativeValue"
        ],
        "value": "800",
        "unitCode": "kb"
      },
      "referencedFileType": "https://www.gs1.org/voc/ReferencedFileTypeCode-OUT_OF_PACKAGE_IMAGE"
    }
  },
  "credentialStatus": {
    "id": "https://www.example.com/mycreds/status/4e24b35d-de87-49d4-a26b-70490c62ec25",
    "type": "CredentialStatusList2021"
  },
  "proof": {}
}
paulfdietrich commented 1 year ago

@nissimsan , I think it would help to understand how this might be used in the flow. Is the intention to use this to support the e-commerce images that might go on a web page? If so, it makes sense to allow an array here, as there can be multiple images. If this is some kind of reference image to support cross-border product flow, it might be fine to include a single image.

nissimsan commented 1 year ago

That's a great point, @paulfdietrich. I agree with you, this should in any case be an array. 👍