Pustaka queriesKorelasikan data pengguna dari WordPress dan Mailchimp
Korelasikan data pengguna dari WordPress dan Mailchimp
Query ini menggabungkan data pengguna dari situs WordPress lokal dengan data pengguna yang sama dari Mailchimp, menggunakan email pengguna sebagai pengenal bersama antara kedua sistem.
Hasilnya adalah data pengguna email, name, dan lastname yang berasal dari WordPress, diperkaya dengan field location dari 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"
)
}Dan definisikan dalam wp-config.php:
define( 'MAILCHIMP_API_CREDENTIALS_USERNAME', '{ username }' );
define( 'MAILCHIMP_API_CREDENTIALS_PASSWORD', '{ password }' );