summaryrefslogtreecommitdiffstats
path: root/browser/components/asrouter/content-src/schemas/provider-response.schema.json
blob: b6bdc04f36d4f838dfc6b4ca761c21ae707d461d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
{
  "title": "ProviderResponse",
  "description": "A response object for remote providers of AS Router",
  "type": "object",
  "version": "6.1.0",
  "properties": {
    "messages": {
      "type": "array",
      "description": "An array of router messages",
      "items": {
        "title": "RouterMessage",
        "description": "A definition of an individual message",
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "A unique identifier for the message that should not conflict with any other previous message"
          },
          "template": {
            "type": "string",
            "description": "An id matching an existing Activity Stream Router template",
            "enum": ["cfr_doorhanger"]
          },
          "bundled": {
            "type": "integer",
            "description": "The number of messages of the same template this one should be shown with (optional)"
          },
          "order": {
            "type": "integer",
            "minimum": 0,
            "description": "If bundled with other messages of the same template, which order should this one be placed in? (optional - defaults to 0)"
          },
          "content": {
            "type": "object",
            "description": "An object containing all variables/props to be rendered in the template. See individual template schemas for details."
          },
          "targeting": {
            "type": "string",
            "description": "A JEXL expression representing targeting information"
          },
          "trigger": {
            "type": "object",
            "description": "An action to trigger potentially showing the message",
            "properties": {
              "id": {
                "type": "string",
                "description": "A string identifying the trigger action",
                "enum": ["firstRun", "openURL"]
              },
              "params": {
                "type": "array",
                "description": "An optional array of string parameters for the trigger action",
                "items": {
                  "type": "string",
                  "description": "A parameter for the trigger action"
                }
              }
            },
            "required": ["id"]
          }
        },
        "required": ["id", "template", "content"]
      }
    }
  },
  "required": ["messages"]
}