-
Notifications
You must be signed in to change notification settings - Fork 254
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
[Antavo ] New Antavo Destination #2619
base: main
Are you sure you want to change the base?
Conversation
Atlantis commands can't be run on fork pull requests. To enable, set --allow-fork-prs or, to disable this message, set --silence-fork-pr-errors |
|
Hi @bbantavo thanks for raising this PR for a new Integration. The code looks pretty straightforward. Instead of pointing out all the issues I'm going to ask you some broad questions, and based on your answers I might end up making some code changes myself before merging and deploying.
Finally - would you please run the Thank you! |
Hi @joe-ayoub-segment ! Here are our answers:
We've also ran and pushed the results of the |
// Return a request that tests/validates the user's credentials. | ||
// If you do not have a way to validate the authentication fields safely, | ||
// you can remove the `testAuthentication` function, though discouraged. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @bbantavo is there a request you can make here to validate that the api_key is valid?
onDelete: async () => { | ||
return true | ||
// Return a request that performs a GDPR delete for the provided Segment userId or anonymousId | ||
// provided in the payload. If your destination does not support GDPR deletion you should not | ||
// implement this function and should remove it completely. | ||
}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hi @bbantavo
Please remove the onDelete code if you don't intend to use it.
fields: { | ||
stack: { | ||
label: 'Stack', | ||
description: 'Antavo stack', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hi @bbantavo please indicate where the customer can get this value from.
}, | ||
api_key: { | ||
label: 'API Key', | ||
description: 'Antavo brand API key', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
hi @bbantavo please indicate where the customer can get this value from.
customer: { | ||
label: 'Customer ID', | ||
description: 'User ID, selected in Antavo as customer identifier', | ||
type: 'string', | ||
required: true | ||
}, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Adding a default mapping so that userId is automatically mapped.
customer: { | |
label: 'Customer ID', | |
description: 'User ID, selected in Antavo as customer identifier', | |
type: 'string', | |
required: true | |
}, | |
customer: { | |
label: 'Customer ID', | |
description: 'User ID, selected in Antavo as customer identifier', | |
type: 'string', | |
required: true, | |
default: { | |
'@path': '$.userId' | |
} | |
}, |
default: { | ||
first_name: '', | ||
last_name: '', | ||
email: '', | ||
birth_date: '', | ||
gender: '', | ||
language: '', | ||
phone: '', | ||
mobile_phone: '', | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Adding default mappings as per Segment identify spec https://segment.com/docs/connections/spec/identify/
default: { | |
first_name: '', | |
last_name: '', | |
email: '', | |
birth_date: '', | |
gender: '', | |
language: '', | |
phone: '', | |
mobile_phone: '', | |
} | |
default: { | |
first_name: { | |
'@path': '$.traits.first_name' | |
}, | |
last_name: { | |
'@path': '$.traits.last_name' | |
}, | |
email: { | |
'@path': '$.traits.email' | |
}, | |
birth_date: { | |
'@path': '$.traits.birthday' | |
}, | |
gender: { | |
'@path': '$.traits.gender' | |
}, | |
language: { | |
'@path': '$.traits.language' | |
}, | |
phone: { | |
'@path': '$.traits.phone' | |
}, | |
mobile_phone: { | |
'@path': '$.traits.mobile_phone' | |
} | |
} |
label: 'Customer ID', | ||
description: 'User ID, selected in Antavo as customer identifier', | ||
type: 'string', | ||
required: true |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
required: true | |
required: true, | |
default: { | |
'@path': '$.userId' | |
} |
data: { | ||
label: 'Event data', | ||
description: 'Event data', | ||
type: 'object', | ||
required: false | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
usually event data would be contained in this location in a Segment track() event. Up to you if you want to collect and send it.
default: {
'@path': '$.properties'
}
hi @bbantavo I added some more comments - mostly default mappings for fields in your 2 Actions. |
Added new Antavo Destination
Testing