Create JSON offers in the Offer Library in Adobe Target for use in the Form-Based Experience Composer.
JSON offers can be used in form-based activities to enable use cases where Target decisioning is required to send an offer in JSON format for consumption in SPA framework or server-side integrations.
Consider the following information as you work with JSON offers:
setJson
action.JSON offers are supported only in activities created using the Form-Based Experience Composer. Currently the only way to be able to use JSON offers is via direct API/SDK calls.
Here is an example:
The actions passed to success callback is an array of object. Assuming that you have a single JSON offer, that has this content:
{
"demo": {"a": 1, "b": 2}
}
The actions array has this structure:
[
{
action: "setJson",
content: [{
"demo": {"a": 1, "b": 2}
}]
}
]
To extract the JSON offer, you iterate through actions and find the action with the setJson
action, and then iterate through the content array.
Let’s say the following JSON offer gets delivered to your web page:
{
"_id": "5a65d24d8fafc966921e9169",
"index": 0,
"guid": "7c006504-c6f7-468d-a46f-f72531ea454c",
"isActive": true,
"balance": "$2,075.06",
"picture": "https://placehold.it/32x32",
"tags": [
"esse",
"commodo",
"excepteur"
],
"friends": [
{
"id": 0,
"name": "Carla Lyons"
},
{
"id": 1,
"name": "Ollie Mooney"
}
],
"greeting": "Hello, Stephenson Fernandez! You have 4 unread messages.",
"favoriteFruit": "strawberry"
}
The following code shows how to access the “greeting” attribute:
adobe.target.getOffer({
"mbox": "name_of_mbox",
"params": {},
"success": function(offer) {
console.log(offer[0].content[0].greeting);
},
"error": function(status, error) {
console.log('Error', status, error);
}
});
Real-time CDP Profile Attributes can be shared with Target for use in HTML and JSON offers.
For more information, see Share Real-time CDP Profile Attributes with Target.
You can filter the Offers library by the JSON offer type by clicking the Show filters icon ( ), then by selecting the JSON Offers checkbox.