2015-10-15 3 views
0

Я работаю над монитором кампании api, который создает собственный список с настраиваемыми полями.Campaign Monitor php sdk - добавить Ошибка подписки - больше не отображается в списке

Когда я пытаюсь добавить подписчиков, он работал, теперь, когда я смотрю на список, его не добавили. Хотя его все еще возвращает код успеха 201.

function addSubscriber($list_id, $emailAddress, $name, $title, $showName, $showDate, $showTime){ 
    //create subscriber 
    $subscriber = array(
     'EmailAddress' => $emailAddress, 
     'Name' => $name, 
     'CustomFields' => array(
      array(
       'Key' => "Title", 
       'Value' => $title 
      ), 
      array(
       'Key' => "ShowName", 
       'Value' => $showName 
      ), 
      array(
       'Key' => "ShowDate", 
       'Value' => $showDate 
      ), 
      array(
       'Key' => "ShowTime", 
       'Value' => $showTime 
      ) 
     ), 
     'Resubscribe' => true, 
     'RestartSubscriptionBasedAutoResponders' => true 
    ); 

    //print_r($subscriber); 

    $subwrap = new CS_REST_Subscribers($list_id, $this->auth); 
    $result = $subwrap->add($subscriber); 
    //var_dump($result->response); 

    echo "Result of POST /api/v3.1/subscribers/{list id}.{format}\n<br />"; 
    if($result->was_successful()) { 
     echo "Subscribed with code ".$result->http_status_code; 
    } else { 
     echo 'Failed with code '.$result->http_status_code."\n<br /><pre>"; 
     var_dump($result->response); 
     echo '</pre>'; 
    } 
    return $result->response; 
} 

ответ

1

Этот код работает для me.You нужно добавить файлы класс монитора кампании в вас папку проекта и использовать действительный список идентификаторы и апите key.You может найти вас апи ключ от управлять учетной записью ссылкой и идентификатором списка, нажав на (изменить название/тип) под заголовком списка. Подождите некоторое время, чтобы увидеть в списке.

require_once 'csrest_subscribers.php'; 


$name=$_POST['name']; 
$email=$_POST['email']; 


$wrap = new CS_REST_Subscribers('Your list ID', 'Your API Key'); 
$result = $wrap->add(array(
    'EmailAddress' => $email, 
    'Name' => $name, 
    'CustomFields' => array(), // no custom fields, can remove this line completely 
    'Resubscribe' => true 
)); 


echo "Result of POST /api/v3/subscribers/{list id}.{format}\n<br />"; 
if($result->was_successful()) { 
    echo "Subscribed with code ".$result->http_status_code; 
} else { 
    echo 'Failed with code '.$result->http_status_code."\n<br /><pre>"; 
    var_dump($result->response); 
    echo '</pre>'; 
} 
+0

Да, вы правы. Я каким-то образом переработал код - у него не было доступа к экземпляру –