/** * Send subscriber data through API * * @param Mage_Newsletter_Model_Subscriber $subscriber * @return array * * @todo add unsubscribe functionality */ public function sendSubscriberData(Mage_Newsletter_Model_Subscriber $subscriber) { $this->_eventType = 'subscriber'; try { $data = array('id' => $subscriber->getSubscriberEmail(), 'key' => 'email', 'keys' => array('email' => $subscriber->getSubscriberEmail()), 'keysconflict' => 'merge', 'lists' => array(Mage::helper('sailthruemail')->getNewsletterList() => 1), 'vars' => array('subscriberId' => $subscriber->getSubscriberId(), 'status' => $subscriber->getSubscriberStatus(), 'Website' => Mage::app()->getStore()->getWebsiteId(), 'Store' => Mage::app()->getStore()->getName(), 'Store Code' => Mage::app()->getStore()->getCode(), 'Store Id' => Mage::app()->getStore()->getId(), 'fullName' => $subscriber->getSubscriberFullName()), 'fields' => array('keys' => 1), 'optout_email' => $subscriber->getSubscriberStatus() != 1 ? 'blast' : 'none'); $response = $this->apiPost('user', $data); $this->setCookie($response); } catch (Sailthru_Email_Model_Client_Exception $e) { Mage::logException($e); } catch (Exception $e) { Mage::logException($e); } return $this; }