Добавление подписчика в адресную книгу dotmailer

У меня проблемы с добавлением подписчика в определенную адресную книгу в dotmailer с помощью nusoap. У меня нет проблем с добавлением общего подписчика ко всем контактам с помощью метода 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);

Но тогда подписчика нет в каком-то конкретном списке. Кто-нибудь знает, что я могу делать неправильно?

пс $addressBookId переменная была отключена преднамеренно, я не пытался запустить ее с '######' в качестве значения, если вам интересно. И однажды в производстве $result переменная не будет возвращена с функцией.

Спасибо

1 ответ

Решение

Использование

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

капитал B на книгу

Другие вопросы по тегам