}); MailChimpWebhook::subscribe('unsubscribe', function ($data) use($API, $Subscribers) { $Subscriber = $Subscribers->get_one_by('subscriberMailChimpID', $data['id']); if ($Subscriber) { $Subscriber->update_subscription($data['list_id'], 'unsubscribed'); } $Lists = new PerchMailChimp_Lists($API); $Lists->import(); }); MailChimpWebhook::subscribe('cleaned', function ($data) use($API, $Subscribers) { $Subscriber = $Subscribers->get_one_by('subscriberMailChimpID', $data['id']); if ($Subscriber) { $Subscriber->update_subscription($data['list_id'], 'cleaned'); } $Lists = new PerchMailChimp_Lists($API); $Lists->import(); }); MailChimpWebhook::subscribe('upemail', function ($data) use($API, $Subscribers) { $Subscriber = $Subscribers->get_one_by('subscriberEmail', $data['old_email']); if ($Subscriber) { $Subscriber->update(['subscriberEmail' => $data['new_email'], 'subscriberMailChimpID' => $data['new_id']]); } }); MailChimpWebhook::subscribe('campaign', function ($data) use($API) { $Campaigns = new PerchMailChimp_Campaigns($API); $Campaigns->import_one($data['id']); $Lists = new PerchMailChimp_Lists($API); $Lists->import(); }); # Uncomment for debug #file_put_contents(time().'_log.txt', print_r(MailChimpWebhook::receive(), 1));