Запуск автоматизации капельной кампании с использованием Mailchimp API 3.0 php и curl - PullRequest
0 голосов
/ 30 августа 2018

Я создал капельную кампанию в MailChimp. Кампании -> Электронная почта -> Автоматизированная -> API -> API 3.0

Я нашел несколько мест в Интернете с примерами кода, но получаю сообщение об ошибке «400», «Неверный запрос», «Эта автоматизация уже отправляет». ниже мой код.

Может кто-нибудь показать мне, что мне не хватает? или я делаю это неправильно? Можно ли добавить один адрес в кампанию автоматизации и начать кампанию. Я знаю, что могу добавить один адрес к одному электронному письму кампании, но это противоречит цели автоматической капельной кампании.

$api_key = 'XXXXX';
$email = 'XXXX';

mailchimp_curl_connect('POST', $api_key, $email);

function mailchimp_curl_connect( $request_type, $api_key, $email ) {

    $auth = base64_encode( 'user:'.$api_key );

    $data = array(
        'apikey'        => $api_key,
        'email_address' => $email,
        );

    $json_data = json_encode($data);

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://'.substr($api_key,strpos($api_key,'-')+1).'.api.mailchimp.com/3.0/automations/XXXXXX/actions/start-all-emails/');
    curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json',
        'Authorization: Basic '.$auth));
    curl_setopt($ch, CURLOPT_USERAGENT, 'PHP-MCAPI/2.0');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    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_data);

    $result = curl_exec($ch);

    curl_close($ch);

    print_r($result);

}
...