Email маркетинг - как сделать лучше?
Понадобилось по EMAIL узнать, к каким рассылкам он привязан (т.е. получить ID рассылок на данный EMAIL)
покопавшись в исходниках не нашел взаимосвязи (возможно плохо искал)
подскажите - если есть решение более кашерное...
пока что вышло вот такое решение:
при подписке через форму подписки с публички
Понадобилось по EMAIL узнать, к каким рассылкам он привязан (т.е. получить ID рассылок на данный EMAIL)
покопавшись в исходниках не нашел взаимосвязи (возможно плохо искал)
подскажите - если есть решение более кашерное...
пока что вышло вот такое решение:
$EMail="искомый email"; $res=array(); $r=\Bitrix\Sender\GroupTable::getList(array( 'select'=>array('*','GROUP_CONNECTOR','MAILING_GROUP'), ))->fetchAll(); foreach($r as $r1){ foreach (array($r1['SENDER_GROUP_GROUP_CONNECTOR_ENDPOINT']) as $endpoint) { $connector = \Bitrix\Sender\ConnectorManager::getConnector($endpoint); if ($connector) { $connector->setFieldValues($endpoint['FIELDS']); $l=$connector->getData(); while($p=$l->Fetch()){ if($p['EMAIL']==$EMail) $res[]=$r1['SENDER_GROUP_MAILING_GROUP_MAILING_ID']; } break; } } } return $res; //массив с ID рассылок данного EMAIL |
при подписке через форму подписки с публички
$q=\Bitrix\Sender\MailingSubscriptionTable::getList(array( 'select'=>array("*","MAILING","CONTACT"), 'filter'=>array("SENDER_MAILING_SUBSCRIPTION_CONTACT_EMAIL"=>$Email), ))->fetchAll(); |