Open Source Plugin Suite

Headless plugins for WooCommerce stores

Lightweight WordPress plugins that expose REST APIs for decoupled frontends. Authentication, search, analytics, wishlists, and more — no bloat.

TypeScript GPL-2.0 8 Plugins REST API

Zero Bloat

Each plugin does one thing well. No custom tables unless necessary, minimal queries, tiny footprint.

REST-First

Every plugin exposes clean REST API endpoints. Use with Next.js, React Native, Flutter — any frontend.

WooCommerce Native

Built on WooCommerce hooks and capabilities. Order tracking, purchase events, and product data — all integrated.

TypeScript Source

Written in TypeScript with decorators, transpiled to WordPress-standard PHP by the wpts compiler.

How It Works

Three steps from install to production.

1

Install the Plugin

Install from WordPress.org or upload the ZIP. Activate from the WordPress admin.

2

Configure via Admin

Each plugin has a React-powered settings page. Enter API keys, toggle features, test connections.

3

Call the REST API

Your headless frontend calls the plugin's REST endpoints. Authentication, tracking, search — all via JSON.

Frontend REST API WordPress / WooCommerce

API in Action

Real request and response examples. Copy, paste, and integrate.

Auth

# Send OTP
curl -X POST https://store.example.com/wp-json/headless-auth/v1/otp/send \
  -H "Content-Type: application/json" \
  -d '{"phone": "+919876543210"}'

# Verify OTP and get tokens
curl -X POST https://store.example.com/wp-json/headless-auth/v1/otp/verify \
  -H "Content-Type: application/json" \
  -d '{"phone": "+919876543210", "otp": "482916"}'

Search

# Fuzzy search (handles typos)
curl "https://store.example.com/wp-json/headless-fuzzy-find/v1/search?q=shrt&per_page=3"

Meta Pixel

// Track event via Conversions API
const response = await fetch(
  "https://store.example.com/wp-json/headless-meta-pixel/v1/track",
  {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({
      event_name: "AddToCart",
      event_id: "evt_abc123",  // for deduplication
      custom_data: {
        currency: "INR",
        value: 1499.0,
        content_ids: ["SKU-001"],
        content_type: "product",
      },
    }),
  }
);

Wishlist

# Add product to wishlist
curl -X POST https://store.example.com/wp-json/headless-wishlist/v1/items \
  -H "Authorization: Bearer eyJhbGci..." \
  -H "Content-Type: application/json" \
  -d '{"product_id": 156}'

# List wishlist
curl https://store.example.com/wp-json/headless-wishlist/v1/items \
  -H "Authorization: Bearer eyJhbGci..."

Built with wpts

Write plugins in TypeScript with decorators. The wpts transpiler generates production-ready WordPress PHP.

@Setting({ sensitive: true })
apiKey: string;

@Setting({ exposeInConfig: true })
measurementId: string;

@RestRoute('/track', { methods: 'POST', auth: true })
trackEvent(data: RequestData): WpRestResponse {
  const payload = this.buildPayload(data);
  return wpRemotePost(GA4_ENDPOINT, payload);
}