Message Schema

The Json Schema contains the content of the dMessage.

⚠️

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

Overview

ParameterOptionalDisplayed in walletDescription
$schemaRequiredNot applicableContent file
languageRequiredMessage main language
titleRequiredMessage title
contentRequiredText message content
picturesOptionalPictures and media in the message
externalContentsOptionalExternal links
i18nOptionalOther languages
issuer_signatureOptional⚠️ Full Privacy only

Schema body

Schema file content

$Schema - URL of the Schema JSON file.

{ "$schema": "https://cert.arianee.org/version2/ArianeeMessage-i18n.json", ...
{ "$id": "https://cert.arianee.org/version2/ArianeeMessage-i18n.json", "$schema": "https://cert.arianee.org/version2/ArianeeMessage-i18n.json", "title": "Arianee Message", "description": "Describing an Arianee Message.", "type": "object", "properties": { "$schema": { "title": "$schema", "type": "string", "default": "https://cert.arianee.org/version1/ArianeeMessage-i18n.json", "widget": "hidden" }, ...

Language

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

... "language": "en-US", ...
... "language": { "type": "string", "title": "Language", "widget": { "id": "select" }, "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"}, {"enum": ["es"], "title":"Spanish", "description": "Spanish"}, {"enum": ["it"], "title":"Italian", "description": "Italian"} ...

Message title

title - Synthetic title of the message.

... "title": "Title of your message", ...
... "title": { "type": "string", "title": "Title of your message" }, ...

Description

content - Detailed description of the message.

... "content": "Content of your message.", ...
... "content": { "type": "string", "title": "Content of your message" }, ...

Pictures

pictures - Pictures and media inside the message.

📌

Pictures format: JPG or PNG.

... "pictures": [{ "type": "picture", "title": "Picture title", "description": "Description of the picture.", "url": "https://bdharianeetest.firebaseapp.com/pub/-Lzfbb6qGXMN3LVhPRWG_arianeeResized", "order": 1 }, ...
... "pictures": { "type": "array", "title": "Pictures & Medias", "description": "Pictures & Medias used inside the message (as attachements)", "items": { "type": "object", "properties": { "mediaType": { "type": "string", "title": "Media Type", "widget": { "id": "select" }, "oneOf": [ { "enum": [ "picture" ], "title": "Picture (png / jpg)", "description": "Picture (png / jpg)" }, { "enum": [ "youtube" ], "title": "Youtube video", "description": "Youtube video" } ] }, "type": { "type": "string", "title": "Type", "widget": { "id": "select" }, "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)" } ] }, "url": { "type": "string", "title": "URL", "widget": { "id": "staticAssets" } }, "hash": { "type": "string", "title": "Image Hash", "widget": { "id": "string" } } } } }, ...

External contents

externalContents - Storing of links to external contents your brand wishes to introduce to owners in the wallet.

... "externalContents": [{ "type": "website", "title": "Website", "url": "https://www.arianee.org/", "order": 1 }, { "type": "website", "title": "About Arianee", "url": "https://www.arianee.org/about-arianee", "order": 3 }, { "type": "website", "title": "History of Watches", "url": "https://en.wikipedia.org/wiki/History_of_watches", "order": 2 }, { "type": "proofLinkAction", "title": "Link with a proof of ownership", "url": "https://test.arian.ee/proofLinkAction.html" }], ...
... "externalContents": { "description": "This field is designed to store the links to external contents the Brand whish to introduce to the end customer in a wallet app.\n Specific external contents can be stored for each language.", "required": false, "type": "array", "title": "External Contents", "items": { "type": "object", "properties": { "type": { "type": "string", "title": "Type", "widget": { "id": "select" }, "oneOf": [ { "enum": [ "website" ], "title": "Website (main)", "description":"Regular link" }, { "enum": [ "proofLinkAction" ], "title": "proofLinkAction", "description": "Link with a proof of ownership" }, { "enum": [ "arianeeAccessTokenAuthLink" ], "title": "arianeeAccessTokenAuthLink", "description": "Link with a Arianee Access Token, proof of ownership. The difference with proofLinkAction is that arianeeAccessTokenAuthLink does not need blockchain transaction. It is instant but cannnot be revoked. However it does expire." }, { "enum": [ "actionButton" ], "title": "transparency", "description": "Url of transparency events json" } ] }, "title": { "type": "string", "title": "Title" }, "url": { "type": "string", "title": "Url" }, "order": { "type": "number", "title": "Order (number)" } } } } }, "required": [ "$schema" ] } ...

Localize content

i18n - International content storing.

📌

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

