How to Set Up Webhooks: http://eepurl.com/bs-j_T
Author: Drew McLellan (drew.mclellan@gmail.com)
Example #1
0
});
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));