Developer notes
Overview · Installation · Configuration · Usage · FAQ
| Table | Content |
|---|---|
?:kv_emc_queue |
Jobs: ref (unique), kind (profile, subscribe, unsubscribe, event, products), name, email, order_id, payload (JSON), status (pending, sending, sent, skipped, failed), attempts, next_at, error |
?:kv_emc_consents |
Consent log (append only): email, user_id, consent Y/N, source, text, ip, created_at |
Hooks used
Section titled “Hooks used”place_order (checkout opt-in), change_order_status_post (order events), update_profile (profile and registration opt-in), newsletters_update_subscriptions_post (Newsletters bridge). Controllers: checkout.pre, profiles.post, products.post, newsletters.pre (storefront) and kv_email_connect (dashboard, consent log, cron; storefront: catalog feed).
php admin.php --dispatch=kv_email_connect.cron sends up to 1000 jobs in about 4 minutes, continues the history import, queues the Brevo product sync once a day and removes old jobs.
Full page cache (4.21)
Section titled “Full page cache (4.21)”Nothing is printed on cacheable guest pages. The queue and consent tables are in ignore_cache_tags.