Как сохранить теги для аудитории mailchimp - PullRequest
0 голосов
/ 18 апреля 2020

Я пытаюсь отправить теги в аудиторию mailchimp при создании контакта, файлы сохраняются за исключением тегов, не знаю, что делать.

function mailchimp_subscriber_status( $email, $status, $list_id, $api_key, $merge_fields = array('FNAME' => '','LNAME' => '') ){
    $data = array(
        'apikey'        => $api_key,
        'email_address' => $email,
        'tags'          => ['name'=>'Custom'],
        'status'        => $status, 
        'merge_fields'  => $merge_fields
    );
    $mch_api = curl_init(); // initialize cURL connection

    curl_setopt($mch_api, CURLOPT_URL, 'https://' . substr($api_key,strpos($api_key,'-')+1) . '.api.mailchimp.com/3.0/lists/' . $list_id . '/members/' . md5(strtolower($data['email_address'])));
    curl_setopt($mch_api, CURLOPT_HTTPHEADER, array('Content-Type: application/json', 'Authorization: Basic '.base64_encode( 'user:'.$api_key )));
    curl_setopt($mch_api, CURLOPT_USERAGENT, 'PHP-MCAPI/2.0');
    curl_setopt($mch_api, CURLOPT_RETURNTRANSFER, true); // return the API response
    curl_setopt($mch_api, CURLOPT_CUSTOMREQUEST, 'PUT'); // method PUT
    curl_setopt($mch_api, CURLOPT_TIMEOUT, 10);
    curl_setopt($mch_api, CURLOPT_POST, true);
    curl_setopt($mch_api, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($mch_api, CURLOPT_POSTFIELDS, json_encode($data) ); // send data in json


    $result = curl_exec($mch_api);
    return $result;
}

    if($json=='sign'){ 
        $status = 'subscribed';  
        $list_id = '646f65fdd6'; 
        $api_key = 'xxxxx-us14';  
        $merge_fields = array('FNAME' => $name); 
        mailchimp_subscriber_status($email, $status, $list_id, $api_key, $merge_fields);
    }
...