Ellipse Gradient for Header

WooCommerce Integration Guide

Integrate WooCommerce stores with enterprise applications through REST APIs, webhook notifications, batch operations, and WordPress REST endpoints.

WooCommerce integration options at a glance

WooCommerce provides REST APIs for Products, Orders, Customers, Coupons, variations, shipping, taxes, reports, and related store resources. Webhooks deliver HTTP POST notifications for selected order, product, customer, coupon, and action topics. Supported resources also provide batch endpoints for grouped create, update, and delete operations. WordPress REST endpoints can support media and site-level operations where authorized. Martini can consume these APIs, receive and validate signed webhook requests, handle pagination, map JSON payloads, apply business rules, and run scheduled reconciliation workflows. API keys with HTTPS Basic Authentication or OAuth 1.0a can secure REST access, while webhook signatures protect inbound notifications.

Integration pointSupported by WooCommerce?Common use casesHow Martini supports it
REST APIsYesThe WooCommerce REST API supports CRUD operations for Products, Orders, Customers, Coupons, Product variations, shipping, taxes, reports, and related resources under versioned paths such as /wp-json/wc/v3/.Martini can consume the REST API from workflows, manage request configuration and pagination, transform JSON responses, and route results to enterprise applications or databases.
Webhooks / outbound callbacksYesWooCommerce can deliver HTTP POST notifications for selected order, product, customer, coupon, and action topics, including created, updated, deleted, and restored events where configured.Martini can expose an API or webhook workflow, validate the WooCommerce signature, route by topic headers, use delivery IDs for idempotency, and move longer processing into an orchestrated workflow.
Bulk / batch APIsYesSupported WooCommerce resources provide batch endpoints for grouped create, update, and delete operations. These are synchronous batch requests rather than a general asynchronous job platform.Martini can construct bounded batch requests, interpret item-level outcomes, retry safe failures, and split or replay partial results using workflow error handling.
WordPress REST API and mediaLimitedWordPress REST endpoints may support site-level content and media operations, including product image management, subject to WordPress permissions, extensions, and deployment configuration.Martini can call authorized WordPress endpoints, transfer media metadata or content where appropriate, and apply content-type, storage, and failure handling rules.
Pagination and reconciliationYesWooCommerce collection endpoints use page-based pagination, with headers such as X-WP-Total and X-WP-TotalPages indicating collection size and progress. Scheduled reads can recover missed webhook changes.Martini can orchestrate page-by-page reads, persist checkpoints, throttle requests, and run scheduled reconciliation for Products, Orders, Customers, or inventory.
AuthenticationYesREST access commonly uses Consumer Key and Consumer Secret with HTTPS Basic Authentication. OAuth 1.0a is available for scenarios where signed requests are required, and webhooks use a configured secret and signature.Martini can store credentials and webhook secrets in environment configuration or secrets management, apply request authentication, and keep sensitive values out of workflow definitions and logs.
Reports and analytics resourcesLimitedWooCommerce exposes reporting-related REST resources, but coverage can vary by WooCommerce version, installed extensions, and deployment configuration.Martini can consume available reporting endpoints, normalize changing response structures, and send approved metrics to reporting or finance systems with version-aware testing.
Database accessNoDirect database access is not the recommended WooCommerce integration boundary. Store data should generally be accessed through WooCommerce APIs or approved extension interfaces.Martini can integrate through documented APIs and can connect to other enterprise databases when needed, without treating the WooCommerce database as a direct integration surface.

How WooCommerce exposes data and business events

WooCommerce REST APIs

WooCommerce's versioned REST API is the primary integration mechanism for Products, Orders, Customers, Coupons, Product variations, shipping, taxes, reports, and other store resources. Collection endpoints use page-based pagination and supported resources may expose batch operations.

Martini implementation pattern

Martini implementation pattern: a workflow authenticates with configured WooCommerce credentials, calls the required REST endpoint, follows pagination or submits a controlled batch, maps the JSON response, applies business rules, and writes the result to the target system. The workflow records checkpoints and handles transient failures without assuming direct database access.

Implementation sequence

Authenticate the REST API request using protected environment credentials
Retrieve the current WooCommerce resource or collection page
Follow pagination headers until the configured synchronization boundary is reached
Map WooCommerce JSON into the canonical integration model
Apply status, identity, currency, tax, and ownership rules
Write or upsert the transformed data in the target system

WooCommerce Webhooks

WooCommerce supports configured webhook deliveries for selected order, product, customer, coupon, and action topics. Notifications are delivered as HTTP POST requests and include topic, resource, event, delivery ID, and signature headers; they are not a universal event stream.

Martini implementation pattern

Martini implementation pattern: an exposed API or webhook workflow receives the request, validates the signature before trusting the payload, routes by topic, and uses the delivery ID as an idempotency key. For longer processing, Martini acknowledges the delivery promptly and continues in an orchestrated workflow, retrieving the current resource when necessary.

Implementation sequence

Receive the WooCommerce webhook request
Validate the webhook signature and required headers
Store the delivery ID and reject or skip duplicate processing
Route the request by webhook topic and event
Retrieve the current resource when the payload is incomplete
Map and process the resource in the downstream workflow

WooCommerce Batch APIs

Several WooCommerce REST resources support batch create, update, and delete operations through resource-specific batch endpoints. Batch requests are synchronous and may produce item-level outcomes, so they do not replace durable asynchronous processing design.

Martini implementation pattern

Martini implementation pattern: Martini groups validated changes into bounded requests, submits them through the REST API, evaluates each item result, and records successful and failed operations separately. Safe failures can be retried individually or in a new batch without replaying completed work.

Implementation sequence

Collect and validate changes for the supported resource
Partition changes into bounded batch requests
Submit each batch through the WooCommerce REST API
Evaluate item-level successes and failures
Persist completed identifiers and retryable failures
Reconcile the final state with a follow-up read

WordPress Media API

WooCommerce product resources include image data, while WordPress REST media endpoints may support broader media operations when permissions and deployment configuration allow them. Media availability and authorization should be verified for each store.

Martini implementation pattern

Martini implementation pattern: a workflow retrieves or receives authorized media references, validates content type and ownership, optionally transfers content to a target repository, and maps resulting URLs or identifiers back to the catalog process. Media binaries should not be assumed to be available merely because a Product contains an image reference.

Implementation sequence

Confirm WordPress media permissions and endpoint availability
Retrieve the product image reference or authorized media resource
Validate content type, filename, and transfer requirements
Transfer or store the media when required
Map the resulting media reference to the catalog model
Record failures without blocking unrelated product updates

Common WooCommerce integration patterns

Pattern 1: Synchronize WooCommerce orders to fulfillment

When to use this pattern

Use this pattern when newly created or updated WooCommerce Orders must reach an ERP, warehouse, or shipping application quickly, while preserving a scheduled recovery path for missed webhook deliveries.

Integration direction
WooCommerce
Martini
NetSuite
ShipStation
Example Mapping
WooCommerce FieldCanonical FieldTarget Field
idorderIdexternalOrderId
line_items[].skuorderLines[].skuitemCode
totalorderTotaltransactionTotal
statusorderStatusfulfillmentStatus
Martini implementation pattern

A Martini webhook workflow validates the WooCommerce signature, stores the delivery ID, retrieves the complete Order when needed, and maps guest or registered customer information. Business rules translate WooCommerce statuses, taxes, discounts, and shipping details before an idempotent write to the fulfillment or ERP system. Accepted fulfillment and tracking updates can be mapped back to WooCommerce, while transient failures are retried and unresolved messages are reconciled later.

Martini capabilities used
  • workflows
  • API consumption
  • webhook receiving
  • data mapping
  • business rules
  • error handling

Pattern 2: Synchronize products and inventory

When to use this pattern

Use this pattern when WooCommerce catalog and stock must be aligned with an ERP or inventory platform, including variable Products and Product variations with SKU-level inventory.

Integration direction
NetSuite
Martini
WooCommerce
Example Mapping
WooCommerce FieldCanonical FieldTarget Field
skuitemSkusku
stock_quantityavailableQuantitystock_quantity
regular_pricestandardPriceregular_price
idvariationOrProductIdid
Martini implementation pattern

A scheduled Martini workflow reads Products and Product variations page by page, distinguishes parent products from SKU-level variations, and maps inventory and pricing according to the authoritative-system rules. A reverse workflow can consume ERP changes and update supported WooCommerce fields. Stable IDs and SKUs provide idempotency, while bounded concurrency, backoff, and reconciliation protect stores from hosting and rate constraints.

Martini capabilities used
  • scheduled workflows
  • API consumption
  • pagination handling
  • data mapping
  • business rules
  • retry handling

Pattern 3: Synchronize customers and purchase activity

When to use this pattern

Use this pattern when customer profiles and historical or current Orders must be available in Salesforce, HubSpot, Mailchimp, or a customer support application without assuming every Order has a registered Customer.

Integration direction
WooCommerce
Martini
Salesforce
Example Mapping
WooCommerce FieldCanonical FieldTarget Field
emailcustomerEmailEmail
billing.first_namefirstNameFirstName
billing.last_namelastNameLastName
totalpurchaseValueLifetimeValue
Martini implementation pattern

Martini combines selected customer and order webhook topics with scheduled backfill and reconciliation. It matches customers using agreed identity and consent rules, falls back to Order billing and shipping details for guest Orders, and maps purchase activity into the target application's model. Duplicate prevention, privacy controls, and checkpointed pagination support reliable historical and ongoing synchronization.

Martini capabilities used
  • workflows
  • scheduled synchronization
  • data mapping
  • validation
  • business rules
  • checkpointing

Pattern 4: Expose a controlled WooCommerce catalog API

When to use this pattern

Use this pattern when internal applications or commerce channels need a stable catalog interface without coupling directly to WooCommerce's versioned API, pagination model, or extension-specific fields.

Integration direction
WooCommerce
Martini
Shopify
Example Mapping
WooCommerce FieldCanonical FieldTarget Field
nameproductNametitle
variations[].skuvariantSkuvariants[].sku
images[].srcimageUrlimages[].url
stock_statusavailabilityinventoryStatus
Martini implementation pattern

Martini exposes a controlled REST API backed by workflows that retrieve WooCommerce Products and Product variations, normalize extension-dependent fields, and apply access and filtering rules. The façade can hide API version changes, enforce consistent pagination, and return a canonical catalog model. Errors from WooCommerce are translated into controlled responses and logged for operational review.

Martini capabilities used
  • API exposure
  • workflows
  • API consumption
  • data transformation
  • validation
  • security and error handling

Applications commonly integrated with WooCommerce

WooCommerce can be connected to adjacent business applications through its REST APIs, webhook notifications, and approved WordPress or extension endpoints. The exact object coverage depends on the target application, store configuration, and installed extensions; Martini can centralize routing, mapping, authentication, reconciliation, and error handling.

Application Scenario Direction Martini Pattern
Salesforce Synchronize WooCommerce Customers, Orders, and product or revenue information with CRM and sales processes. WooCommerce → Martini → Salesforce Receive order and customer webhooks or run scheduled REST API reads, normalize WooCommerce data, apply customer matching and consent rules, and upsert Salesforce objects with retry and reconciliation handling.
NetSuite Transfer Orders, customers, products, taxes, and fulfillment information between the storefront and ERP processes. WooCommerce → Martini → NetSuite Orchestrate bidirectional workflows that map WooCommerce Orders, Products, Customers, taxes, and fulfillment statuses to NetSuite models, with explicit ownership rules and idempotent upserts.
Shopify Coordinate catalog, inventory, or order information when an organization operates multiple commerce channels. WooCommerce → Martini → Shopify Use Martini as an orchestration layer between commerce APIs, applying SKU and inventory ownership rules, transforming product and order models, and preventing cross-channel duplicates.
ShipStation Send WooCommerce Orders for shipping and return tracking updates to the storefront. WooCommerce → Martini → ShipStation Trigger a workflow from order events or scheduled reads, map line items and shipping addresses to ShipStation, then process tracking updates and write approved fulfillment information back to WooCommerce.
Stripe Reconcile payment transactions, refunds, and payment status with finance and payment operations. WooCommerce → Martini → Stripe Consume payment or order data exposed by the configured WooCommerce payment extension, correlate transactions and refunds, and route normalized financial data to reconciliation workflows.
Mailchimp Synchronize Customers and purchase activity for consent-managed marketing segmentation and campaigns. WooCommerce → Martini → Mailchimp Read customer and order changes, validate consent and audience rules, map customer and purchase attributes, and submit controlled updates to Mailchimp while avoiding duplicate contacts.
Zendesk Give support teams customer, order, and fulfillment context when handling service requests. WooCommerce → Martini → Zendesk Map WooCommerce Customers and Orders into support context, expose selected order lookup APIs if needed, and apply access, privacy, and retry rules around support updates.
HubSpot Synchronize Customers, Orders, and purchase activity for marketing automation and lifecycle reporting. WooCommerce → Martini → HubSpot Use webhook-driven or scheduled synchronization, match contacts using agreed identity rules, transform order and purchase data, and apply consent and duplicate-prevention logic before updates.

How to build a WooCommerce integration in Martini

Objective

Establish authenticated access to WooCommerce REST or WordPress endpoints and protect credentials and webhook secrets outside workflow definitions.

Instructions in Martini

  • Configure the WooCommerce API base URL and version as environment values
  • Store Consumer Key, Consumer Secret, OAuth signing values, and webhook secrets in protected configuration
  • Use HTTPS and restrict API key permissions to the required read or write scope
  • Confirm WordPress media or extension permissions when those endpoints are required

Objective

Select an event-driven or scheduled entry point that matches the required freshness and recovery behavior.

Instructions in Martini

  • Use a WooCommerce webhook for selected order, product, customer, or coupon events
  • Use a scheduler for historical loads, pagination-based synchronization, and reconciliation
  • Use an exposed Martini API when another application must request controlled WooCommerce operations
  • Define a recovery interval because webhooks do not provide a universal event stream

Objective

Receive the event or retrieve the current WooCommerce resource needed for reliable downstream processing.

Instructions in Martini

  • Validate webhook signatures before accepting inbound data
  • Use topic, resource, and event headers to route webhook requests
  • Use the WooCommerce object ID to retrieve the current resource when the payload is incomplete
  • Follow X-WP-TotalPages and related pagination information for collection reads

Objective

Coordinate WooCommerce calls, enrichment, target writes, and recovery behavior in a maintainable Martini workflow.

Instructions in Martini

  • Separate prompt webhook acknowledgement from longer-running downstream processing
  • Add workflow branches for resource types, statuses, and business outcomes
  • Use reusable integration logic for authentication, pagination, and idempotency checks
  • Bound concurrency to respect hosting, proxy, PHP worker, and database capacity

Objective

Convert WooCommerce JSON structures into canonical and target-specific models while preserving important commerce semantics.

Instructions in Martini

  • Map Products separately from Product variations and retain stable identifiers
  • Handle guest Orders using billing and shipping details when no Customer exists
  • Preserve discounts, shipping, fees, taxes, refunds, currencies, and rounding semantics
  • Retain approved extension metadata and tolerate optional fields

Objective

Make ownership, identity, status, consent, and duplicate behavior explicit before writing data to another system.

Instructions in Martini

  • Define the authoritative system for inventory, payment, fulfillment, cancellation, refunds, and tracking
  • Use webhook delivery IDs, WooCommerce IDs, order numbers, or SKUs for idempotency
  • Apply customer matching and consent rules before sending data to CRM or marketing systems
  • Determine whether each target operation is create, update, or upsert

Common WooCommerce data objects used in integrations

ObjectTypical UseCommon target systemsMartini handling
ProductsSynchronize catalog information including prices, stock, categories, attributes, images, and downloadable-product data.NetSuite, Shopify, Salesforce, marketplaces, inventory platformsMartini retrieves Products page by page, maps catalog fields and metadata, distinguishes variable products from variations, and applies SKU, pricing, and inventory business rules.
OrdersTransfer customer purchases, line items, totals, payment status, fulfillment status, billing, and shipping information.NetSuite, ShipStation, Salesforce, Zendesk, finance systemsMartini can receive order webhooks or retrieve Orders through the REST API, enrich incomplete payloads, handle guest orders, map statuses, and enforce idempotent downstream writes.
CustomersSynchronize customer profiles, billing and shipping addresses, and account metadata.Salesforce, HubSpot, Mailchimp, ZendeskMartini matches Customers using agreed identity rules, preserves optional metadata where required, applies consent controls, and handles Orders without a registered Customer.
CouponsShare discount codes, usage restrictions, limits, and discount configuration with commerce or reporting processes.Salesforce, finance systems, reporting platforms, other commerce channelsMartini consumes coupon events or scheduled REST API results, normalizes restrictions and dates, and prevents duplicate or stale campaign updates.
Product variationsRepresent SKU-level or option-level variants associated with variable Products, including variation-specific stock and pricing.NetSuite, inventory platforms, Shopify, marketplacesMartini maintains the relationship between parent Products and variations, uses variation IDs or SKUs for inventory operations, and validates parent-child consistency.
Shipping zonesRepresent shipping regions and associated shipping methods and rates used in store fulfillment configuration.NetSuite, ShipStation, logistics platforms, commerce channelsMartini reads authorized shipping configuration, maps regions and methods to target models, and applies explicit ownership rules before updating downstream systems.

Authentication and security considerations

Protect API credentials and webhook secrets

WooCommerce REST access commonly uses a Consumer Key and Consumer Secret with HTTPS Basic Authentication. OAuth 1.0a is available for scenarios requiring signed requests. Webhook deliveries include a signature generated from the configured webhook secret.

  • Store Consumer Keys, Consumer Secrets, OAuth values, and webhook secrets in Martini environment configuration or secrets management.
  • Use the least API key permission needed for each workflow and rotate credentials periodically.
  • Validate the WooCommerce webhook signature before processing payload data.
  • Use delivery IDs and stable WooCommerce identifiers as idempotency controls.
  • Use HTTPS and prevent credentials, signatures, and sensitive customer information from entering logs or error payloads.

Operational considerations for WooCommerce integrations

Design for store-specific operating limits

WooCommerce does not impose one uniform rate limit across all installations. Hosting providers, proxies, firewalls, PHP workers, databases, caching plugins, and extensions can constrain throughput.

  • Use bounded concurrency, configurable page sizes, and exponential backoff for transient failures.
  • Follow page-based pagination and persist checkpoints for long-running reads.
  • Return quickly from webhook receipt paths and move longer processing into an orchestrated workflow.
  • Run scheduled reconciliation because webhooks cover selected topics and may be missed during endpoint downtime.
  • Test API version changes and extension-specific fields with representative Products, Orders, Customers, refunds, variations, and metadata.
  • Define explicit mappings for statuses, taxes, currencies, discounts, refunds, fulfillment, and guest customer identity.

Why use Martini instead of scripts or point-to-point integrations?

Centralize integration behavior

Direct scripts and point-to-point integrations often duplicate authentication, pagination, mapping, retry, and reconciliation logic. Martini provides a maintainable workflow layer around WooCommerce APIs and webhook deliveries.

  • Orchestrate real-time webhook processing, scheduled synchronization, historical backfills, and recovery workflows.
  • Reuse mappings, validation, business rules, authentication configuration, and error-handling patterns across integrations.
  • Expose a controlled API façade so downstream applications do not depend directly on WooCommerce API versions or extension-specific structures.
  • Apply idempotency, bounded retries, checkpoints, and operational logging consistently.
  • Keep vendor capabilities distinct from target-system behavior while allowing custom transformation logic when commerce models differ.

Frequently asked questions

How can WooCommerce be integrated with enterprise systems?

WooCommerce can be integrated through its versioned REST API, configured webhook notifications, resource-specific batch endpoints, and selected WordPress REST endpoints for media or site-level operations. Scheduled API workflows are useful for historical loads and reconciliation, while webhooks provide notifications for selected order, product, customer, coupon, and action topics.

Can Martini integrate with WooCommerce?

Yes. Martini can consume the WooCommerce REST API, receive signed WooCommerce webhook requests, process WordPress media endpoints where authorized, map WooCommerce JSON, expose controlled APIs, and orchestrate scheduled synchronization and reconciliation workflows. No native Martini WooCommerce connector is documented in the supplied information.

Do I need a connector to integrate WooCommerce with Martini?

No. A dedicated WooCommerce connector is not required. Martini can use WooCommerce's confirmed native REST APIs, webhook deliveries, batch endpoints, authentication methods, and authorized WordPress REST endpoints through workflows and APIs.

Is there any extra Lonti cost to integrate WooCommerce with Martini?

Lonti does not charge an additional per-connector or per-vendor fee to integrate WooCommerce. The integration is subject to the provisioned capacity of the Martini environment. Separate costs may apply from WooCommerce, hosting providers, extensions, payment providers, infrastructure, or other third-party services.

Which WooCommerce integration methods should a new implementation use?

The WooCommerce REST API is the primary documented mechanism for Products, Orders, Customers, Coupons, variations, shipping, taxes, reports, and related resources. Use webhooks for selected change notifications, batch endpoints for supported grouped operations, and the WordPress REST API when authorized media or site-level operations are required. GraphQL and SOAP should not be assumed for a standard installation.

Can Martini receive WooCommerce webhooks?

Yes. Martini can expose an API or workflow endpoint for WooCommerce webhook POST requests. The workflow should validate the configured signature, route by topic and event headers, use the delivery ID for idempotency, and retrieve the current resource when the notification does not contain all required fields. Scheduled reconciliation remains advisable.

How should WooCommerce data synchronization handle pagination and duplicates?

Scheduled synchronization should read collection endpoints page by page, use WooCommerce pagination headers, and persist a checkpoint or processing state. Webhook delivery IDs, WooCommerce object IDs, order numbers, or SKUs can support duplicate prevention. Target operations should be designed as safe creates, updates, or upserts with retryable failures separated from completed work.

Can Martini expose an API façade for WooCommerce?

Yes. Martini can expose a controlled REST API backed by workflows that retrieve or update WooCommerce resources. This can provide a canonical catalog or order interface, enforce authentication and validation, hide WooCommerce API version details, apply business rules, and return controlled errors without requiring consuming applications to connect directly to the store.