Skip to content

Repository files navigation

OmniRecover for WooCommerce

WordPress WooCommerce PHP License CI

Multi-channel abandoned cart recovery for WooCommerce — Email, WhatsApp (UltraMsg), Telegram, and SMS (Twilio). Powered by WooCommerce Action Scheduler.

Author: Midas Moradi

OmniRecover preview

Features

Layer Description
Cart tracking Monitors active carts and detects abandonment
Scheduling Recovery messages via WooCommerce Action Scheduler
Multi-channel Email, WhatsApp, Telegram, SMS with optional fallback chain (Pro)
Guest recovery Secure ?omnirecover_recover= cart restore links
Admin UI React dashboard (prebuilt build/, @wordpress/scripts)
REST API Settings and analytics endpoints
HPOS Compatible with WooCommerce custom order tables
Privacy GDPR export/erase hooks
Freemium-ready Freemius integration hook for Pro gating

Architecture

flowchart TB
    subgraph WooCommerce
        CART[Cart / Checkout]
        AS[Action Scheduler]
    end

    subgraph OmniRecover
        WATCH[CartWatcher]
        SCHED[SchedulerService]
        DISP[RecoveryDispatcher]
        FACT[MessengerFactory]
        REPO[RecoveryRepository]
        ADMIN[React Admin UI]
        API[REST API]
    end

    subgraph Channels
        EMAIL[Email]
        WA[WhatsApp UltraMsg]
        TG[Telegram]
        SMS[Twilio SMS]
    end

    CART --> WATCH
    WATCH --> SCHED
    SCHED --> AS
    AS --> DISP
    DISP --> REPO
    DISP --> FACT
    FACT --> EMAIL
    FACT --> WA
    FACT --> TG
    FACT --> SMS
    ADMIN --> API
Loading

Project structure

src/
├── Plugin.php                 # Bootstrap
├── Controllers/               # Admin, redirects, order actions
├── Services/                  # Cart watcher, scheduler, dispatcher, coupons
├── Messengers/                # Channel adapters + factory + chain
├── Models/RecoveryRepository.php
├── Rest/Api.php
└── Install/                   # Activation / deactivation
build/                         # Compiled admin assets (committed)
includes/                      # Production autoloader + Freemius init

Requirements

  • WordPress 6.0+
  • WooCommerce 8.0+
  • PHP 7.4+

Installation

End users

  1. Download omnirecover-for-woocommerce-0.1.0.zip from Releases (not “Source code”).
  2. Upload via Plugins → Add New → Upload.
  3. Activate after WooCommerce is active.
  4. Configure at WooCommerce → OmniRecover.

Developers

git clone https://github.com/midasmoradi/omnirecover-for-woocommerce.git
cd omnirecover-for-woocommerce
composer install
npm install --registry https://registry.npmjs.org
npm run build

PHP loads via Composer autoload in development, or includes/class-autoloader.php in the release zip (no vendor/ on production servers).

Build release zip

powershell -ExecutionPolicy Bypass -File .\scripts\build-release.ps1

Output: releases/omnirecover-for-woocommerce-0.1.0.zip

Third-party services

API credentials are only used after you save settings in the admin:

Channel Provider
SMS Twilio
WhatsApp UltraMsg
Telegram Bot API
AI copy (Pro) OpenAI

Development

composer phpcs
composer phpcbf

Related projects

Repo Focus
wp-restaurant-booking Reservation system
wp-performance-toolkit Performance optimization
headless-wp-bridge Go data bridge

License

GPL-2.0-or-later — see LICENSE.

About

Multi-channel abandoned cart recovery for WooCommerce - Email, WhatsApp, Telegram, SMS. Action Scheduler, React admin, HPOS.

Topics

Resources

Contributing

Security policy

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages