feat: add Newsletter Campaigns backend infrastructure

- Add CampaignManager.php with CPT registration, CRUD, batch sending
- Add CampaignsController.php with 8 REST endpoints (list, create, get, update, delete, send, test, preview)
- Register newsletter_campaign event in EventRegistry for email template
- Initialize CampaignManager in Bootstrap.php
- Register routes in Routes.php
This commit is contained in:
Dwindi Ramadhana
2025-12-31 14:58:57 +07:00
parent 2dbc43a4eb
commit 65dd847a66
5 changed files with 824 additions and 0 deletions

View File

@@ -63,6 +63,21 @@ class EventRegistry {
'wc_email' => '',
'enabled' => true,
],
'newsletter_campaign' => [
'id' => 'newsletter_campaign',
'label' => __('Newsletter Campaign', 'woonoow'),
'description' => __('Master email design template for newsletter campaigns', 'woonoow'),
'category' => 'marketing',
'recipient_type' => 'customer',
'wc_email' => '',
'enabled' => true,
'variables' => [
'{content}' => __('Campaign content', 'woonoow'),
'{campaign_title}' => __('Campaign title', 'woonoow'),
'{subscriber_email}' => __('Subscriber email', 'woonoow'),
'{unsubscribe_url}' => __('Unsubscribe link', 'woonoow'),
],
],
// ===== ORDER INITIATION =====
'order_placed' => [