Mailchimp API v3.0 добавить ожидающего участника без подтверждения по электронной почте

Я выполняю вызов curl через php для Mailchimp API v3.0.
Когда пользователь подписывается на мои cms, я отправляю ему электронное письмо с подтверждением и добавляю участника в определенный список Mailchimp, вызывая этот URL:

'https://us11.api.mailchimp.com/3.0/lists/'.$list_id.'/members/';

передавая эти параметры:

$data = array(
'apikey'            => $apikey,
'email_address'     => $mailchimp_user['email'],
'status'            => 'pending',
'update_existing'   => true,
'send_welcome'      => false,
'double_optin'      => false,
'merge_fields'      => array(
'FNAME'             => $mailchimp_user['FNAME'],
'LNAME'             => $mailchimp_user['LNAME']
)
);

Ожидающая подписка Mailchimp прошла успешно.
Когда пользователь нажимает на электронное письмо с подтверждением, отправленное с моего cms, с другим вызовом curl (метод PATCH), я могу легко обновить статус участника на «подписан».
Таким образом, я могу управлять всей подпиской Mailchimp из моей cms, без какого-либо поведения и разметки Mailchimp по умолчанию.

Но электронное письмо с подтверждением Mailchimp никогда не отправляется пользователю, даже если параметр ‘double_optin’ имеет значение false.

Я заметил, что, если я установил статус участника как «отписался», пользователь не получил подтверждение по электронной почте. Но это логически неправильно!
Я хотел бы, чтобы два шага для подписки на Mailchimp были
в ожидании -> подписался
и не
отписался -> подписался.

Могу ли я что-нибудь с этим сделать?

2

Решение

Вы, кажется, смешиваете API v2.0 и API v3.0. В v3.0 вы не должны передавать свой ключ API в теле запроса, и нет флага double_opt_in. В MailChimp, если вы установите для пользователя режим ожидания, ему всегда будет отправлено электронное письмо с подтверждением. v2.0 и v3.0 справляются с этим по-разному. В версии 2.0 передача double_opt_in как true приводит к ожиданию участника, который получает подтверждение по электронной почте. Передав это как false приводит к подписке участника.

В версии 3.0 настройка status в pending отправляет подтверждение по электронной почте.

6

Другие решения

внутренний pending Статус mailchimp API v3 отсутствует, поэтому вы можете настроить двойной выбор вручную для своих пользователей. Именно так mailchimp может отправлять пользователям свои собственные автоматические письма с двойной подпиской.

Для получения двойного согласия вручную необходимо выполнить следующие действия:

  1. когда пользователь отправляет вашу форму на стороне клиента, сделайте POST запросите mailchimp api v3 и добавьте нового пользователя в свой список как unsubscribed

  2. отправить пользователю электронное письмо, используя mandrill или какой-то другой сервис. Целью этого письма будет то, что он принимает subscribed в ваш список.

  3. когда пользователь нажимает на почту сделать PATCH запросите mailchimp api v3 и обновите пользователя до subscribed,

Вы можете найти более подробную информацию Вот,
а также Вот.

0

По вопросам рекламы [email protected]