subscribe() public static method

Subscribe to an incoming webhook request. The callback will be invoked when a matching webhook is received.
public static subscribe ( string $event, callable $callback ) : void
$event string Name of the webhook event, e.g. subscribe, unsubscribe, campaign
$callback callable A callable function to invoke with the data from the received webhook
return void
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));