Campaign Monitor php sdk - 添加订阅错误 - 不再显示在列表中

时间:2015-10-15 16:35:04

标签: php campaign-monitor

我正在制作一个广告系列监视器api,它会创建一个包含自定义字段的自定义列表。

当我尝试添加以前用过的订阅者时,现在当我查看列表时,它没有添加它们。虽然它仍然返回成功代码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 个答案:

答案 0 :(得分:1)

此代码适用于我。您需要在项目文件夹中添加广告系列监控类文件,并使用有效的列表ID和API密钥。您可以从管理帐户链接和列表中找到api密钥id点击列表标题下面的(更改名称/类型)。请稍等一下,看看你的名单。

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>';
}