Thư viện QueriesĐăng ký người đăng ký newsletter từ InstaWP vào Mailchimp
Đăng ký người đăng ký newsletter từ InstaWP vào Mailchimp
InstaWP cho phép khách truy cập khởi chạy một trang sandbox để kiểm thử plugin, đồng thời cho phép họ đăng ký nhận newsletter:

Chúng ta có thể thu thập các email này bằng cách cung cấp một webhook cho InstaWP, trong tab "Advanced Options" của template:

Webhook sẽ là một persisted query với queries dưới đây. Queries này thu thập email từ khách truy cập và đăng ký email đó vào một danh sách Mailchimp.
query HasSubscribedToNewsletter {
hasSubscriberOptIn: _httpRequestHasParam(name: "marketing_optin")
subscriberOptIn: _httpRequestStringParam(name: "marketing_optin")
isNotSubscriberOptInNAValue: _notEquals(value1: $__subscriberOptIn, value2: "NA")
subscribedToNewsletter: _and(values: [$__hasSubscriberOptIn, $__isNotSubscriberOptInNAValue])
@export(as: "subscribedToNewsletter")
}
query RegisterNewsletterSubscribeFromInstaWPToMailchimpList(
# 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!
)
@depends(on: "HasSubscribedToNewsletter")
@include(if: $subscribedToNewsletter)
{
subscriberEmail: _httpRequestStringParam(name: "email")
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]
)
mailchimpListMembersJSONObject: _sendJSONObjectItemHTTPRequest(input: {
url: $__mailchimpAPIEndpoint,
method: POST,
options: {
auth: {
username: $__mailchimpUsername,
password: $__mailchimpPassword
},
json: {
email_address: $__subscriberEmail,
status: "subscribed"
}
}
})
}Và định nghĩa trong wp-config.php:
define( 'MAILCHIMP_API_CREDENTIALS_USERNAME', '{ username }' );
define( 'MAILCHIMP_API_CREDENTIALS_PASSWORD', '{ password }' );Sử dụng webhook này, khi tạo một trang kiểm thử mới trên InstaWP và người dùng đăng ký nhận newsletter, email của khách truy cập sẽ tự động được thêm vào danh sách Mailchimp:
