Repository navigation
[CJM 146679] MessageInteraction device, OS and browser - #2264
Open
abhinavdahiya060918 wants to merge 6 commits into
Open
abhinavdahiya060918 wants to merge 6 commits into
abhinavdahiya060918 wants to merge 6 commits into
Conversation
…essageInteraction schema Adds device type and OS name/version string fields to the message-interaction field group, matching the isBot precedent (adobe#2192), so AJO tracker open/click events can report device and OS in CJA/AJO.
… edit, add example
…entinel from deviceType
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Closes #2266
Adds five optional string fields to the Customer Journey Management Message Interaction field group (
_experience.customerJourneyManagement.messageInteraction), so AJO open/click tracking events can record the recipient's device type, operating system and browser:deviceType: device category; known values documented viameta:enum:mobile,tablet,desktop,other(a recognised device of another kind, e.g. TV, games console, eReader),unknown(device lookup ran but couldn't identify it)operatingSystem: OS name (e.g.iOS,Android,Windows,macOS), orunknownoperatingSystemVersion: OS version (e.g.17.4), orunknownbrowserName: browser or app name (e.g.Chrome,Safari), orunknownbrowserVersion: browser or app version (e.g.124.0), orunknownNon-breaking: additive only; no existing fields changed or removed.
deviceTypeis a soft enum (meta:enumonly, no JSON Schemaenum), so no values are rejected.Supersedes #2255 (original commit cherry-picked with authorship preserved, plus review fixes).
Motivation
AJO customers need native device-, OS- and browser-level data (mobile vs desktop, iOS vs Android, Chrome vs Safari, …) for email opens and clicks in AJO and CJA reports. AJO's Tracker service builds the open/click Experience Events itself and writes them under
messageInteraction. Until these fields exist in the field group, AEP drops them at ingestion.The fields sit alongside the existing
messageInteraction.isBot(#2192), which follows the same flat pattern and producer:deviceTypeis normalized tomobile/tablet/desktop; any other recognised device type becomesother.unknownmeans the lookup ran but couldn't determine the value (unrecognised user agent, partial result, failure or timeout).Changes
extensions/adobe/experience/customerJourneyManagement/message-interaction.schema.json: adddeviceType(string +meta:enum),operatingSystem,operatingSystemVersion,browserName,browserVersion(strings) undermessageInteraction.extensions/adobe/experience/customerJourneyManagement/message-interaction.example.4.json: add the five fields to the example that already coversisBot.docs/reference/adobe/experience/customerJourneyManagement/message-interaction.schema.json: same five fields, kept identical to the extensions copy (following CJM-141473: Add isBot boolean field in messageInteraction schema #2192).Validation
npm test: 2455 passing, 1 pendingnpm run lint: cleannpm run validate: no failures in the changed schema (pre-existing failures elsewhere unchanged vsmaster)npm run incompatibility-check: cleanBreaking changes
None. Additive-only, so no
CHANGELOG.mdentry is needed.Related
messageInteraction.isBot)