Я пытаюсь выяснить, как использовать PHP и API Bronto для определения, подписан ли пользователь на конкретный список электронной почты или отписался от него.
Я использую приведенный ниже код, и моя проблема заключается в том, что независимо от того,если пользователь подписан или отписался, я всегда получаю статус «активный» для пользователя, и мне нужно видеть, не находится ли он в списке, но отписан или в списке и подписан.
В любом случае, знаючто я должен изменить?
<?php
$client = new SoapClient('https://api.bronto.com/v4?wsdl', array('trace' => 1,
'features' => SOAP_SINGLE_ELEMENT_ARRAYS));
try {
//token
$token = "abc 123 and yz";
//print "logging in\n";
$sessionId = $client->login(array('apiToken' => $token))->return;
$session_header = new SoapHeader("http://api.bronto.com/v4",
'sessionHeader',
array('sessionId' => $sessionId));
$client->__setSoapHeaders(array($session_header));
// set up a filter to read contacts and match on email address
$filter = array('email' => array(array('operator' => 'EqualTo',
'value' => 'fake.person@gmail.com'
),
),
);
$contacts = $client->readContacts(array('pageNumber' => 1,
'includeLists' => false,
'filter' => $filter,
)
)->return;
// print matching contact email addresses
foreach ($contacts as $contact) {
//$contact->status always seems to have a status of active or null ??
if($contact->status ='subscribed')
{
echo " <a href='' class='btn btn-primary'>Unsubscribe</a>";
}
else if($contact->status ='Unsubscribed')
{
echo " <a href=''>Subscribe</a>";
}
//print $contact->email . ': ' . $contact->status . "\n";
}
} catch (Exception $e) {
print "uncaught exception\n";
print_r($e);
}