RudderStack Cloud Mode destination in Survicate #4907
Draft
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.
What are the changes introduced in this PR?
This PR introduces the Survicate Cloud Mode Destination integration for RudderStack. The implementation transforms RudderStack events (identify, group, and track) into Survicate API format for integration with the Survicate Contacts service.
What is the related Linear task?
Resolves INT-XXX
Please explain the objectives of your changes below
The objective is to enable RudderStack users to seamlessly send user identification, group association, and event tracking data to Survicate's Contacts service. The integration:
Processes three event types:
identify: Sends user identification data with traits and selected context
group: Associates users with groups including group-specific traits
track: Tracks user events with event names and properties
Ensures data consistency by always including: userId, timestamp, messageId and filtered context (only locale, campaign, userAgent)
Validates required fields to ensure data integrity at the Contacts service
Flattens nested structures by extracting context traits and merging them into the payload
Any changes to existing capabilities/behaviour, mention the reason & what are the changes ?
N
Any new dependencies introduced with this change?
N
Any new generic utility introduced or modified. Please explain the changes.
N
Any technical or performance related pointers to consider with the change?
N
Developer checklist
My code follows the style guidelines of this project
No breaking changes are being introduced.
All related docs linked with the PR?
All changes manually tested?
Any documentation changes needed with this change?
Is the PR limited to 10 file changes?
Is the PR limited to one linear task?
Are relevant unit and component test-cases added in new readability format?
Reviewer checklist
Is the type of change in the PR title appropriate as per the changes?
Verified that there are no credentials or confidential data exposed with the changes.