... "i18n": [{ "language": "fr-FR", "title": "Navyclock", "content": "<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" }], ...
... "i18n": { "type": "array", "title": "Other languages", "description": "If you want your message to be translated", "items": { "type": "object", "properties": { "language": { "type": "string", "title": "Language", "widget": { "id": "select" }, "oneOf": [ {"enum": ["fr-FR"], "title":"French", "description": "French"}, {"enum": ["en-US"], "title":"English (american)", "description": "English (american)"}, {"enum": ["zh-TW"], "title":"Traditional chinese", "description": "Traditional chinese"}, {"enum": ["zh-CN"], "title":"Simplified chinese", "description": "Simplified chinese"}, {"enum": ["ko-KR"], "title":"Korean", "description": "Korean"}, {"enum": ["ja-JP"], "title":"Japanese", "description": "Japanese"}, {"enum": ["de-DE"], "title":"German", "description": "German"}, {"enum": ["es"], "title":"Spanish", "description": "Spanish"}, {"enum": ["it"], "title":"Italian", "description": "Italian"} ] }, "title": { "type": "string", "title": "Title of your message" }, "content": { "type": "string", "title": "Content of your message" }, "externalContents": { "description": "This field is designed to store the links to external contents the Brand whish to introduce to the end customer in a wallet app.\n Specific external contents can be stored for each language.", "required": false, "type": "array", "title": "External Contents", "items": { "type": "object", "properties": { "type": { "type": "string", "title": "Type", "widget": { "id": "select" }, "oneOf": [ { "enum": [ "website" ], "title": "Website (main)", "description":"Regular link" }, { "enum": [ "proofLinkAction" ], "title": "proofLinkAction", "description": "Link with a proof of ownership" }, { "enum": [ "arianeeAccessTokenAuthLink" ], "title": "arianeeAccessTokenAuthLink", "description": "Link with a Arianee Access Token, proof of ownership. The difference with proofLinkAction is that arianeeAccessTokenAuthLink does not need blockchain transaction. It is instant but cannnot be revoked. However it does expire." }, { "enum": [ "actionButton" ], "title": "transparency", "description": "Url of transparency events json" } ] }, "title": { "type": "string", "title": "Title" }, "url": { "type": "string", "title": "Url" }, "order": { "type": "number", "title": "Order (number)" } } } } } } }, "pictures": { "type": "array", "title": "Pictures & Medias", "description": "Pictures & Medias used inside the message (as attachements)", "items": { "type": "object", "properties": { "mediaType": { "type": "string", "title": "Media Type", "widget": { "id": "select" }, "oneOf": [ { "enum": [ "picture" ], "title": "Picture (png / jpg)", "description": "Picture (png / jpg)" }, { "enum": [ "youtube" ], "title": "Youtube video", "description": "Youtube video" } ] }, "type": { "type": "string", "title": "Type", "widget": { "id": "select" }, "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)" } ] }, "url": { "type": "string", "title": "URL", "widget": { "id": "staticAssets" } }, "hash": { "type": "string", "title": "Image Hash", "widget": { "id": "string" } } } } }, ...

External Contents

externalContents - Storing of links to external contents your brand wishes to introduce to owners in the wallet.

... "externalContents": [{ "type": "website", "title": "Website", "url": "https://www.arianee.org/", "order": 1 }, { "type": "website", "title": "About Arianee", "url": "https://www.arianee.org/about-arianee", "order": 3 }, { "type": "website", "title": "History of Watches", "url": "https://en.wikipedia.org/wiki/History_of_watches", "order": 2 }, { "type": "proofLinkAction", "title": "Link with a proof of ownership", "url": "https://test.arian.ee/proofLinkAction.html" }], ...
... "externalContents": { "description": "This field is designed to store the links to external contents the Brand whish to introduce to the end customer in a wallet app.\n Specific external contents can be stored for each language.", "required": false, "type": "array", "title": "External Contents", "items": { "type": "object", "properties": { "type": { "type": "string", "title": "Type", "widget": { "id": "select" }, "oneOf": [ { "enum": [ "website" ], "title": "Website (main)", "description":"Regular link" }, { "enum": [ "proofLinkAction" ], "title": "proofLinkAction", "description": "Link with a proof of ownership" }, { "enum": [ "arianeeAccessTokenAuthLink" ], "title": "arianeeAccessTokenAuthLink", "description": "Link with a Arianee Access Token, proof of ownership. The difference with proofLinkAction is that arianeeAccessTokenAuthLink does not need blockchain transaction. It is instant but cannnot be revoked. However it does expire." }, { "enum": [ "actionButton" ], "title": "transparency", "description": "Url of transparency events json" } ] }, "title": { "type": "string", "title": "Title" }, "url": { "type": "string", "title": "Url" }, "order": { "type": "number", "title": "Order (number)" } } } } }, "required": [ "$schema" ] } ...

Issuer Signature

issuer_signature - Signature of the issuer.

⚠️

Full Privacy only.

... "issuer_signature": { "type": "string", "title": "Issuer Signature (for full privacy)", "default": "", "description": "Issuer Signature (for full privacy)" }, ...


Did this page help you?