NFT Schema

NFT Demo

💡

For demo purpose, to claim your first NFT and visualize the content, you can:

  • Download the Arianee Wallet on Store.
  • Use the Ownership Account.

JSON Schema

The Json Schema contains the NFT content structure.

⚠️

Keys cannot start with $, except schema. Example: { $schema: "http://myschema.com", name:'my name', $ref:'my internalref '}.

Overview

ParameterOptionalDisplayed in walletDescription
$schemaRequiredNot applicableContent file
nameRequiredProduct name
skuOptionalStock keeping unit
gtinOptionalProduct identification number
brandInternalIdOptionalBrand identification
categoryOptionalProduct category
intendedOptionalInfo on target customers
serialNumberOptionalProduct serial number
subBrandOptionalSub-brand name
modelOptionalProduct model
languageRequiredNFT main language
descriptionRequiredNFT description
subDescriptionOptionalNFT sub-description
externalContentsOptionalExternal links
i18nOptionalOther languages
msrpOptionalManufacturer suggested retail price
mediasOptionalMedia integration such as pictures
customAttributesOptionalSpecific attributes of the product
attributesOptionalInformation on the product
materialsOptionalProduct materials
sizeOptionalProduct size
manufacturingCountryOptionalProduct manufacturing country

Schema body

Schema file content

$Schema - URL of the Schema json file.

{
    "$schema": "https://cert.arianee.org/version1/ArianeeProductCertificate-i18n.json",
...
{
  "$id": "https://cert.arianee.org/version1/ArianeeProductCertificate-i18n.json",
  "$schema": "https://cert.arianee.org/version1/ArianeeProductCertificate-i18n.json",
  "title": "Arianee Certificate",
  "type": "object",
  "properties": {
    "$schema": {
      "title": "$schema",
      "type": "string",
      "default": "https://cert.arianee.org/version1/ArianeeProductCertificate-i18n.json",
      "description": "Arianee Certificate i18n"
    },
...  

Product name

name - First information displayed in the NFT owner's wallet.

...
    "name": "The Navyclock [DEMO]",
...
...
    "name": {
      "type": "string",
      "title": "Name",
      "default": "",
      "description": "Name of the product.\n Likely to be the first thing displayed on a wallet app."
    },
...  

Stock keeping unit

sku - Alphanumeric code assigned to a product by a business to identify the price, product options, and manufacturer.

...
    "sku": "NAC-BB-LS20-06",
...
...
    "sku": {
      "type": "string",
      "title": "SKU",
      "default": "",
      "description": "The stock keeping unit (SKU) is an alphanumeric code assigned to a product by a business to identify the price, product options and manufacturer of the merchandise."
    },
...  

Global Trade Item Number

gtin - Unique 14-digit number used to identify trade items, products or services.

...
    "gtin": "0 00 12345 60001 2",
...
...
    "gtin": {
      "type": "string",
      "title": "GTIN",
      "default": "",
      "description": "The Global Trade Item Number (GTIN) is a globally unique 14-digit number used to identify trade items, products, or services. GTIN is also an umbrella term that refers to the entire family of UCC. EAN data structures. The entire family of data structures within the GTIN is: GTIN-12 (UPC)."
    },
...  

Brand ID

brandInternalId - Identification number of the brand.

...
    "brandInternalId": "NYC12345",
...
...
    "brandInternalId": {
      "type": "string",
      "title": "Brand Internal ID",
      "default": "",
      "description": "Identification number that end customers will not have access to."
    },
...  

Product category

category - Information on the category to which the product belongs.

  • Digital Asset
  • accessory
  • apparel
...
    "category": "accessory",
...

Targets

intended - Information on the target customer for the product.

...
    "intended": "womens",
...
...
    
    "intended": {
      "type": "string",
      "title": "Intended",
      "description":"Information on the target customer market of the product.",
      "temp": "Women's Men's Youth-Girls Youth-Boys Toddler-Girls Todder-Boys Infant-Girls Infant-Boys Adult Gender Neutral/Non-binary",
      "oneOf": [
        {
          "description": "Women's",
          "title": "Women's",
          "enum": [
            "womens"
          ]
        },
        {
          "description": "Men's",
          "title": "Men's",
          "enum": [
            "mens"
          ]
        },
        {
          "description": "Adult Gender Neutral",
          "title": "Adult Gender Neutral",
          "enum": [
            "neutral"
          ]
        }
      ]
    },
... 

Serial number

serialnumber - Identification number of the product.

...
"serialnumber": [{
        "type": "serialnumber",
        "value": "5040505 [demo]"
    }, {
        "type": "casenumber",
        "value": "85290CA12 [demo]"
    }, {
        "type": "movementnumber",
        "value": "85QR18 [demo]"
    }],
...
...
    
    "serialnumber": {
      "type": "array",
      "title": "Serial Number",
      "description": "Identification numbers that end customers will have access to.",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Type",
            "oneOf": [
              {
                "description": "Serial Number",
                "title": "Serial Number",
                "enum": [
                  "serialnumber"
                ]
              },
              {
                "description": "Case Number",
                "title": "Case Number",
                "enum": [
                  "casenumber"
                ]
              },
              {
                "description": "Movement Number",
                "title": "Movement Number",
                "enum": [
                  "movementnumber"
                ]
              },
              {
                "description": "Vehicle Identification Number",
                "title": "Vehicle Identification Number",
                "enum": [
                  "vin"
                ]
              }
            ]
          },
          "value": {
            "type": "string",
            "title": "Value"
          }
        }
      }
    },
