fune/browser/components/newtab/content-src/asrouter/templates/SendToDeviceSnippet/SendToDeviceSnippet.schema.json

243 lines
7.7 KiB
JSON

{
"title": "SendToDeviceSnippet",
"description": "A snippet template for send to device mobile download",
"version": "1.2.0",
"type": "object",
"definitions": {
"plainText": {
"description": "Plain text (no HTML allowed)",
"type": "string"
},
"richText": {
"description": "Text with HTML subset allowed: i, b, u, strong, em, br",
"type": "string"
},
"link_url": {
"description": "Target for links or buttons",
"type": "string",
"format": "uri"
}
},
"properties": {
"locale": {
"type": "string",
"description": "Two to five character string for the locale code",
"default": "en-US"
},
"country": {
"type": "string",
"description": "Two character string for the country code (used for SMS)",
"default": "us"
},
"scene1_title": {
"allof": [
{ "$ref": "#/definitions/plainText" },
{ "description": "snippet title displayed before snippet text" }
]
},
"scene1_text": {
"allOf": [
{ "$ref": "#/definitions/richText" },
{
"description": "Main body text of snippet. HTML subset allowed: i, b, u, strong, em, br"
}
]
},
"scene1_section_title_icon": {
"type": "string",
"description": "Section title icon for scene 1. 16x16px. SVG or PNG preferred. scene1_section_title_text must also be specified to display."
},
"scene1_section_title_icon_dark_theme": {
"type": "string",
"description": "Section title icon for scene 1, dark theme variant. 16x16px. SVG or PNG preferred. scene1_section_title_text must also be specified to display."
},
"scene1_section_title_text": {
"type": "string",
"description": "Section title text for scene 1. scene1_section_title_icon must also be specified to display."
},
"scene1_section_title_url": {
"allOf": [
{ "$ref": "#/definitions/link_url" },
{ "description": "A url, scene1_section_title_text links to this" }
]
},
"scene2_title": {
"allOf": [
{ "$ref": "#/definitions/plainText" },
{
"description": "Title displayed before text in scene 2. Should be plain text."
}
]
},
"scene2_text": {
"allOf": [
{ "$ref": "#/definitions/richText" },
{
"description": "Main body text of snippet. HTML subset allowed: i, b, u, strong, em, br"
}
]
},
"scene1_icon": {
"type": "string",
"description": "Snippet icon. 64x64px. SVG or PNG preferred."
},
"scene1_icon_dark_theme": {
"type": "string",
"description": "Snippet icon. Dark theme variant. 64x64px. SVG or PNG preferred."
},
"scene2_icon": {
"type": "string",
"description": "(send to device) Image to display above the form. Dark theme variant. 98x98px. SVG or PNG preferred."
},
"scene2_icon_dark_theme": {
"type": "string",
"description": "(send to device) Image to display above the form. 98x98px. SVG or PNG preferred."
},
"scene1_title_icon": {
"type": "string",
"description": "Small icon that shows up before the title / text. 16x16px. SVG or PNG preferred. Grayscale."
},
"scene1_title_icon_dark_theme": {
"type": "string",
"description": "Small icon that shows up before the title / text. Dark theme variant. 16x16px. SVG or PNG preferred. Grayscale."
},
"scene2_button_label": {
"type": "string",
"description": "Label for form submit button",
"default": "Send"
},
"scene2_input_placeholder": {
"type": "string",
"description": "(send to device) Value to show while input is empty.",
"default": "Your email here"
},
"scene2_disclaimer_html": {
"type": "string",
"description": "(send to device) Html for disclaimer and link underneath input box."
},
"scene2_dismiss_button_text": {
"type": "string",
"description": "Label for the dismiss button when the sign-up form is expanded.",
"default": "Dismiss"
},
"hidden_inputs": {
"type": "object",
"description": "Each entry represents a hidden input, key is used as value for the name property.",
"properties": {
"action": {
"type": "string",
"enum": ["email"]
},
"context": {
"type": "string",
"enum": ["fx_desktop_v3"]
},
"entrypoint": {
"type": "string",
"enum": ["snippets"]
},
"utm_content": {
"type": "string",
"description": "Firefox version number"
},
"utm_source": {
"type": "string",
"enum": ["snippet"]
},
"utm_campaign": {
"type": "string",
"description": "(fxa) Value to pass through to GA as utm_campaign."
},
"utm_term": {
"type": "string",
"description": "(fxa) Value to pass through to GA as utm_term."
},
"additionalProperties": false
}
},
"scene1_button_label": {
"allOf": [
{ "$ref": "#/definitions/plainText" },
{
"description": "Text for a button next to main snippet text that links to button_url. Requires button_url."
}
],
"default": "Learn more"
},
"scene1_button_color": {
"type": "string",
"description": "The text color of the button. Valid CSS color."
},
"scene1_button_background_color": {
"type": "string",
"description": "The background color of the button. Valid CSS color."
},
"retry_button_label": {
"allOf": [
{ "$ref": "#/definitions/plainText" },
{
"description": "Text for the button in the event of a submission error/failure."
}
],
"default": "Try again"
},
"do_not_autoblock": {
"type": "boolean",
"description": "Used to prevent blocking the snippet after the CTA (link or button) has been clicked",
"default": false
},
"success_title": {
"type": "string",
"description": "(send to device) Title shown before text on successful registration."
},
"success_text": {
"type": "string",
"description": "Message shown on successful registration."
},
"error_text": {
"type": "string",
"description": "Message shown if registration failed."
},
"include_sms": {
"type": "boolean",
"description": "(send to device) Allow users to send an SMS message with the form?",
"default": false
},
"message_id_sms": {
"type": "string",
"description": "(send to device) Newsletter/basket id representing the SMS message to be sent."
},
"message_id_email": {
"type": "string",
"description": "(send to device) Newsletter/basket id representing the email message to be sent. Must be a value from the 'Slug' column here: https://basket.mozilla.org/news/."
},
"utm_campaign": {
"type": "string",
"description": "(fxa) Value to pass through to GA as utm_campaign."
},
"utm_term": {
"type": "string",
"description": "(fxa) Value to pass through to GA as utm_term."
},
"links": {
"additionalProperties": {
"url": {
"allOf": [
{ "$ref": "#/definitions/link_url" },
{ "description": "The url where the link points to." }
]
},
"metric": {
"type": "string",
"description": "Custom event name sent with telemetry event."
}
}
}
},
"additionalProperties": false,
"required": ["scene1_text", "scene2_text", "scene1_button_label"],
"dependencies": {
"scene1_button_color": ["scene1_button_label"],
"scene1_button_background_color": ["scene1_button_label"]
}
}