B
BOMEODocs
API Reference

WooCommerce Integration

WordPress Plugin

WordPress plugin that pulls products and inventory from BOMEO and pushes WooCommerce orders back. Runs on WP Cron.

Setup Guide

Install the plugin, configure your API key, and start syncing.

  1. 1

    Generate your BOMEO API key

    In Settings → Integrations → API Keys, click "Create API Key" and select the required scopes.

    Required scopes: products:read, orders:write, inventory:read, customers:read.

  2. 2

    Install the plugin

    Download bomeo-woocommerce.zip. In WordPress Admin, go to Plugins → Add New → Upload Plugin. Upload and activate.

  3. 3

    Configure the plugin

    Go to WooCommerce → Settings → BOMEO tab. Enter your API key, base URL, and Branch ID.

    Base URL format: https://api.bomeo.xyz/v1

  4. 4

    Sync products

    "Sync Products Now" pulls your BOMEO catalog into WooCommerce. Products are linked by a _bomeo_id meta field.

    Existing WooCommerce products without _bomeo_id are not affected.

  5. 5

    Enable automatic sync

    Check "Sync Inventory" and "Sync Orders". Inventory refreshes every 30 minutes via WP Cron. Orders push on Processing/Completed status.

Sync Capabilities

BOMEO is the source of truth. Products and inventory are pulled; orders are pushed back.

DataMethodFrequency
Products ← BOMEOPullOn demand (manual click)
Inventory ← BOMEOPullEvery 30 minutes (WP Cron)
Orders → BOMEOPushAutomatic on status change

Plugin Configuration

Settings located at WooCommerce → Settings → BOMEO.

Plugin Settings
// WooCommerce → Settings → BOMEO tab

API Key:      bom_xxxxxxxxxxxxxxxxxxxx
Base URL:     https://api.bomeo.xyz/v1
Branch ID:    br_abc123

☑ Sync Products
☑ Sync Orders
☑ Sync Inventory

Developer Hooks

Extend the plugin with standard WordPress actions and filters.

WordPress Hooks
// Available WordPress hooks for custom integrations

// After a product is synced from BOMEO
do_action('bomeo_after_product_sync', $wc_product_id, $bomeo_product);

// After an order is pushed to BOMEO
do_action('bomeo_after_order_sync', $wc_order_id, $bomeo_order_id);

// Filter product data before creating in WooCommerce
$product_data = apply_filters(
    'bomeo_product_data',
    $product_data,
    $bomeo_product
);
PHP API Client
// Call the BOMEO API directly from your theme or plugin

$client = new Bomeo_Api_Client(
    get_option('bomeo_api_key'),
    get_option('bomeo_base_url')
);

// List products
$result = $client->list_products(['limit' => 50]);

// Get stock levels for a branch
$stock = $client->list_stock_levels([
    'branch_id' => get_option('bomeo_branch_id'),
]);

Troubleshooting

What WordPress/WooCommerce versions are supported?

WordPress 6.0+ and WooCommerce 7.0+. PHP 7.4 minimum, 8.1+ recommended.

How are products matched between systems?

By the _bomeo_id meta field stored on each WooCommerce product. SKU matching is used as a fallback.

Will the 30-min sync affect performance?

Syncs run in the background via WP Cron. Only changed stock levels are updated (delta sync).

Can I use a real cron instead of WP Cron?

Yes. Disable WP Cron and point a system cron at wp-cron.php. The plugin respects the standard WordPress cron schedule.

Does it sync product images?

Yes. Images are downloaded and attached as WooCommerce gallery images on first sync.

How do I update the plugin?

Download the latest zip from your BOMEO dashboard and upload via Plugins → Add New → Upload. WordPress will prompt to replace the existing version.