Skip to content

CJM-124396: Add messageExclusion details fields to messageFeedback schema#2077

Open
akshaysethi92 wants to merge 2 commits intoadobe:masterfrom
akshaysethi92:master
Open

CJM-124396: Add messageExclusion details fields to messageFeedback schema#2077
akshaysethi92 wants to merge 2 commits intoadobe:masterfrom
akshaysethi92:master

Conversation

@akshaysethi92
Copy link

Summary

Add exclusion details field to message delivery feedback XDM schema to enable monitoring of additional exclusion-specific data such as invalid domains for personalizedDomainNotValid exclusion in Customer Journey Management.

Changes Made

New Schema File Created

message-exclusion-details.schema.json

  • New reusable schema for exclusion-specific details
  • Contains invalidDomains field (array of strings)
  • Extensible for future exclusion detail types

Schema Updates

message-delivery-feedback.schema.json

  • Added details field to messageExclusion object
  • References the new message-exclusion-details schema via $ref
  • Keeps parent schema clean and maintainable

Example Files

message-exclusion-details.example.1.json

  • Demonstrates standalone exclusion details structure
  • Shows invalidDomains array with sample domains

message-delivery-feedback.example.2.json

  • Demonstrates message exclusion with details
  • Shows complete feedback event with exclusion reason personalizedDomainNotValid
  • Includes invalidDomains array with multiple domain examples

Design Decisions

  • Extensibility: Future exclusion types can easily add new fields without modifying parent schema
  • Optional Fields: All fields remain optional to maintain backward compatibility

Use Cases

Exclusion Reason PersonalizedDomainNotValid

When a message is excluded due to invalid personalized domains, the invalidDomains array captures which domains caused the rejection, enabling:

  • Analytics: Query and aggregate exclusions by domain
  • Reporting: Identify problematic domain patterns
  • Troubleshooting: Understand why specific messages were excluded

Testing

✅ JSON schema validation passes for all files
✅ JSON syntax validation passes
✅ No linter errors
✅ Backward compatibility maintained (all fields optional)
✅ Example files validate against schemas

Examples

Without exclusion details (existing behavior)

Any exclusion type that doesn't need additional details:

{
  "messageExclusion": {
    "code": "SomeOtherExclusionCode",
    "reason": "SomeOtherExclusionReason"
  }
}

With exclusion details (new capability)

message-delivery-feedback.example.2.json - personalizedDomainNotValid with invalid domains:

{
  "messageExclusion": {
    "code": "050109",
    "reason": "personalizedDomainNotValid",
    "details": {
      "invalidDomains": ["example.com", "test-domain.org"]
    }
  }
}

Copy link
Collaborator

@waykar-prashant waykar-prashant left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants