I have two Activities. One is Live, created using the FEC, and is has a local mbox ('conditionalMbox') for the location. The other is Inactive and created using the VEC. The VEC based Activity attaches an event handler to a button; this event handler calls applyOffer/getOffer passing the 'conditionalMbox' in the body. The problem is that, even though I have the "Show default content for all other activities" OFF, the "getOffer" callback returns no content/offers. However, if I remove the QA token and attach the Event Handler manually, 'getOffer' returns the expected. Some important notes:
- I had this set up for some weeks now and it worked just fine up until mid-yesterday. I first noticed the "broken behavior" after making a different change to the VEC based activity. This change does not impact the mbox call; it is still being fired correctly. The response is just empty.
- I tested this directly using Postman and the Delivery API. The call without the QA token works. The call with it does not. The QA token is the only thing that makes a difference.
- When using the "mbox Trace" feature in the Adobe Experience Cloud Debugger, I receive an error when attempting to view the "conditionalMbox" call.
Example of working call:
// Request Body
{
"context": {
"channel": "web",
"beacon": false
},
"execute": {
"mboxes": [
{
"parameters": {},
"profileParameters": {},
"index": 0,
"name": "conditionalMbox"
}
]
}
}
// Response Body
{
"status": 200,
"requestId": "fcebbb03-d59e-4c42-b323-122e2ffb6f70",
"client": "xxx",
"id": {
"tntId": "xxx"
},
"edgeHost": "mboxedge34.tt.omtrdc.net",
"telemetryServerToken": xxx",
"execute": {
"mboxes": [
{
"index": 0,
"name": "conditionalMbox",
"options": [
{
"content": "<h3>Welcome to Experience B!</h3>",
"type": "html",
"responseTokens": {
// Removed
},
"sourceType": "target"
}
]
}
]
}
}
Example of non-working call:
// Request Body
{
"context": {
"channel": "web",
"beacon": false
},
"qaMode": {
"token": "xxx",
"listedActivitiesOnly": false,
"previewIndexes": [
{
"activityIndex": 1,
"experienceIndex": 2
}
]
},
"execute": {
"mboxes": [
{
"parameters": {},
"profileParameters": {},
"index": 0,
"name": "conditionalMbox"
}
]
}
}
// Response Body
{
"status": 200,
"requestId": "xxx",
"client": "xxx",
"id": {
"tntId": "xxx"
},
"edgeHost": "mboxedge34.tt.omtrdc.net",
"telemetryServerToken": "xxx",
"execute": {
"mboxes": [
{
"index": 0,
"name": "conditionalMbox"
}
]
}
}