Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Hyperengage] Destination #1621

Merged
merged 13 commits into from
Oct 3, 2023
Merged

Conversation

zhadier39
Copy link
Contributor

Hyperengage Integration

Smart alerting for startup GTM teams, Hyperengage tracks thousands of data points to trigger smart alerts on hidden opportunities when the accounts are ready for upsell, or likely to churn. Our customers are sales, customer success, and Revops teams at B2B SaaS companies.

How our customers want to use Segment

Hyperengage customers may already have usage events in Segment. If they don't, we recommend Segment as a way to quickly connect product usage data to Hyperengage.

Once the integration is connected, Hyperengage uses the data, in combination with other data sources to provide actionable insights which would help Hyperengage customers to reach out to the right people at the right time.

image

Testing

Include any additional information about the testing you have completed to
ensure your changes behave as expected. For a speedy review, please check
any of the tasks you completed below during your testing.

  • Added unit tests for new functionality
  • Tested end-to-end using the local server
  • [Segmenters] Tested in the staging environment

@zhadier39 zhadier39 requested a review from a team as a code owner September 28, 2023 14:58
@zhadier39 zhadier39 requested a review from a team September 28, 2023 14:58
@joe-ayoub-segment
Copy link
Contributor

hi @zhadier39 , thanks for raising this PR for a new Integration.
Because this is for a new Integration I'd like to meet with you to get an understanding of the use-cases involved, events and user identifiers to be sent to your platform.

Would you be OK meeting with me to run through this?

You can schedule a call with me here:

http://calendly.com/joe_ayoub/integration-workshop

Best regards,
Joe

@saadhypng
Copy link
Contributor

hey @joe-ayoub-segment ,

We have booked a time for tomorrow.

Thanks

Copy link
Contributor

@joe-ayoub-segment joe-ayoub-segment left a comment

Choose a reason for hiding this comment

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

Hi @zhadier39 ,

Here's the complete PR review.

Best regards,
Joe

name: 'Hyperengage (Actions)',
slug: 'actions-hyperengage',
mode: 'cloud',

Copy link
Contributor

Choose a reason for hiding this comment

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

please add a description.

required: false,
description: 'The account id, to uniquely identify the account associated with the user',
label: 'Account id',
default: { '@path': '$.groupId' }
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
default: { '@path': '$.groupId' }
default: { '@path': '$.context.group_id' }

Comment on lines 141 to 147
default: {
'@if': {
exists: { '@path': '$.properties.timezone' },
then: { '@path': '$.properties.timezone' },
else: { '@path': '$.traits.timezone' }
}
}
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
default: {
'@if': {
exists: { '@path': '$.properties.timezone' },
then: { '@path': '$.properties.timezone' },
else: { '@path': '$.traits.timezone' }
}
}
default: { '@path': '$.context.timezone' }

},
user_id: {
type: 'string',
required: false,
Copy link
Contributor

Choose a reason for hiding this comment

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

Should be required. Then you don't need to validate.

screen_resolution: '0',
user_id: input?.user_id || input?.userId,
account_id: input?.account_id || input?.accountId || input?.traits?.companyId || input?.traits?.company?.id,
anonymous_id: input?.anonymousId || random(1000000000, 9999999999).toString(),
Copy link
Contributor

Choose a reason for hiding this comment

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

Recommend not randomly generating an anonymousId.


// Get the doc_title from the input url
if (input?.url) {
const urlPattern = new RegExp(
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this regex needed? The title tag value is collected using the title field.

Comment on lines 20 to 32
name: {
type: 'string',
required: true,
description: "The user's name",
label: 'Name',
default: {
'@if': {
exists: { '@path': '$.traits.name' },
then: { '@path': '$.traits.name' },
else: { '@path': '$.properties.name' }
}
}
},
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggestion: It's more common that customers send in name as 2 different fields called first_name and last_name.
You could then merge these 2 together if you wanted to send a single name field to your platform.

required: false,
description: 'The account id, to uniquely identify the account associated with the user',
label: 'Account id',
default: { '@path': '$.groupId' }
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
default: { '@path': '$.groupId' }
default: { '@path': '$.context.group_id' }

created_at: {
type: 'string',
required: false,
description: 'The timestamp when the user was created',
Copy link
Contributor

Choose a reason for hiding this comment

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

Maybe explain the format for the timestamp. e.g. ISO 8601, and give an example.

@joe-ayoub-segment
Copy link
Contributor

hi @zhadier39 , just checking that you are OK with the feedback on this PR?
Best regards,
Joe

@zhadier39
Copy link
Contributor Author

Hi @joe-ayoub-segment ,

Thanks for reaching out. Yes the feedback is perfect, I've reviewed them and I'm currently addressing the comments. I'll push the updates shortly and will let you know if I have any questions.

Best regards,
@zhadier39

Comment on lines 40 to 42
exists: { '@path': '$.traits.firstName' },
then: { '@path': '$.traits.firstName' },
else: { '@path': '$.properties.firstName' }
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
exists: { '@path': '$.traits.firstName' },
then: { '@path': '$.traits.firstName' },
else: { '@path': '$.properties.firstName' }
exists: { '@path': '$.traits.first_name' },
then: { '@path': '$.traits.first_name' },
else: { '@path': '$.properties.first_name' }

Comment on lines 53 to 55
exists: { '@path': '$.traits.lastName' },
then: { '@path': '$.traits.lastName' },
else: { '@path': '$.properties.lastName' }
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
exists: { '@path': '$.traits.lastName' },
then: { '@path': '$.traits.lastName' },
else: { '@path': '$.properties.lastName' }
exists: { '@path': '$.traits.last_name' },
then: { '@path': '$.traits.last_name' },
else: { '@path': '$.properties.last_name' }

Comment on lines 77 to 83
default: {
'@if': {
exists: { '@path': '$.context.group_id' },
then: { '@path': '$.context.group_id' },
else: { '@path': '$.context.groupId' }
}
}
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
default: {
'@if': {
exists: { '@path': '$.context.group_id' },
then: { '@path': '$.context.group_id' },
else: { '@path': '$.context.groupId' }
}
}
default: {
'@if': {
exists: { '@path': '$.context.group_id' },
then: { '@path': '$.context.group_id' },
else: { '@path': '$.groupId' }
}
}

Comment on lines 17 to 23
default: {
'@if': {
exists: { '@path': '$.context.group_id' },
then: { '@path': '$.context.group_id' },
else: { '@path': '$.context.groupId' }
}
}
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
default: {
'@if': {
exists: { '@path': '$.context.group_id' },
then: { '@path': '$.context.group_id' },
else: { '@path': '$.context.groupId' }
}
}
default: {
'@if': {
exists: { '@path': '$.context.group_id' },
then: { '@path': '$.context.group_id' },
else: { '@path': '$.groupId' }
}
}

Comment on lines 38 to 44
default: {
'@if': {
exists: { '@path': '$.context.group_id' },
then: { '@path': '$.context.group_id' },
else: { '@path': '$.context.groupId' }
}
}
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
default: {
'@if': {
exists: { '@path': '$.context.group_id' },
then: { '@path': '$.context.group_id' },
else: { '@path': '$.context.groupId' }
}
}
default: {
'@if': {
exists: { '@path': '$.context.group_id' },
then: { '@path': '$.context.group_id' },
else: { '@path': '$.groupId' }
}
}

@@ -107,5 +98,6 @@ export const validateInput = (
delete properties.trial_end
delete properties.website
}
console.log(properties)
Copy link
Contributor

Choose a reason for hiding this comment

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

please remove the console.log

Comment on lines +50 to +63
if (input?.name) {
properties.traits = {
email: input?.email,
name: input?.name,
created_at: input?.created_at,
...properties.traits
}
} else if (input?.first_name || input?.last_name) {
properties.traits = {
email: input?.email,
name: `${input?.first_name} ${input?.last_name}}`,
created_at: input?.created_at,
...properties.traits
}
Copy link
Contributor

Choose a reason for hiding this comment

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

Should we throw an error if input.name and input.first_name and input.last_name are all empty?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Yes, I think throwing an error for mandatory field missing should be the way to go here. Lemme see what I can do.

Copy link
Contributor Author

@zhadier39 zhadier39 Oct 2, 2023

Choose a reason for hiding this comment

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

Hey @joe-ayoub-segment , I've resolved the default path issues and added an error incase neither of the first_name and last_name or name fields are provided. Sorry for the inconvenience and thank you so much for your time

@saadhypng
Copy link
Contributor

Hey @joe-ayoub-segment , is this getting deployed today?

Copy link
Contributor

@joe-ayoub-segment joe-ayoub-segment left a comment

Choose a reason for hiding this comment

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

hi @zhadier39 and @saadhypng , couple more things.
Also the unit tests are failing. Can you make sure they pass please?

You can run them using this command:

yarn jest --testPathPattern='./packages/destination-actions/src/destinations/hyperengage'

Also please make sure this command passes:

yarn validate

label: 'Timezone',
default: {
'@if': {
exists: { '@path': 'context.timezone' },
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
exists: { '@path': 'context.timezone' },
exists: { '@path': '$.context.timezone' },

@@ -0,0 +1,102 @@
import { Settings } from './generated-types'
Copy link
Contributor

Choose a reason for hiding this comment

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

There are linting errors because of the use of 'any'. You can either fix them or add the following line:

/* eslint-disable @typescript-eslint/no-explicit-any */

Also, you shouldn't throw a regular Error object. Please throw a PayloadValidationError object. You can include it here:

import { PayloadValidationError } from '@segment/actions-core'

...properties.traits
}
} else {
throw new Error('Either name, or first_name and last_name must be provided.')
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
throw new Error('Either name, or first_name and last_name must be provided.')
throw new PayloadValidationError('Either name, or first_name and last_name must be provided.')

@zhadier39
Copy link
Contributor Author

zhadier39 commented Oct 3, 2023

yarn validate

Hey @joe-ayoub-segment ,
When I run yarn validate, there's only a single error in someone else's action destination

image

I haven't meddled with any other action destinations as you can see in the PR. What am I expected to do here?

@joe-ayoub-segment
Copy link
Contributor

yarn validate

Hey @joe-ayoub-segment , When I run yarn validate, there's only a single error in someone else's action destination

image

I haven't meddled with any other action destinations as you can see in the PR. What am I expected to do here?

Hi @zhadier39 if yarn validate passes that's great, nothing to do.

Do the unit tests pass when you run this?

yarn jest --testPathPattern='./packages/destination-actions/src/destinations/hyperengage'

@joe-ayoub-segment
Copy link
Contributor

Looks like you probably fixed the tests. I'll run CI now.

@joe-ayoub-segment joe-ayoub-segment merged commit dc0f000 into segmentio:main Oct 3, 2023
@joe-ayoub-segment
Copy link
Contributor

Hi @zhadier39 this PR has been deployed. I'll share instructions for how to access it via email.

harsh-joshi99 added a commit that referenced this pull request Oct 12, 2023
commit 8b736ac
Author: Harsh Joshi <[email protected]>
Date:   Thu Oct 12 10:12:51 2023 +0530

    Add order complete action to klaviyo

commit e440b74
Author: Harsh Joshi <[email protected]>
Date:   Tue Oct 10 15:32:10 2023 +0530

    Add upsert profile and track event actions to klaviyo

commit 5a1cb53
Author: Joe Ayoub <[email protected]>
Date:   Mon Oct 9 18:16:38 2023 +0200

    updating wording on field (#1631)

commit 2f16bc8
Author: Ankit Gupta <[email protected]>
Date:   Mon Oct 9 19:45:54 2023 +0530

    Revert "[STRATCONN] 3183 Added email subscribe as dynamic field in braze (#1606)" (#1639)

    This reverts commit 17bd01f.

commit 34fbab6
Author: Elena <[email protected]>
Date:   Thu Oct 5 13:06:00 2023 -0700

    Yahoo audiences 2 (#1636)

    * scaffold files and folders
    * updated yahoo integration
    * Comments and some fixes.
    * Updating definition to have `createSegment` action.
    * modified mappings
    * updateStatus fix
    * Added new action createCustomerNode

    Code clean up, extra console.logs for testing

    * Yahoo: prep for Staging
    * Yahoo: minor fixes
    * Yahoo: gdpr support
    * Yahoo: added validation that incoming event is Audience update, removed unnecessary logging
    * Removing repeated code, improving JSDoc.
    * Unifying `updateTaxonomy` calls.
    * - `await/try/catch` instead of chained promises;
    - Missing `BASE_URL` as constant.

    * Yahoo: added createAudience, testAuthentication, updated settings
    * Yahoo: async func call fix
    * attempting to get project to build
    * registering yahoo-audiences
    * Adding Destination description
    * Adding missing description to Action
    * Setting enable_batching field to be boolean
    * Setting enable_batching setting to be boolean
    * Yahoo: handling errors from taxonomy API
    * Yahoo: modifier err handling
    * Unit test for `YahooAudiences.updateSegment`.
    * Success and failure cases for `YahooAudiences.updateSegment`.
    * Unit tests for `createAudience` in Yahoo Audiences.
    * Yahoo: removed duplicate file
    * Yahoo: updateSegment action changes - added Identifier selector, Yahoo payload checks, set action fields 'required' status to false where needed
    * Yahoo: updated audienceSettings
    * Yahoo: added more unit tests, added support of preferred identifier in 'audienceSettings' with a fallback to an identifier fetched from the action
    * Yahoo: added check of audience_id
    * Fixing unit tests.
    * Yahoo: minor fixes
    * Yahoo: cleaned up comments, console.log
    * Snapshots don't make sense here: we have two endpoints. One of them uses OAuth1, which gets a new nonce every time the API is called.
    * Removing unnecessary `else`s.
    * Yahoo: Taxonomy API auth change
    * Yahoo: unit tests
    * deleting actions

    ---------

    Co-authored-by: Jina Park <[email protected]>
    Co-authored-by: Elena Parshina <[email protected]>
    Co-authored-by: Leonel Sanches <[email protected]>
    Co-authored-by: joe-ayoub-segment <[email protected]>

commit 4b31c5b
Author: rhall-twilio <[email protected]>
Date:   Thu Oct 5 11:33:54 2023 -0400

    remove timestamp from LiveRamp filename default (#1633)

commit fa3afde
Author: joe-ayoub-segment <[email protected]>
Date:   Tue Oct 3 15:23:55 2023 +0100

    Publish

     - @segment/[email protected]

commit f3c9b8c
Author: Joe Ayoub <[email protected]>
Date:   Tue Oct 3 16:22:13 2023 +0200

    Registering hyperengage

    Registering hyperengage Destination

commit 3ef6f30
Author: Ryan Rouleau <[email protected]>
Date:   Tue Oct 3 09:23:31 2023 -0400

    Track s3 call (#1600)

commit b984363
Author: Elena <[email protected]>
Date:   Tue Oct 3 06:16:59 2023 -0700

    Yahoo audiences (#1628)

    * scaffold files and folders

    * updated yahoo integration

    * Comments and some fixes.

    * Updating definition to have `createSegment` action.

    * modified mappings

    * updateStatus fix

    * Added new action createCustomerNode

    Code clean up, extra console.logs for testing

    * Yahoo: prep for Staging

    * Yahoo: minor fixes

    * Yahoo: gdpr support

    * Yahoo: added validation that incoming event is Audience update, removed unnecessary logging

    * Removing repeated code, improving JSDoc.

    * Unifying `updateTaxonomy` calls.

    * - `await/try/catch` instead of chained promises;
    - Missing `BASE_URL` as constant.

    * Yahoo: added createAudience, testAuthentication, updated settings

    * Yahoo: async func call fix

    * attempting to get project to build

    * registering yahoo-audiences

    * Adding Destination description

    * Adding missing description to Action

    * Setting enable_batching field to be boolean

    * Setting enable_batching setting to be boolean

    * Yahoo: handling errors from taxonomy API

    * Yahoo: modifier err handling

    * Unit test for `YahooAudiences.updateSegment`.

    * Success and failure cases for `YahooAudiences.updateSegment`.

    * Unit tests for `createAudience` in Yahoo Audiences.

    * Yahoo: removed duplicate file

    * Yahoo: updateSegment action changes - added Identifier selector, Yahoo payload checks, set action fields 'required' status to false where needed

    * Yahoo: updated audienceSettings

    * Yahoo: added more unit tests, added support of preferred identifier in 'audienceSettings' with a fallback to an identifier fetched from the action

    * Yahoo: added check of audience_id

    * Fixing unit tests.

    * Yahoo: minor fixes

    * Yahoo: cleaned up comments, console.log

    * Snapshots don't make sense here: we have two endpoints. One of them uses OAuth1, which gets a new nonce every time the API is called.

    * removing unnecessary and possibly problematic error throw

    ---------

    Co-authored-by: Jina Park <[email protected]>
    Co-authored-by: Elena Parshina <[email protected]>
    Co-authored-by: Leonel Sanches <[email protected]>
    Co-authored-by: joe-ayoub-segment <[email protected]>

commit 17a2f7f
Author: suppalapati <[email protected]>
Date:   Tue Oct 3 05:49:20 2023 -0700

    fix: remove eventstreams flagon (#1622)

    Co-authored-by: suppalapati <[email protected]>

commit dc0f000
Author: zhadier39 <[email protected]>
Date:   Tue Oct 3 17:48:57 2023 +0500

    [Hyperengage] Destination (#1621)

    * Add unit and integration tests

    * Updated field descriptions for group, identify and track

    * Updated common fields

    * Fix identify function error

    * Added authentication endpoint

    * Revise tests to enable auth

    * Update default paths for groupId.

    * Implement recommended changes from PR #1621

    * Add url field

    * Resolve pathing issues and add tests/checks for first and last name fields

    * Resolve test issues, payload validation error, and correct context default

    ---------

    Co-authored-by: saadhypng <[email protected]>
    Co-authored-by: Saad Ali <[email protected]>

commit 08e75ef
Author: Matt Grosvenor <[email protected]>
Date:   Tue Oct 3 06:47:18 2023 -0400

    Segment Actions Improvements (#23) (#1550)

    * Make userId and uid not required

    * Change path from v2beta to v2

    * Remove integrationSrc query param for v2 routes

    * change testAuthentication to use /me endpoint

commit ec2edbd
Author: Innovative-GauravKochar <[email protected]>
Date:   Tue Oct 3 16:14:22 2023 +0530

    [Strat-3157] | Updated type of num_items from string to integer (#1620)

    * worked on fixing 3157 | Pinterest Conversions API sending integers as strings.

    * Handle NAN while parsing

    * updated datatype of num_items from string to integer

    ---------

    Co-authored-by: Gaurav Kochar <[email protected]>

commit a008da0
Author: Maryam Sharif <[email protected]>
Date:   Mon Oct 2 11:29:44 2023 -0700

    Publish

     - @segment/[email protected]
     - @segment/[email protected]
     - @segment/[email protected]
     - @segment/[email protected]
     - @segment/[email protected]

commit 3c89f00
Author: maryamsharif <[email protected]>
Date:   Mon Oct 2 11:22:21 2023 -0700

    [The Trade Desk] Add error message (#1627)

    * Add error if external_id not found in payload

    * Add test case

    * Add preset

    * Remove preset:

commit af521a0
Author: maryamsharif <[email protected]>
Date:   Mon Oct 2 10:54:39 2023 -0700

    [TikTok Audiences] Remove feature flag (#1624)

    * Use different feature flag

    * Fix test

    * Remove feature flag

commit 53f6f86
Author: maryamsharif <[email protected]>
Date:   Mon Oct 2 10:06:32 2023 -0700

    [The Trade Desk CRM] Remove old create audience flow (#1618)

    * Remove flagon for createAudience

    * Remove unnecesssary fields

    * Fix tests

commit a24111e
Author: joe-ayoub-segment <[email protected]>
Date:   Mon Oct 2 13:33:45 2023 +0100

    comitting generated typees for hubble

commit 478b969
Author: joe-ayoub-segment <[email protected]>
Date:   Mon Oct 2 12:46:46 2023 +0100

    registering hubble

commit b60859d
Author: M.Byun <[email protected]>
Date:   Mon Oct 2 20:16:10 2023 +0900

    feat: hubble-web browser-destination (#1566)

    * feat: hubble-web browser-destination

    * refactor: change settings appId to id

    * refactor: setSource to be global and add identifiers to track

    * fix(hubble-web): set optional chaining when setting source on initialize

    * refactor: make identify and track take objects as arguments

    * fix: change to production URL for script

    * fix: failing test for hubble-web browser destination
    - change test to correct URL
    - add optional chaining to setSource on initialize

commit 17bd01f
Author: Ankit Gupta <[email protected]>
Date:   Thu Sep 28 12:48:52 2023 +0530

    [STRATCONN] 3183 Added email subscribe as dynamic field in braze (#1606)

    * Added email subscribe as dynamic field in braze

    * build failing due to generated type
wpride pushed a commit to wpride/action-destinations that referenced this pull request Oct 12, 2023
* Add unit and integration tests

* Updated field descriptions for group, identify and track

* Updated common fields

* Fix identify function error

* Added authentication endpoint

* Revise tests to enable auth

* Update default paths for groupId.

* Implement recommended changes from PR segmentio#1621

* Add url field

* Resolve pathing issues and add tests/checks for first and last name fields

* Resolve test issues, payload validation error, and correct context default

---------

Co-authored-by: saadhypng <[email protected]>
Co-authored-by: Saad Ali <[email protected]>
joe-ayoub-segment pushed a commit that referenced this pull request Nov 29, 2023
…ser_id field in group call (#1733)

* Add unit and integration tests

* Updated field descriptions for group, identify and track

* Updated common fields

* Fix identify function error

* Added authentication endpoint

* Revise tests to enable auth

* Update default paths for groupId.

* Implement recommended changes from PR #1621

* Add url field

* Resolve pathing issues and add tests/checks for first and last name fields

* Resolve test issues, payload validation error, and correct context default

* Fix no user_id field in group call and timezone offset bug

* Add tests for new functionality

* Delete packages/destination-actions/src/destinations/liveramp-audiences/audienceEnteredSFTP.types.ts

Remove auto generated types file on liveramp platform

* Fix ts error with timeZoneName

---------

Co-authored-by: saadhypng <[email protected]>
Co-authored-by: Saad Ali <[email protected]>
marinhero pushed a commit that referenced this pull request Nov 30, 2023
…ser_id field in group call (#1733)

* Add unit and integration tests

* Updated field descriptions for group, identify and track

* Updated common fields

* Fix identify function error

* Added authentication endpoint

* Revise tests to enable auth

* Update default paths for groupId.

* Implement recommended changes from PR #1621

* Add url field

* Resolve pathing issues and add tests/checks for first and last name fields

* Resolve test issues, payload validation error, and correct context default

* Fix no user_id field in group call and timezone offset bug

* Add tests for new functionality

* Delete packages/destination-actions/src/destinations/liveramp-audiences/audienceEnteredSFTP.types.ts

Remove auto generated types file on liveramp platform

* Fix ts error with timeZoneName

---------

Co-authored-by: saadhypng <[email protected]>
Co-authored-by: Saad Ali <[email protected]>
harsh-joshi99 added a commit that referenced this pull request Dec 6, 2023
commit 12d62f7
Author: Harsh Joshi <[email protected]>
Date:   Wed Dec 6 10:29:30 2023 +0530

    cleanup

commit 3b8b9ed
Author: Harsh Joshi <[email protected]>
Date:   Mon Dec 4 10:36:54 2023 +0530

    Code changes and unit tests

commit 2edb75e
Merge: 8e9e776 ad48899
Author: Harsh Joshi <[email protected]>
Date:   Wed Nov 29 18:01:45 2023 +0530

    Merge branch 'STRATCONN-3399' into klaviyo-add-to-profile-batch

commit 8e9e776
Author: Elena <[email protected]>
Date:   Wed Nov 29 04:02:37 2023 -0800

    Yahoo audiences 5 (#1742)

    * new audience settings, logging

    * mapping change, device type

commit 7b0fe44
Author: Ankit Gupta <[email protected]>
Date:   Wed Nov 29 17:25:49 2023 +0530

    [STRATCONN] Klaviyo AddToProfileList and RemoveFromProfileList actions with engage setup (#1723)

    * AddToProfileList and RemoveFromProfileList action added

    * added new flow of addProfileToList and RemoveProfileFromList actions in klaviyo

    * completed audience setup for klaviyo

    * updated api key field for klaviyo

    * change in remove from list api test cases

    * full audience sync turned off for audience klaviyo

    * changing default path of external_id

    * Removed debug codes

    * code refactored

    * change in addProfile and removeProfile in klaviyo

    * Resolved build error

    * Resolved build error

    * Added buildHeaders function

    * Seperated addProfile and RemoveProfile Functions

    * Added audience desctiption

    * Change error handling of createProfile function

    * Change error handling of createProfile function

    * Modified in addProfileToList Test case

commit 6db1308
Author: Marín Alcaraz <[email protected]>
Date:   Wed Nov 29 03:54:19 2023 -0800

    Add updateHandler to Actions DV360 (#1726)

    * Add updateHandler to Actions DV360

    * Fix tests

    * update yarn.lock

commit ac78bc7
Author: alfrimpong <[email protected]>
Date:   Wed Nov 29 05:50:15 2023 -0600

    Inc-7055 long term fix: add external ids to message tags (#1744)

    * feat: add external id type & value to message tags

    * feat: add test to enforce passthrough

commit 31e207c
Author: alfrimpong <[email protected]>
Date:   Wed Nov 29 05:44:38 2023 -0600

    Channels-973: parse text field of action buttons (#1738)

    * feat: parse merge tags in action button text

    * chore: added unit test

commit 593b024
Author: Sayan Das <[email protected]>
Date:   Wed Nov 29 17:14:02 2023 +0530

    LR: Fix CSV generator to account for all rows (#1735)

    * Fixed CSV generator to account for all rows

    * Updated CSV processor, tests and snapshots

commit ce3c082
Author: maryamsharif <[email protected]>
Date:   Wed Nov 29 03:43:21 2023 -0800

    [STRATCONN-3376] Add phone number to TikTok Audiences (#1730)

    * Add phone number

    * Fix unit tests

    * Hide enable batching field + adjust names

commit 6fc66be
Author: Chris Brown <[email protected]>
Date:   Wed Nov 29 06:42:32 2023 -0500

    rename full_name to display_name to fix API changes (#1743)

    * rename full_name to display_name to fix API changes

    * Update full_name to display_name in tests

commit 10cc239
Author: Joe Ayoub <[email protected]>
Date:   Wed Nov 29 12:42:06 2023 +0100

    adding default paths for click id and cookie (#1729)

commit 5d80f5e
Author: zhadier39 <[email protected]>
Date:   Wed Nov 29 16:41:16 2023 +0500

    [Hyperengage] Resolved issue with Timezone Offset and Added Missing user_id field in group call (#1733)

    * Add unit and integration tests

    * Updated field descriptions for group, identify and track

    * Updated common fields

    * Fix identify function error

    * Added authentication endpoint

    * Revise tests to enable auth

    * Update default paths for groupId.

    * Implement recommended changes from PR #1621

    * Add url field

    * Resolve pathing issues and add tests/checks for first and last name fields

    * Resolve test issues, payload validation error, and correct context default

    * Fix no user_id field in group call and timezone offset bug

    * Add tests for new functionality

    * Delete packages/destination-actions/src/destinations/liveramp-audiences/audienceEnteredSFTP.types.ts

    Remove auto generated types file on liveramp platform

    * Fix ts error with timeZoneName

    ---------

    Co-authored-by: saadhypng <[email protected]>
    Co-authored-by: Saad Ali <[email protected]>

commit ad48899
Author: Harsh Joshi <[email protected]>
Date:   Wed Nov 29 15:54:05 2023 +0530

    Update error handling

commit e9f2370
Author: Harsh Joshi <[email protected]>
Date:   Fri Nov 24 11:42:37 2023 +0530

    Add enable batching

commit a75cedd
Author: Harsh Joshi <[email protected]>
Date:   Fri Nov 24 11:06:45 2023 +0530

    Add performBatch in upsert profile
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants