将订户添加到dotmailer地址簿

时间:2012-09-07 14:20:08

标签: php nusoap

我在使用nusoap将订阅者添加到dotmailer中的特定地址簿时遇到问题。我使用CreateContact方法向所有联系人添加通用订阅者都没有问题,但是当我尝试使用AddContactToAddressbook方法时,我只是无法正常工作。 底部使用的if语句返回成功,但$result变量中没有任何内容。

<?php
function subscribe($email, &$result)
{
    global $postURL, $username, $password;

    $addressBookId = "######";
    $contact = array("Email" => $email, "EmailType" => "Html");
    $params = array("username" => $username, "password" => $password, "contact" => $contact, "addressbookId" => $addressBookId);

    $client = new soapclient($postURL, true);
    $error = $client->getError();
    $result = $client->call('AddContactToAddressbook', $params);

    if($client->fault) {
        $rv = false;
    } else {
        // Check for errors
        if($error) {
            $rv = false;
        } else {
            $rv = true;
        }
    }
    return $rv;
}

if(subscribe("test@test.com", $result)) {
    echo "success<br />";
    print_r($result);
} else {
    echo "failed<br />";
}
?>

此代码按原样运行,仅更改

$result = $client->call('AddContactToAddressbook', $params);

$result = $client->call('CreateContact', $params);

但订阅者不在任何特定列表中。有谁知道我可能做错了什么。

P.S。 $addressBookId变量已被故意清空,我没有尝试使用'######'作为值来运行它以防万一你想知道。 一旦投入生产,$result变量将不会随函数返回。

由于

1 个答案:

答案 0 :(得分:1)

使用

$result = $client->call('AddContactToAddressBook', $params);

书上的

资本B