Skip to main content

Selling

Sell Everywhere: Orders and Stock from Other Sales Channels

Connect a marketplace or your own system, bring its orders into BestWebby, choose which products it may sell, and keep its stock in step with your store.

Overview

Channels → Sell everywhere connects other places you sell, so their orders arrive in your Orders list and the stock they offer follows yours. There are five kinds of channel:

  • Custom (webhook) — any system of your own: it sends orders to BestWebby, and BestWebby sends stock changes back to it.
  • Shopify, eBay, Etsy and Amazon.

Sell everywhere is part of the Scale plan and above. Connecting channels is a store setting, so only the store owner can open and change it.

Connect a channel

Custom (webhook): click Add channel on its card and enter:

  • Ingest token — a secret of at least 16 characters that you choose. Your system sends it with every order.
  • Outbound bearer (optional) — a secret BestWebby sends with its updates, so your system can check they came from BestWebby.
  • Inventory webhook URL (optional) — where BestWebby sends stock changes.

Shopify: click Add channel and enter your Shopify Admin API token and your Shop URL, for example https://mystore.myshopify.com.

Etsy, eBay and Amazon: each card says up front what is available.

  • If the card shows Connect followed by the marketplace's name, click it. You are sent to the marketplace to approve the connection, and back. or add manually is still there if you would rather paste your own credentials.
  • If one-click Connect is not set up yet, the card says so and offers Add channel instead: enter your own credentials and settings (Etsy: an access token and your Shop ID; eBay: an OAuth user access token, and optionally a Marketplace ID and Merchant location key; Amazon: your Seller ID, a refresh token and your Marketplace ID).
  • Etsy and Amazon also need BestWebby's own app for that marketplace, which you do not enter. Until it is set up, their cards show Not available yet and the button reads Save details for later: the channel is saved as Needs credentials with that reason, and nothing syncs.

Give each channel a Channel name if you connect more than one of the same kind. Reconnect on a row refreshes the approval of a marketplace you connected with Connect; it only appears when Connect is available.

Channel status

  • Connected — BestWebby has everything it needs to sync this channel.
  • Needs credentials — something is missing. The reason is shown under the badge, and on the channel's page: a field you have not filled in, or BestWebby's own marketplace app not being set up yet. If it says setup is complete, click Sync now.
  • Error — the last sync failed. BestWebby tries again every hour, and Sync now tries straight away.

Access tokens. For Etsy and eBay the row also says what is known about the access token. A channel added with Connect shows when its token expires and whether it renews by itself. A token you paste yourself has no expiry BestWebby can read and never renews; when the marketplace stops accepting it, the channel shows Error. For eBay and Shopify, paste a new one under Replace token on the channel's page.

How syncing works

Every 15 minutes, BestWebby syncs each connected channel: it brings in new orders, creates approved listings that are not on the channel yet (Shopify, eBay and Etsy; creating Amazon listings is not supported yet), and sends stock changes to the channel's listings. Sync now on a channel's row starts a sync straight away.

  • Orders appear in Orders like any other, once each: an order is never brought in twice.
  • Stock is one pool. An order from any channel takes units from the same stock your storefront sells. If the stock is short, the order is still taken.
  • Each channel is offered a share. When a product sells on several channels, BestWebby splits the units between them rather than offering every unit everywhere, so a sale on one cannot oversell another.

Remove on a channel's row removes it straight away, without asking.

What each sync sends

On a channel's page, What each sync sends holds the switches the sync reads:

  • Send stock levels — on unless you turn it off.
  • Send prices — off unless you turn it on. When on, your product price replaces the price on the channel. Offered for Shopify, eBay and Custom (webhook); Etsy and Amazon do not take prices from BestWebby, so their prices stay as you set them there.
  • Lowest price to publish — optional. Products priced below it are not listed or updated on this channel.

Click Save sync settings; they apply from the next sync.

Choose what each channel sells

Click a channel's name to open its page.

  1. Click Add products, search by name or SKU, and tick the products. For a custom channel, give each the External ID your system uses for it; a custom listing without one is never sent stock.
  2. The products wait under Awaiting approval. Click Approve to let the channel sell a product, or Reject (with an optional reason). Every decision is kept in the audit log.
  3. Approved products appear under Listings, with their status, how many units are Advertised here, the External ID and the date added.

Stock is only sent for a listing that has an External ID. For a marketplace, BestWebby creates the listing there on the next sync and records its ID. Each listing shows whether it shares the stock evenly or is limited on this channel.

Limit a channel's share. Click Set quantity on a listing and enter the most units this channel may offer. Leave it blank to share evenly with the other channels; enter 0 to keep the listing but offer none of it here. The channel never offers more than you have.

Custom (webhook) in detail

Send an order to BestWebby. After adding the channel, click Copy ingest webhook URL on its row. Send each order with POST to that address, with the header Authorization: Bearer followed by your ingest token:

{
  "externalOrderId": "A-1001",
  "customerEmail": "[email protected]",
  "currencyCode": "CAD",
  "shippingCents": 1200,
  "taxCents": 390,
  "items": [
    { "sku": "MUG-BLUE", "quantity": 2, "unitPriceCents": 1500 }
  ]
}
  • externalOrderId is required, and is how BestWebby recognises an order it already has: sending the same one again is answered 200 and creates nothing.
  • Prices are whole cents. Without totalCents, the total is worked out from the items, tax and shipping. Without currencyCode, your store's currency is used.
  • Each item names a productId or a sku from your catalogue, or just a description. Up to 500 items.
  • A wrong or missing token is refused.

Receive stock changes. BestWebby sends a POST to your Inventory webhook URL, with your outbound bearer secret in the Authorization header when you set one:

{ "type": "inventory.update", "externalId": "MUG-BLUE", "stock": 14, "at": "2026-10-23T14:05:00.000Z" }

With Send prices switched on (see What each sync sends), price changes arrive at the same URL:

{ "type": "price.update", "externalId": "MUG-BLUE", "priceCents": 1800, "at": "2026-10-23T14:05:00.000Z" }

Common questions

Why does my channel say Needs credentials when I filled everything in? Read the line under the badge. For Etsy and Amazon it can mean BestWebby's own app for that marketplace is not set up yet, which is on our side, not yours.

Why does my channel say Connected but no orders arrive? Check Last order sync. If it stays empty after a sync, there were no new orders on the channel, or the sync is failing: a failing sync turns the badge to Error.

Do marketplace orders count against my stock? Yes. Every channel sells from the same stock as your storefront.

Is this the same as Distribution? No. Orders → Distribution is a contact list of partners and does not sync anything (see Distribution).