У меня возникают некоторые проблемы при попытке добавить / обновить теги от существующего пользователя.
Когда я обновляю информацию о существующем члене, он не обновляет тег (используя метод "PATCH"). Обновляет все поля, но не тег. Он создает тег при создании нового члена в списке (используя метод "POST").
Код, который я использую:
function add_suscriber($data)
{
//Data Format:
//$data = array(
//'apikey' => $api_key,
//'listid' => $list_id,
//'email_address' => $email,
//'status' => $suscripcion,
//'tags' => array($tags),
//'merge_fields' => array(
// 'FNAME' => $nombre, //nombre
// 'LNAME' => $apellido, //apellido
// 'PAIS' => $pais //pais de residencia
// )
//);
$API_URL = 'https://' . substr($data['apikey'],strpos($data['apikey'],'-') + 1 ) . '.api.mailchimp.com/3.0/lists/' . $data['listid'] . '/members/' . md5(strtolower($data['email_address']));
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $API_URL);
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Authorization: Basic '.base64_encode( 'user:'.$data['apikey'] )));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');
curl_setopt($ch, CURLOPT_TIMEOUT, 10);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data) );
$result = curl_exec($ch);
curl_close($ch);
$response = json_decode($result);
}
При этом, когда это новый пользователь, у меня нет проблем; но если пользователь уже существует (в любой аудитории), все обновляется, но тег отсутствует.
Заранее благодарен за помощь!