...  

Sub-brand

subBrand - When a brand is owned by another brand, the sub-brand can be filled in.

...
    "subBrand": "Arianee watches",
...
...
    
    "subBrand": {
      "type": "string",
      "title": "Sub Brand",
      "description": "This field may be used when a product is part of a sub Brand owned by the Brand who creates the certificate."
    },
...  

Model

model - It give details to the product name. Second information displayed in the wallet.

...
    "model": "Limited serie 2020",
...
...
    
    "model": {
      "type": "string",
      "title": "Model",
      "description": "Model of the product to bring precisions to the Name.\n Likely to be the second thing displayed on a wallet app."
    },
...  

Language

language - The main language of the NFT, displayed as the default language when the translation is unavailable.

...
    "language": "en-US",
...
...
    
"language": {
      "type": "string",
      "title": "Language",
      "description": "Descriptions and external contents can be stored in different languages",
      "oneOf": [
        {
          "title": "French",
          "description": "French",
          "enum": [
            "fr-FR"
          ]
        },
        {
          "title": "English (US)",
          "description": "English (US)",
          "enum": [
            "en-US"
          ]
        },
        {
          "title": "Chinese (traditional)",
          "description": "Chinese (traditional)",
          "enum": [
            "zh-TW"
          ]
        },
        {
          "title": "Chinese (simplified)",
          "description": "Chinese (simplified)",
          "enum": [
            "zh-CN"
          ]
        },
        {"enum": ["ko-KR"], "title":"Korean", "description": "Korean"},
        {"enum": ["ja-JP"], "title":"Japanese", "description": "Japanese"},
        {"enum": ["de_DE"], "title":"German", "description": "German"}
      ]
    },
...  

Description

description - Description of the NFT.

📌

HTML format is supported.

...
    "description": "<b>Description</b>\nThe Navyclock by Arianee watch, small model, quartz movement. Case in 18k pink gold, beaded crown in 18k pink gold set with a synthetic cabochon-shaped spinel, strap in leather. \n\n<b>Case dimensions</b>\ndiameter: 29.5 mm, thickness: 6.35 mm, water-resistant to 3 bar (approx. 30 meters/100 feet).",
...
...
    "description": {
      "type": "string",
      "title": "Description",
      "description": "Description of the product. (HTML Accepted)\n A description can be stored for each language"
    },
...  

Sub-description

subDescription - NFT sub description. Array of typed sub-description.

📌

HTML format is allowed.

...
    "subDescription": [{
        "type": "other",
        "title": "The Navyclock watchmaking process",
        "content": "The Navyclock preserves the perfectly pitched classical elegance and signature Arianee features. The brand has been producing its own in-house movements since 2017. The movements boast a host of features but are designed to be thin by incorporating various complications into the mainplate.",
        "order": 1
    }, {
        "type": "service",
        "title": "Customer service information",
        "content": "The Navyclock is rarely down. When it happens you can be sure our network will be here for you. ",
        "order": 2
    }],
...
...

    "subDescription": {
      "required": false,
      "type": "array",
      "title": "Description (more)",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Type",
            "oneOf": [
              {
                "enum": [
                  "service"
                ],
                "title": "Servicing",
                "description": "Servicing"
              },
              {
                "enum": [
                  "recycling"
                ],
                "title": "Recycling",
                "description": "Recycling"
              },
              {
                "enum": [
                  "other"
                ],
                "title": "other",
                "description": "other"
              }
            ]
          },
          "title": {
            "type": "string",
            "title": "Title"
          },
          "content": {
            "type": "string",
            "title": "Content"
          },
          "order": {
            "type": "number",
            "title": "Order (number)"
          }
        }
      }
    },
...  

External content

externalContent - Storing of links to external contents your brand wishes to introduce to owners in the wallet. Find below some examples of external content that can be integrated into your NFT.

External website: Regular link to an external website.

...
	"externalContents": [{
        "type": "website",
        "title": "About Arianee",
        "url": "https://www.arianee.org/",
        "order":1
    },

Link with proof of ownership: Link to a proof of ownership.

...
	"externalContents": [{
        "type": "proofLinkAction",
        "title": "Link with a proof of ownership",
        "url": "https://test.arian.ee/proofLinkAction.html"
    		"order":2
    }],

Transparency: Option to display general information about the physical origin of your products.

📌

  • To use transparency, use this Schema.
  • The description is HTML compliant.
  • Icons can be customized.
...
	"transparencyItems":
    [
        {
            "category": "assembly",
            "type": "production_chain",
            "subtype": "processing_steps_and_places",
            "title": "End-to-end transparency information",
            "subtitle": "Upstream blockchain expertise by IBM",
            "description": "<h2 style=\"text-align: center\">End-to-end transparency information</h2><p>As the leader in blockchain technology, over the last years, IBM has been delivering numerous blockchain-based solutions for improving the traceability of goods across industries. Together with IBM, we combine our expertise to offer the most complete blockchain solution for brands, linking supply chain visibility with bespoke brand-consumer engagement. From materials to production and shipment, IBM enables us to gather transparency information directly from the brands, thus enhancing our passports with data integrity and ultimate trust. Every qualitative information you see in this passport comes from IBM business platform. For more information: <a href=\"https://www.ibm.com/blockchain\"> https://www.ibm.com/blockchain </a> </p>",
           "medias":[{
       				 "mediaType":"picture",
       				 "type":"icon",
        				"url":"https://documentation.arianee.com/pub/1669922391060-téléchargement.png"}],
        },
        {
            "category": "assembly",
            "type": "production_chain",
            "subtype": "processing_steps_and_places",
            "title": "Production",
            "subtitle": "Made in France",
            "description": "<h2 style=\"text-align: center\">Production</h2><p>Traceability information verified by IBM Hyperledger: <ul><li>Garment Construction: 30/08/2021 - 02/09/21 in Aubervilliers by Wiltee <li> Dyeing: 07/09/21 in Aubervilliers by Wiltee <li> Printing: 07/09/21 in Aubervilliers by Wiltee. </ul>This hoodie was made by WILTEE Paris. WILTEE is Paris-based textile atelier that prides itself on zero stock thanks to a print-on-demand approach, and great working conditions for employees.  For more information: <a href=\"https://wiltee.com/\"> https://wiltee.com </a> </p>"
        },
        {
            "category": "material",
            "type": "eco_design",
            "subtype": "material-responsible_procurement-organic organic",
            "title": "Material",
            "subtitle": "100% organic cotton",
            "description": "<h2 style=\"text-align: center\">Material</h2><p></p><p>Traceability information verified by IBM Hyperledger: <ul><li>Cotton: 100% organic<li>Country of origin: Produced in Portugal <li>Certification: GOTS</ul>The <a href=\"https://www.youtube.com/watch?v=xhQiGhnbDqw\">(GOTS)</a> label is a reliable guarantee for consumers of the organic origin of the textile they buy. Each step of the textile production chain is independently certified using strict criteria. From the harvest of raw materials, through environmentally and socially responsible manufacturing, to labeling, everything is controlled with the aim of respecting the environment, workers and consumers. For more information: <a href=\"https://global-standard.org/\">https://global-standard.org </a> </p>",
	        "externalContents":
	            [
	                {
	                    "type": "website",
	                    "title": "What is GOTS ?",
	                    "url": "https://global-standard.org/"
	                }
	            ]
        },
        {
            "category": "material",
            "type": "eco_design",
            "subtype": "material-responsible_procurement-organic organic",
            "title": "Limited edition collection",
            "subtitle": "Original designs by Kitten Production",
            "description": "<h2 style=\"text-align: center\">Limited edition collection</h2><p></p><p>Traceability information verified by IBM Hyperledger:<ul> <li>Garment Design: %ibm_garmentDesignDate in Paris by Kitten Production. The creative design for this hoodie was made by Kitten Production.</ul> Kitten is a creative agency producing stills, motion and digital content for the fashion, beauty, and luxury industries. Kitten is an official partner of the Fédération de la Haute Couture et de la Mode & Paris Fashion Week, and an active member of the Institut Français de la Mode Foundation. For more information: <a href=\"https://www.kittenproduction.com/\">https://www.kittenproduction.com/ </a> </p>"
        },
        {
            "category": "impact",
            "type": "environmental_impact",
            "subtype": "environmental_training",
            "title": "Innovative savoir faire",
            "subtitle": "NFC chips by ISRA, Label Tags by Neyret",
            "description": "<h2 style=\"text-align: center\">Innovative savoir faire</h2><p></p><p> NFC chips by Neyret & ISRA Traceability information verified by IBM Hyperledger: <ul> <li>Label Tags Design: 30/08/21 in Saint-Etienne by Neyret <li>Label Tags Creation: 06/09/21 in Saint-Etienne by Neyret <li>NFC Chips Creation: 02/09/21 in Romans by ISRA</ul></p><img src=\"https://api.bdh-arianee-showroom.arianee.com/pub/1631283884274-tisseur.png\"></p> Manufacturer of high-end textile labels, ribbons and accessories. Neyret has been integrating intelligent technologies into their products to meet the needs of brands in terms of identification, authentication, traceability and digital communication (RFID, woven QR code, NFC, augmented reality, etc.) Neyret's core know-how combined with cutting-edge technologies, perfectly integrated into the products, offer their customers tailor-made solutions to functionalize their items, while respecting their visual identity and their creative inspirations.  For more information:<a href=\"http://neyret.com/\">http://neyret.com </a></p><img src=\"https://api.bdh-arianee-showroom.arianee.com/pub/1631283879056-1524151744590.jpeg\"></p><p>ISRA is an independent French company specialising in the design and manufacture of cards, customised media and IOT products, mainly dedicated to trade, access control, identification, and luxury universe. As well as its products, ISRA offers a wide range of services such as printing, customisation, contact or contactless chip integration, card programming and routing operations. For more information: <a href=\"https://www.isra.fr/\">https://www.isra.fr </a> </p>"
        },
        {
            "category": "impact",
            "type": "social_impact",
            "subtype": "qualified_employment_support",
            "title": "Customer relationship 3.0",
            "subtitle": "NFT encrypted on blockchain by Arianee",
            "description": "<h2 style=\"text-align: center\">Customer relationship 3.0</h2><p>The NFT for this hoodie was created by Arianee. Founded in 2018, Arianee is the leading NFT platform for the luxury and fashion industries. Arianee combines an Association - Arianee Project - gathering major brands and tech companies around its open source protocol & a tech company - Arianee SAS - focused on developing and distributing the most advanced software as a service platform based on the Arianee open source blockchain technology. The Arianee protocol makes it possible to associate each luxury product with its own unique, unforgeable NFT (digital passport). It opens up a secure and trusted communication channel between brands and owners. For more information: <a href=\"https://www.arianee.org/\">https://www.arianee.org </a> </p>"
        }
    ]

Youtube video: Redirect your customers to a YouTube video.

...
	"externalContents":
         [{"type":"youtube",
         "title":"From the street to metaverse",
           "url":"https://www.youtube.com/watch?v=7wPUW5HHR-I&t=29s",
           "order":3
        }],

Link to another claimable NFT: Redirect your customers to another claimable NFT.

...
	"externalContents": [{
        "type": "authRedirectTo",
        "title": "Link to another claimable NFT",
        "url":"https://test.arian.ee/316330319,90ah88byzpr1"
    }],

Localize contents

i18n - Storing of international content. Specific content can be stored for each language:

  • language
  • description
  • subDescription
  • externalContents

📌

The displayed language is based on the device language. If unavailable, the main language of the NFT is displayed.

...
  "i18n": [{
        "language": "fr-FR",
        "description": "<b>Description</b>\nLa montre The Navyclock d'Arianee est un petit modèle utilisant le mouvement à quartz. Boitier en or rose 18 carats, Couronne perlée en or rose 18 carats sertie d'un spinelle synthétique en forme de cabochon, bracelet en cuir.\n\n<b>Dimensions</b>\ndiamètre: 29.5 mm, épaisseur: 6.35 mm, étanche à 3 bar (environ 30 mètres/100 pieds).",
        "subDescription": [],
        "externalContents": [{
            "type": "website",
            "title": "Site",
            "url": "https://www.arianee.org/",
            "order": 1
        }, {
            "type": "website",
            "title": "Arianee",
            "url": "https://www.arianee.org/about-arianee",
            "order": 3
        }, {
            "type": "website",
            "title": "L'Histoires des montres ",
            "url": "https://fr.wikipedia.org/wiki/Montre_(horlogerie)",
            "order": 2
        }, {
            "type": "proofLinkAction",
            "title": "Link with a proof of ownership",
            "url": "https://test.arian.ee/proofLinkAction.html"
        }]
    }, {
        "language": "zh-CN",
        "description": "<b>描述</b>\nThe Navyclock by Arianee 手表,小型款,石英机芯. 18k玫瑰金表壳,18k玫瑰金串珠状表冠,镶有凸圆形人造合成尖晶石,皮革表带.\n\n<b>外壳尺寸</b>\n直径:29.5毫米,厚度:6.35毫米,防水深度达3巴(约30米/ 100英尺\n",
        "subDescription": [],
        "externalContents": [{
            "type": "website",
            "title": " 网站",
            "url": "https://www.arianee.org/",
            "order": 1
        }, {
            "type": "website",
            "title": " 关于 Arianee",
            "url": "https://www.arianee.org/about-arianee",
            "order": 3
        }, {
            "type": "website",
            "title": " 手表的历史",
            "url": "https://zh.wikipedia.org/wiki/%E6%89%8B%E8%A1%A8",
            "order": 2
        }]
    }],
...
...
    "i18n": {
      "type": "array",
      "title": "Other languages :  description / external contents",
      "items": {
        "type": "object",
        "properties": {
          "language": {
            "type": "string",
            "title": "Language",
            "oneOf": [
              {
                "description": "French",
                "title": "French",
                "enum": [
                  "fr-FR"
                ]
              },
              {
                "description": "English (US)",
                "title": "English (US)",
                "enum": [
                  "en-US"
                ]
              },
              {
                "description": "Chinese (traditional)",
                "title": "Chinese (traditional)",
                "enum": [
                  "zh-TW"
                ]
              },
              {
                "description": "Chinese (simplified)",
                "title": "Chinese (simplified)",
                "enum": [
                  "zh-CN"
                ]
              },
              {"enum": ["ko-KR"], "title":"Korean", "description": "Korean"},
              {"enum": ["ja-JP"], "title":"Japanese", "description": "Japanese"},
              {"enum": ["de_DE"], "title":"German", "description": "German"}
            ]
          },
          "description": {
            "type": "string",
            "title": "Description"
          },
          "subDescription": {
            "required": false,
            "type": "array",
            "title": "Description (more)",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "title": "Type",
                  "oneOf": [
                    {
                      "enum": [
                        "service"
                      ],
                      "title": "Servicing",
                      "description": "Additional descriptions linked to the product. \nSub descriptions can be stored for each language"
                    },
                    {
                      "enum": [
                        "recycling"
                      ],
                      "title": "Recycling",
                      "description": "Recycling"
                    },
                    {
                      "enum": [
                        "other"
                      ],
                      "title": "other",
                      "description": "Additional descriptions linked to the product. \nSub descriptions can be stored for each language"
                    }
                  ]
                },
                "title": {
                  "type": "string",
                  "title": "Title"
                },
                "content": {
                  "type": "string",
                  "title": "Content"
                },
                "order": {
                  "type": "number",
                  "title": "Order (number)"
                }
              }
            }
          },
          "externalContents": {
            "required": false,
            "type": "array",
            "title": "External Contents",
            "items": {
              "type": "object",
              "properties": {
                "type": {
                  "type": "string",
                  "title": "Type",
                  "oneOf": [
                    {
                      "enum": [
                        "website"
                      ],
                      "title": "Website (main)",
                      "description": "Regular link"
                    },
                    {
                      "enum": [
                        "proofLinkAction"
                      ],
                      "title": "proofLinkAction",
                      "description": "Link with a proof of ownership"
                    },
                    {
                      "enum": [
                        "transparency"
                      ],
                      "title": "transparency",
                      "description": "Url of transparency events json"
                    }
                  ]
                },
                "title": {
                  "type": "string",
                  "title": "Title"
                },
                "url": {
                  "type": "string",
                  "title": "Url"
                },
                "order": {
                  "type": "number",
                  "title": "Order (number)"
                }
              }
            }
          }
        }
      }
    },
...  

Retail price

msrp - The manufacturer's suggested retail price (MSRP) is the price a product's producer recommends it be sold for in retail stores. MSRP Country should respect ISO 3166 alpha-3.

...
 "msrp": [{
        "msrp": "35000",
        "currency": "EUR",
        "msrpCountry": "Europe"
    }, {
        "msrp": "32000",
        "currency": "GBP",
        "msrpCountry": "United Kingdom"
    }, {
        "msrp": "40000",
        "currency": "USD",
        "msrpCountry": "USA"
    }],
...
...  
    "msrp": {
      "type": "array",
      "title": "Manufacturers suggested retail price",
      "description":"The manufacturer's suggested retail price (MSRP) is the price a product's producer recommends it be sold for in retail stores. MSRP Country should respect ISO 3166 alpha-3",
      "items": {
        "type": "object",
        "properties": {
          "msrp": {
            "type": "string",
            "title": "MSRP",
            "default": "",
            "description": "Manufacturers suggested retail price (number)"
          },
          "currency": {
            "type": "string",
            "title": "Currency",
            "default": "",
            "description": "Currency",
            "oneOf": [
              {
                "title": "US Dollar",
                "description": "US Dollar",
                "enum": [
                  "USD"
                ]
              },
              {
                "title": "Euro",
                "description": "Euro",
                "enum": [
                  "EUR"
                ]
              },
              {
                "title": "Pound",
                "description": "Pound",
                "enum": [
                  "GBP"
                ]
              }
            ]
          },
          "msrpCountry": {
            "type": "string",
            "title": "Country (msrp)",
            "default": "",
            "description": "Country of Intended Original Sale (ISO 3166 alpha-3)"
          }
        }
      }
    },
...  

Media

medias - Pictures and media are used to support the presentation of the product in the wallet.

📌

Prefer square PNG format with transparent background. Size < 1 Mo.

A media is an object:

  • mediaType- picture, youtube
  • type- product (NFT media)
  • brandItemBackgroundPicture (media for NFT list)
  • itemBackgroundPicture (media for NFT background)
  • certificateBackgroundPicture (media for NFT background share-transfer)
  • url - media url
  • order - media order
...
    "medias": [{
        "mediaType": "picture",
        "type": "product",
        "url": "https://bdharianeetest.firebaseapp.com/pub/-Lzfbb6qGXMN3LVhPRWG_arianeeResized",
        "order": 1
    }, {
        "mediaType": "picture",
        "type": "product",
        "url": "https://bdharianeetest.firebaseapp.com/pub/-LzfbcJwhZPNES_2NK1h_arianeeResized",
        "order": 3
    }, {
        "mediaType": "picture",
        "type": "product",
        "url": "https://bdharianeetest.firebaseapp.com/pub/-LzfbdNMkhOxvu5n_cPv_arianeeResized",
        "order": 2
    }, {
        "mediaType": "picture",
        "type": "brandItemBackgroundPicture",
        "url": "https://bdharianeetest.firebaseapp.com/pub/-LtzQIIK-FD65qAFCBEm"
    }, 
       {
        "mediaType": "picture",
        "type": "itemBackgroundPicture",
        "url": "https://bdharianeemaxime.firebaseapp.com/pub/-LzI78FCrDVaPk8tQkl9"
    }, {
        "mediaType": "picture",
        "type": "certificateBackgroundPicture",
        "url": "https://bdharianeemaxime.firebaseapp.com/pub/-LzI7CrFW31aP_hyx1ZE"
    }],
...
...
	"medias": {
      "type": "array",
      "title": "Medias",
      "description": "Picture & media used to support the presentation of the product in the wallet app.  (ideally .png with transparent background and square, less than 1mo)",
      "items": {
        "type": "object",
        "properties": {
          "mediaType": {
            "type": "string",
            "title": "Media Type",
            "oneOf": [
              {
                "enum": [
                  "picture"
                ],
                "title": "Picture (png / jpg)",
                "description": "Picture (png / jpg)"
              },
              {
                "enum": [
                  "youtube"
                ],
                "title": "Youtube video",
                "description": "Youtube video"
              },
              {
                "enum": [
                  "3dModel"
                ],
                "title": "3D Model",
                "description": "A 3D Model (glb / gltf)"
              },
              {
                "enum": [
                  "video"
                ],
                "title": "Video",
                "description": "A video (mp4)"
              }
            ]
          },
          "type": {
            "type": "string",
            "title": "Type",
            "oneOf": [
              {
                "enum": [
                  "product"
                ],
                "title": "Product media / picture",
                "description": "used to support the presentation of the product in the wallet app.  (ideally .png with transparent background and square, less than 1mo)"
              },
              {
                "enum": [
                  "brandItemBackgroundPicture"
                ],
                "title": "Brand Item Background Picture (3200x1900) ratioed",
                "description": "(3200x1900), format : jpg/png, max 400ko created for the certificate in the list of certificates someone has. It should include a product picture."
              },
              {
                "enum": [
                  "itemBackgroundPicture"
                ],
                "title": "Item Background Picture (3000x3000) ratioed",
                "description": "dark, format .jpg, (3000x3000) max 400ko created for the background of the certificate screen"
              },
              {
                "enum": [
                  "certificateBackgroundPicture"
                ],
                "title": "Certificate Background Picture (1900x3200 TBD) preferably dark - with logo on top",
                "description": "dark, no logo, format .jpg, (1900x3200), max 400ko created for the background of the transfer/proof of certificate screens"
              },
              {
                "enum": [
                  "3dModelPreview"
                ],
                "title": "3D model preview image, displayed in the media list in the wallet application",
                "description": "[3D model / 1] Preview image (ideally .png of the model in idle state)"
              },
              {
                "enum": [
                  "3dModelAsset"
                ],
                "title": "3D model asset, rendered in the wallet application",
                "description": "[3D model / 2] Model file (.glb, .gltf, can contain animations), requires [3D Model / 1] to be set right before"
              },
              {
                "enum": [
                  "videoPreview"
                ],
                "title": "Video preview image, displayed in the media list in the wallet application",
                "description": "[Video / 1] Preview image (ideally .png of a frame of the video)"
              },
              {
                "enum": [
                  "videoSource"
                ],
                "title": "Video source, played in the wallet application",
                "description": "[Video / 2] Video source (.mp4), requires [Video / 1] to be set right before"
              }
            ]
          },
          "url": {
            "type": "string",
            "title": "URL"
          },
          "hash": {
            "type": "string",
            "title": "Media Hash"
          },
          "order": {
            "type": "number",
            "title": "Media Order (number)"
          }
        }
      }
    },
