Query-bibliotheekGebruikersgegevens correleren van WordPress en Mailchimp
Gebruikersgegevens correleren van WordPress en Mailchimp
Deze query combineert de gebruikersgegevens van de lokale WordPress-site met gegevens van diezelfde gebruikers in Mailchimp, waarbij het e-mailadres van de gebruiker als gemeenschappelijke identificator tussen de twee systemen wordt gebruikt.
Het resultaat zijn de gebruikersgegevens email, name en lastname afkomstig uit WordPress, aangevuld met het veld location uit Mailchimp.
query FetchUserDataFromMailchimpList(
# mailchimpDataCenterCode: Code for the data center of your account on Mailchimp (See: https://mailchimp.com/developer/marketing/docs/fundamentals/#api-structure)
$mailchimpDataCenterCode: String!
# Audience ID for the list on Mailchimp to which to subscribe the email
$mailchimpAudienceID: String!
) {
mailchimpUsername: _env(name: "MAILCHIMP_API_CREDENTIALS_USERNAME")
@remove
mailchimpPassword: _env(name: "MAILCHIMP_API_CREDENTIALS_PASSWORD")
@remove
mailchimpAPIEndpoint: _sprintf(
string: "https://%s.api.mailchimp.com/3.0/lists/%s/members",
values: [$mailchimpDataCenterCode, $mailchimpAudienceID]
)
@remove
mailchimpListMembersJSONObject: _sendJSONObjectItemHTTPRequest(input: {
url: $__mailchimpAPIEndpoint,
method: GET,
options: {
auth: {
username: $__mailchimpUsername,
password: $__mailchimpPassword
}
}
})
@remove
mailchimpUserData: _objectProperty(
object: $__mailchimpListMembersJSONObject,
by: { key: "members"}
)
@underEachArrayItem
@objectKeepProperties(keys: ["email_address", "location"])
@export(as: "mailchimpUserData")
}
query FetchUserDataFromWordPress {
users(pagination: { limit: -1 }) {
id
email_address: email
name
lastName
@export(
as: "wordpressUserData",
type: LIST,
affectAdditionalFieldsUnderPos: [1, 2, 3]
)
}
}
query CombineUserDataFromMailchimpAndWordPress
@depends(on: [
"FetchUserDataFromMailchimpList",
"FetchUserDataFromWordPress"
])
{
combinedWordPressAndMailchimpUserData: _arrayInnerJoinJSONObjectProperties(
source: $mailchimpUserData,
target: $wordpressUserData,
index: "email_address"
)
}En definieer in wp-config.php:
define( 'MAILCHIMP_API_CREDENTIALS_USERNAME', '{ username }' );
define( 'MAILCHIMP_API_CREDENTIALS_PASSWORD', '{ password }' );