Skip to main content
Quickstart GuidesVerified Active (2026-09-06)

Connecting Shopify & WooCommerce in Draft-Only Mode

How to connect store integrations with fail-closed draft-only safeguards (published_at: null).

DDarryl (Platform Lead)
Published:
Updated:
5 min read

MeritSKU store bridges are engineered for zero accidental live launches. By design, our integration handlers enforce a strict draft-only status: all product creations explicitly set published_at: null, keeping candidate products invisible to retail shoppers until your team completes quality audits.

Cited Claim IDs:PUB-CLM-002

1. The Draft-Only Invariant

In e-commerce operations, an accidental live release of an unpriced or unverified SKU can cause catastrophic losses through erroneous orders or mispriced inventory.

MeritSKU eliminates this threat by hardcoding status: "draft" and published: false at the integration client layer. Any API payload attempting to set published: true triggers an immediate client rejection before reaching store endpoints.

Zero Public Auto-Publishing

MeritSKU code contains zero code paths capable of setting published_at to a valid timestamp. All listings must be published manually from within your store admin console.

2. Shopify OAuth 2.0 Scopes

Connecting your Shopify store requires granting least-privilege OAuth scopes. MeritSKU requests read_products, write_products, read_orders, and read_inventory.

JSONshopify-scopes.json
{
  "client_id": "msku_shopify_app_client_id",
  "scopes": [
    "read_products",
    "write_products",
    "read_orders",
    "read_inventory"
  ],
  "redirect_uri": "https://meritsku.com/api/integrations/shopify/callback"
}

3. WooCommerce REST Key Isolation

For WooCommerce, generate a Consumer Key and Consumer Secret with Read/Write permissions in WooCommerce > Settings > Advanced > REST API.

All API credentials are encrypted at rest using AES-256-GCM with workspace-isolated Additional Authenticated Data (AAD).

4. Testing Connection & Draft Verification

After authorization, click "Test Connection". MeritSKU creates a temporary test product named "[MeritSKU Test Item - Please Delete]" with draft status, verifies the response, and immediately purges it from your store.

Was this guide helpful?

Your feedback trains our editorial documentation standards.