...

Custom attributes

customAttributes - Custom attributes to define the product.

...
	"customAttributes": {
      "title": "Custom attributes",
      "description": "Information on the specific attributes of the product.",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Type"
          },
...
...
	"customAttributes": {
      "type": "array",
      "title": "Custom attributes",
      "description": "Information on the specific attributes of the product.",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Type"
          },
          "value": {
            "type": "string",
            "title": "Value"
          }
        }
      }
    },
...

Specific attributes

attributes - Additional information on the product.

...
    "attributes": [{
        "type": "color",
        "value": "Gold"
    }],
...
...  
	"attributes": {
      "type": "array",
      "title": "Attributes",
      "description": "Information on the specific attributes of the product that are aimed to be shared with partners.",
      "items": {
        "type": "object",
        "properties": {
          "trait_type": {
            "type": "string",
            "title": "Trait Type (for external service like opensea)"
          },
          "type": {
            "type": "string",
            "title": "Type",
            "oneOf": [
              {
                "title": "Color",
                "description": "Color",
                "enum": [
                  "color"
                ]
              },
              {
                "title": "Printed",
                "description": "Printed",
                "enum": [
                  "printed"
                ]
              },
              {
                "title": "Complication",
                "description": "Complication",
                "enum": [
                  "complication"
                ]
              }
            ]
          },
          "value": {
            "type": "string",
            "title": "Value"
          }
        }
      }
    },
