добавить теги подписчику mailchimp, созданному через API. Переполнение стека

Я использую код PHP Curl для добавления нового подписчика в MailChimp. Это добавление подписчика со всей информацией, но я не понимаю, как добавить теги с помощью того же вызова Curl. Я пытался во многих отношениях, но у меня ничего не получалось.
Пожалуйста, дайте мне знать, как я могу добавить теги к этому новому подписчику.

0

Решение

Согласно документации MailChimp, вам нужно использовать отдельный вызов для добавления тегов. https://developer.mailchimp.com/documentation/mailchimp/reference/lists/members/tags/
Обратите внимание, что в моем тестировании ответное сообщение пустое, хотя тег добавлен. Либо я делаю что-то не так, либо в API есть ошибка.

0

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

Мое решение для отправки POST / lists / {list_id} / members / {subscriber_hash} / теги с PHP
— Я надеюсь, что это кому-то поможет, это сводило меня с ума

При этом используется класс оболочки Drewm MailChimp v3

https://github.com/drewm/mailchimp-api
— который я понятия не имел, как настроить, поэтому вместо этого я установил этот плагин

https://wordpress.org/plugins/nmedia-mailchimp-widget/
— который я никогда не использовал, но он успешно настраивает все, что вам нужно сделать в
ваш сайт, как указано Drewm! 2mins

Я отредактировал 2.0 до 3.0 в /classes/mailchimp/Mailchimp.php в строке 23, чтобы быть в безопасности

public $ root = ‘https://api.mailchimp.com/3.0«;

ПРИМЕЧАНИЕ: list_id относится к идентификатору PLAYGROUND LIST, а не к идентификатору, который вы видите в веб-интерфейсе.

Так что, по сути, вам не нужно знать ID # для TAG, просто jane «thename» и установить его активным или неактивным

function add_tags()  {

use \DrewM\MailChimp\MailChimp;
$MailChimp = new MailChimp('271afffe3a_myfancyid-us8');
$list_id='dsgf350h53';  //  <--- PLAYGROUND LIST_ID
$hashed= md5('pickle@mypicklewish.org');

$payload = '{ "tags": [ { "name": "youtube", "status": "active" },  { "name": "vimeo", "status": "active" } ] }';

// $payload = '{ "tags": [ { "name": "$tag1_name", "status": "active" },  { "name": "$tag1_name", "status": "active" } ] }';
//    add as many tags as you like - make forwhile ifeach whatever you want

$payload_json = json_decode($payload);
$result = $MailChimp->post("lists/$list_id/members/$hashed/tags", $payload_json);


//   this error success produces NOTHING in the Response from MailChimp
// because it doesn't seem to send anything, but if not error then success I guess
// so you can still capture its status
if ($MailChimp->success()) {
// do whatever
echo 'Success<br>';
print_r($result);
} else {
// do whatever
echo 'Error<br>';
print_r($result);
echo $MailChimp->getLastError();
}

}  // end function

// set status as either active or inactive for add or remove
// so you can load this however you like to manage users throughout your site
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector