@mindful-web/marko-web-identity-x-mailchimp
v1.59.1
Published
Marko IdentityX+Mailchimp integration
Keywords
Readme
Mailchimp
This package integrates the Marko Web website framework with the Mailchimp ESP/CDP.
Usage
Add the package to your package's dependencies using yarn:
yarn add @mindful-web/marko-web-identity-x-mailchimp
# or
yarn workspace @my/workspace-name add @mindful-web/marko-web-identity-x-mailchimpGenerate IdentityX and Mailchimp configs:
const IdentityXConfig = require('@mindful-web/marko-web-identity-x/config');
const MaichimpConfig = require('@mindful-web/marko-web-identity-x-mailchimp/src/config');
const idxConfig = new IdentityXConfig({
// ...
});
const mcConfig = new MailchimpConfig({
// @see src/config.js for details
// at minimum specify accessToken, accountId, listId, and datacenter
})Configuration
The MailchimpConfig class requires, at minimum, the Mailchimp access token, account identifier, and datacenter. These values can be obtained from the Mailchimp API.
Access Token
The OAuth2 access token for the Mindful Data Connector application. This is generated during the OAuth2 auth dance.
Account Identifier
This value is returned from the root endpoint.
Datacenter
This value is returned when exchangingan OAuth token for an access token. It is also available from the root endpoint.
List Identifier
The audience list identifier can be retrieved using the lists API.
Merge Field Map
While optional, the merge field map defines what Mailchimp merge fields will map to IdentityX custom fields (or core fields).
Mailchimp administrators can change, remove, or rename any merge field within their account. The default set of merge fields includes EMAIL, FNAME, LNAME, and ADDRESS.
In order for standard fields to map, they must be specified within the merge field map:
const config = new MailchimpConfig({
// ...
mergeFieldMap: new Map([
['FNAME', { type: 'text', field: 'givenName' }],
// ..
]),
});Hooks
The default behavior for this package can be overwritten by specifiying a custom function under the hook config key.
const config = new MailchimpConfig({
// ...
hooks: {
onChangeEmailSuccess: async (args) => {
args.log('custom handler!', args);
},
},
});