Skip to content

Commit

Permalink
Liste membres autos : On ne tente pas de rajouter les unsubscribed en…
Browse files Browse the repository at this point in the history
… subscribed

Les unsubscribed sont des personnes qui ont demandé à être désinscrites.
vu que maintenant les personnes plus à jour de cotisation sont archivées.
On ne cherche pas à ajouter ces personnes à la liste des subscribed.
  • Loading branch information
agallou committed Nov 13, 2020
1 parent 551825a commit 337a5ab
Show file tree
Hide file tree
Showing 2 changed files with 15 additions and 1 deletion.
10 changes: 10 additions & 0 deletions sources/AppBundle/Mailchimp/Mailchimp.php
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,16 @@ public function getAllSubscribedMembersAddresses($list)
return $this->callMembersAddresses($list, 'subscribed');
}

/**
* @param string $list
*
* @return array
*/
public function getAllUnSubscribedMembersAddresses($list)
{
return $this->callMembersAddresses($list, 'unsubscribed');
}

/**
* @param string $list
*
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,15 @@ public function __construct(\AppBundle\Mailchimp\Mailchimp $mailchimp, UserRepos
public function synchronize()
{
$subscribedEmailsOnMailchimp = array_map('strtolower', $this->mailchimp->getAllSubscribedMembersAddresses($this->listId));
$unSubscribedEmailsOnMailchimp = array_map('strtolower', $this->mailchimp->getAllUnSubscribedMembersAddresses($this->listId));
$cleanedEmailsOnMailchimp = array_map('strtolower', $this->mailchimp->getAllCleaneddMembersAddresses($this->listId));
$subscribedEmailsOnWebsite = array_map('strtolower', $this->getSubscribedEmailsOnWebsite());

$addressesToArchive = array_diff($subscribedEmailsOnMailchimp, $subscribedEmailsOnWebsite);
$addressesToSubscribe = array_diff($subscribedEmailsOnWebsite, $subscribedEmailsOnMailchimp);
// Vu qu'on archive les personnes qui ne sont plus à jour de cotisation, les adresses unsubscribed sont seulemnt les personnes
// qui ont optout. On ne peux techniquement pas les ajouter et fonctionnellelement il faudrait fournir les infos sur leur optin
// on ne cherche donc pas à ajouter de nouveaux ces personnes dans les subscribers
$addressesToSubscribe = array_diff($subscribedEmailsOnWebsite, $subscribedEmailsOnMailchimp, $unSubscribedEmailsOnMailchimp);

// Les adresses cleaned sont par exemple des hard bounces : on ne peux pas les passer en subscribred dans mailchimp
// Il peuvent tout de même être des membres à jour de cotisation, on va ici éviter des erreurs lors de la synchro en les ignornant
Expand Down

0 comments on commit 337a5ab

Please sign in to comment.