Connect your CommerceHQ store to EcomCentral using HTTP Basic authentication with your API key and password.
mystore.commercehq.com){api_key}:{api_password} and sent in the
Authorization header with every request. No OAuth flow is required.
mystore.commercehq.com| Key | Required | Description | Example |
|---|---|---|---|
shop_url |
Required | Full store domain (with or without https:// prefix) |
mystore.commercehq.com |
api_key |
Required | API Key from Settings → API credentials | abc123key… |
api_password |
Required | API Password paired with the API Key | secret456pass… |
shopUrl or url for the shop URL;
apiKey or key for the API key;
apiPassword or password for the API password.
| Operation | Method | Endpoint |
|---|---|---|
| Test connection | GET | /api/v1/orders?page=1&per_page=1 |
| List orders | GET | /api/v1/orders?page=P&per_page=N&sort=-created_at |
| Order detail | GET | /api/v1/orders/{id} |
| Add tracking (fulfillment) | POST | /api/v1/orders/{id}/fulfillments |
| List products | GET | /api/v1/products?page=P&per_page=N |
| Product detail | GET | /api/v1/products/{id} |
| Update variant stock | PUT | /api/v1/variants/{id} with { variant: { inventory_quantity: N } } |
{ orders/products: [...], meta: { pagination: { total, per_page, current_page } } }.
EcomCentral uses meta.pagination.total for page count display.
| Feature | Supported | Notes |
|---|---|---|
| View orders (paginated) | ✅ | Order number, date, status, total + currency; sorted newest first |
| View order detail | ✅ | Customer info, billing address, shipping address, line items, financial status, tax |
| Add tracking (fulfillment) | ✅ | Tracking number + company + URL; automatically includes all line items |
| View products (paginated) | ✅ | First variant SKU, price, and inventory quantity |
| View product detail + variants | ✅ | All variants with ID, SKU, price, stock, options; first image thumbnail |
| Update stock quantity | ✅ | PUT /api/v1/variants/{id} — stock is updated per variant ID |
| Test connection | ✅ | Verifies credentials by fetching the first page of orders |
inventory_quantity.
The api_key or api_password is incorrect. Regenerate your API credentials
in Settings → API and update the connection in EcomCentral. Make sure there are no extra spaces
around the values.
Check that shop_url is your correct store domain (e.g. mystore.commercehq.com).
Do not include a trailing slash or a path — EcomCentral automatically adds the https://
prefix and /api/v1 base path.
Ensure your API credentials have write access to Orders. Read-only API scopes cannot create fulfillments. Also confirm the order is in a fulfillable state (not already fully fulfilled or cancelled).
Verify you are using the correct Variant ID (the numeric ID shown in the variants table in the product detail panel), not the product ID or SKU. Each CommerceHQ variant has its own ID and independent inventory count.