Библиотека queriesЗарегистрировать подписчика на рассылку из InstaWP в Mailchimp
Зарегистрировать подписчика на рассылку из InstaWP в Mailchimp
InstaWP позволяет посетителям запускать песочницу для тестирования плагина, а также подписываться на рассылку:

Мы можем захватывать эти адреса электронной почты, предоставив вебхук в InstaWP, на вкладке «Advanced Options» шаблона:

Вебхук будет представлять собой persisted query со следующим запросом. Этот запрос захватывает адрес электронной почты посетителей и подписывает его на список 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"
}
}
})
}И определите в wp-config.php:
define( 'MAILCHIMP_API_CREDENTIALS_USERNAME', '{ username }' );
define( 'MAILCHIMP_API_CREDENTIALS_PASSWORD', '{ password }' );Используя этот вебхук, при создании нового тестового сайта в InstaWP, когда пользователь подписывается на рассылку, адрес электронной почты посетителя автоматически добавляется в список Mailchimp:
