我在使用 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);
但是订阅者不在任何特定列表中。有谁知道我可能做错了什么。
ps$addressBookId
变量已被有意清除,我没有尝试使用 '######' 作为值来运行它,以防您想知道。并且一旦在生产中,该$result
变量将不会随函数返回。
谢谢