...  
   

Product materials

material - Detailed information on the product material used.

A material is an object:

  • material - Material name value
  • pourcentage - Pourcentage value
...
    "materials": [{
        "material": "gold",
        "pourcentage": "50%"
    }],
...
...  
    "materials": {
      "type": "array",
      "title": "Materials",
      "description":"Information on the materials used to manufacture the product.",
      "items": {
        "type": "object",
        "properties": {
          "material": {
            "type": "string",
            "title": "Material",
            "temp": "Cashmere / Cotton / Denim - Jeans / Exotic leathers / Faux fur / Fur /Leather / Linen / Polyester / Silk / Suede / Synthetic / Tweed / Velvet / Viscose / Wool",
            "oneOf": [
              {
                "title": "Cashmere",
                "description": "Cashmere",
                "enum": [
                  "cashmere"
                ]
              },
              {
                "title": "Cotton",
                "description": "Cotton",
                "enum": [
                  "cotton"
                ]
              },
              {
                "title": "Denim - Jeans",
                "description": "Denim - Jeans",
                "enum": [
                  "denim-jeans"
                ]
              },
              {
                "title": "Gold",
                "description": "Gold",
                "enum": [
                  "gold"
                ]
              },
              {
                "title": "Silver",
                "description": "Silver",
                "enum": [
                  "silver"
                ]
              }
            ]
          },
          "value": {
            "type": "string",
            "title": "Value"
          },
          "pourcentage": {
            "type": "string",
            "title": "Pourcentage",
            "description": "Pourcentage without % (numeric)"
          }
        }
      }
    },
...  

Product size

size - Information on the size of the product.

A size is an object :

  • type : size type (height / width / depth / size)
  • value : size value unit : size
  • unit (inch / centimer / millimeter / EU / UK / US)
...
    "size": [{
        "type": "depth",
        "value": "6",
        "unit": "in"
    }, {
        "type": "depth",
        "value": "3,6",
        "unit": "cm"
    }],
...
...  
    "size": {
      "type": "array",
      "title": "Sizes",
      "description":"Information on the size of the product.",
      "items": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "title": "Type",
            "oneOf": [
              {
                "title": "Height",
                "description": "Height",
                "enum": [
                  "height"
                ]
              },
              {
                "title": "Width",
                "description": "Width",
                "enum": [
                  "width"
                ]
              },
              {
                "title": "Depth",
                "description": "Depth",
                "enum": [
                  "depth"
                ]
              },
              {
                "title": "Size",
                "description": "Size",
                "enum": [
                  "size"
                ]
              }
            ]
          },
          "value": {
            "type": "string",
            "title": "Value"
          },
          "unit": {
            "type": "string",
            "title": "Unit",
            "oneOf": [
              {
                "title": "Inch",
                "description": "Inch",
                "enum": [
                  "in"
                ]
              },
              {
                "title": "Centimer",
                "description": "Centimer",
                "enum": [
                  "cm"
                ]
              },
              {
                "title": "Millimeter",
                "description": "Millimeter",
                "enum": [
                  "mm"
                ]
              },
              {
                "title": "EU",
                "description": "EU",
                "enum": [
                  "eu"
                ]
              },
              {
                "title": "UK",
                "description": "UK",
                "enum": [
                  "uk"
                ]
              },
              {
                "title": "US",
                "description": "US",
                "enum": [
                  "us"
                ]
              }
            ]
          }
        }
      }
    },
...  

Product manufacturing country

manufacturingCountry - Country of manufacture in final assembly stage (ISO 3166 alpha-3).

...
    "manufacturingCountry": "Switzerland",
...
...  
    "manufacturingCountry": {
      "type": "string",
      "title": "Country (manufacturing)",
      "default": "",
      "description": "Country of manufacture in final assembly stage. (ISO 3166 alpha-3)"
    },
...