forked from adobe/xdm
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathoffer-placement.schema.json
More file actions
94 lines (94 loc) · 8.05 KB
/
offer-placement.schema.json
File metadata and controls
94 lines (94 loc) · 8.05 KB
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
{
"meta:license": [
"Copyright 2018 Adobe Systems Incorporated. All rights reserved.",
"This work is licensed under a Creative Commons Attribution 4.0 International (CC BY 4.0) license",
"you may not use this file except in compliance with the License. You may obtain a copy",
"of the License at https://creativecommons.org/licenses/by/4.0/"
],
"$schema": "http://json-schema.org/draft-06/schema#",
"$id": "https://ns.adobe.com/experience/offer-management/offer-placement",
"type": "object",
"title": "Placement",
"description": "An *offer placement* is a location or place in a personalized message or content experience. It is used to set technical constraints for content selected during personalization. Technical constraints include the content component type that is expected from the personalization (offer representation) and the channel that indicates the context for consuming the content. The channel imposes further constraints on the media type. For instance, html content used in an email is often structured differently than html content used on the web. The placement also represents a request to produce certain types of metrics when an experience event is produced where this placemement is involved. For instance the placement facilitates a personalized clickable image inside an email shown to an end user. The placement may for instance request from the assembled experience that the click on its image gets reported in an experience event with a metric `https://ns.adobe.com/xdm/data/metrics/web/linkclicks` and a reference to this placement. \nAn *offer* with its content representations refers to an offer placement object by the placement's @id. This is important that the constraints are not enumerated in the offer or the placement. The placement can be thought to represent the contract between the offer's content and the place where the content needs to be embedded. Any number of constraints can be agreed upon and outside of the repository and can be thought to be represented by a particular offer placement object.\nAn *offer activity* referencing a particular offer placement means the activity seeks to select content items that comply with the \"virtual contract\". An offer with its representation pointing to the same offer placement means the offer has a representation that complies with that particular \"virtual contract\". \nBy extending the offer placement schema more structure could be imposed finding the particular placement object. For example, in addition to the media type \"image\" a custom placement could add a field `aspectRatio` that holds the aspect ratio. What an aspect ratio is does not need to be understood by the offer decisioning process but creating or finding and attaching content to the offer representation needs to make sure the contract is respected and only images with a perticular aspect ratio are used for the offer when the representation makes the reference to the offer placement object.\nThe mutual contract does not need to rely on physical properties of the content. One can also express an intent what the content should be. An offer placement with a 'video' media type file could be called upon to represent a pre-roll ad or another offer placement might represent that an image is a banner image on a web page.\n",
"meta:extends": [
"https://ns.adobe.com/xdm/data/record",
"https://ns.adobe.com/experience/decisioning/placement"
],
"meta:abstract": false,
"meta:extensible": true,
"definitions": {
"offer-placement": {
"properties": {
"@id": {
"type": "string",
"format": "uri-reference",
"title": "ID",
"description": "The unique identifier of the placement. This identifier is assigned by clients or services that use the repository and is not generated by the repository itself. This @id must be unique within a repository container for objects that are not the same, otherwise it is interpreted as referring to the same object.",
"meta:titleId": "offer-placement##@id##title##34861",
"meta:descriptionId": "offer-placement##@id##description##15721"
},
"xdm:name": {
"meta:status": "deprecated",
"type": "string",
"title": "Name (deprecated)",
"description": "An assigned name for the placement to refer to it in human interactions",
"meta:titleId": "offer-placement##xdm:name##title##42801",
"meta:descriptionId": "offer-placement##xdm:name##description##51951"
},
"xdm:description": {
"meta:status": "deprecated",
"type": "string",
"title": "Description (deprecated)",
"description": "Placement description. It is used to convey human readable intentions on how dynamic content is used in the overall message delivery. That a certain space is a \"Banner\" in a web page is often conveyed via the description and not by a formal method.",
"meta:titleId": "offer-placement##xdm:description##title##78601",
"meta:descriptionId": "offer-placement##xdm:description##description##58111"
},
"xdm:channel": {
"meta:status": "deprecated",
"type": "string",
"format": "uri",
"title": "Communication Channel (deprecated)",
"description": "A reference to the channel entity. The channel indicates where the dynamic content is intended to be delivered. The channel constraint is used to convey not only where the offer will be used but also to determine the content editor or validator that is used for the experience. See 'https://ns.adobe.com/xdm/channels/channel'",
"meta:titleId": "offer-placement##xdm:channel##title##88971",
"meta:descriptionId": "offer-placement##xdm:channel##description##40741"
},
"xdm:componentType": {
"meta:status": "deprecated",
"$ref": "https://ns.adobe.com/experience/offer-management/offer-representation#/definitions/content-component-type",
"title": "Content Type (deprecated)",
"description": "A constraint for the content that can be shown in the place described by this placement. Component Types are: image, html or plain text.",
"meta:titleId": "offer-placement##xdm:componentType##title##99181",
"meta:descriptionId": "offer-placement##xdm:componentType##description##60591"
},
"xdm:contentTypes": {
"meta:status": "deprecated",
"title": "Media Types (deprecated)",
"type": "array",
"items": {
"type": "string",
"title": "MIME Media Type",
"description": "A constraint for the media type of the components that is expected in that placement. There could be more than one media type possible for one component such as different image format.",
"pattern": "\\w+\\/[-.\\w]+(?:\\+[-.\\w]+)?",
"meta:titleId": "offer-placement##items##title##56841",
"meta:descriptionId": "offer-placement##items##description##90381"
},
"meta:titleId": "offer-placement##xdm:contentTypes##title##67371"
}
}
}
},
"allOf": [
{
"$ref": "https://ns.adobe.com/xdm/data/record"
},
{
"$ref": "https://ns.adobe.com/experience/decisioning/placement"
},
{
"$ref": "#/definitions/offer-placement"
}
],
"meta:status": "stable",
"meta:titleId": "offer-placement##title##91041",
"meta:descriptionId": "offer-placement##description##76611"
}