Connecting a channel
Authorise and verify a sales channel, configure its connection and begin importing catalogue and order data.
Last updated 31 August 2026On this page
Connection methods
Go to Channels › Connect a store. The form has three steps: what to call the connection, where your account is, and how to prove it is yours. The third step is the one that differs, and there are two shapes of it.
- Installing. Pressing Connect sends you to the channel, you approve the application there, and the channel sends you back with a credential. No password is typed here and none is kept. This is the ordinary way in for Shopify, eBay, Amazon and TikTok Shop.
- A credential you already hold. You create a key in your own admin and paste it in. This is the connection method for WooCommerce and Magento, which run on merchant-managed infrastructure, and it is available on other channels under I already have a token for this account.
A connection is stored only after the credential has been verified against the channel and the account has responded successfully. An unreachable store is not shown as connected.
The display name in step one is yours and is never sent anywhere: it is what the connection is called in menus and lists here. "UK shop", "Warehouse eBay". Leave it blank to use the name the channel gives.
Shopify
What you need: the permanent store address, which looks like
acme.myshopify.com. Not a custom domain: the permanent one is what
every API call is addressed to.
- Channels › Connect a store, and choose Shopify.
- Type the store address in step two.
- Press Install. Shopify asks you to approve the application against that store, and sends you back here.
- The connection appears with the shop's own name and the permissions it granted.
With a token instead. In your Shopify admin, create a custom app, give it the read and write scopes for products, inventory and orders, install it, and copy the Admin API access token. Shopify shows it once. Paste it under I already have a token for this account. It is encrypted before it is stored and never shown again.
An install started from Shopify's own admin lands on the same screen with the shop address already filled in. Check the organisation in the sidebar first if you work in more than one: the connection is made against whichever you are signed in to.
eBay
What you need: your seller ID, which is the name shown on your
listings and the last part of your profile address:
ebay.co.uk/usr/your-id.
- Channels › Connect a store, and choose eBay.
- Type your seller ID.
- Press Connect. eBay asks you to sign in and approve the application, then returns you here.
- Open the connection and go to Listing settings. eBay needs four answers before a product can be listed: a postage policy, a payment policy, a returns policy and somewhere to ship from. They are read live from your eBay account rather than stored here.
If you have none of them, the screen offers to create them for you: give the postage you charge, how many days you take to post, how long a buyer has to return and who pays the return postage, and press Create them. They are created in your eBay account and can be edited there afterwards. A default condition can be set here too, and it is used for any product that has not chosen one of its own.
Add a street and postcode to your default warehouse first, under Settings › Warehouses. eBay quotes postage from where the parcel leaves, so it will not accept a listing without one.
Amazon
What you need: your Merchant Token. In Seller Central it is under Settings › Account Info › Merchant Token: fourteen letters and digits, not your store name. Every write is addressed to it, so it is worth copying rather than typing.
- Channels › Connect a store, and choose Amazon.
- Type the Merchant Token.
- Press Connect. Amazon asks you to approve the application against your selling account and sends you back here.
- Open the connection and press Import orders, then Import products, on the Import and sync tab.
Amazon's catalogue import reads the listings you hold - your SKUs, your prices, your quantities - rather than Amazon's shared product pages. This has two important implications: Amazon holds no seller-owned description or picture gallery, because the detail page belongs to the ASIN and is shared with everybody else selling the same product, so a product arrives with its title and its main image. What you write here is what goes out to the channels that accept a description.
Stock is sent per SKU. A listing Amazon fulfils itself is never sent a quantity: that number is Amazon's, and writing to it would be overwritten within the hour.
TikTok Shop
What you need: a TikTok Shop seller account and its Seller Center login. There is nothing to copy: the shop is chosen on TikTok's own screen.
- Channels › Connect a store, and choose TikTok Shop.
- Press Connect. TikTok asks you to sign in, pick the shop and approve the application, then returns you here.
- Open the connection and press Import products, then Import orders, on the Import and sync tab.
Each TikTok SKU arrives as a variant with its own price, barcode and quantity. Stock is sent per SKU to the TikTok warehouse you choose on the connection, so a shop with more than one warehouse keeps them apart.
When a parcel is dispatched, TikTok is sent the tracking number and a carrier from the list TikTok offers for that order. A carrier TikTok does not offer is reported on the shipment rather than guessed, so the buyer's tracking link always works.
Mirakl marketplaces
What you need: the address of the marketplace's seller portal and your shop's API key from it. B&Q, Decathlon, JD Sports, Superdry and many others run on Mirakl; each marketplace is connected separately, with its own key.
- In the marketplace's seller portal, open your account's API settings and copy the API key.
-
Channels › Connect a store, and choose B&Q or
Decathlon, whose address is already filled in. For any other
Mirakl marketplace choose Mirakl and paste the portal's address,
starting with
https://. - Paste the API key and press Connect. The marketplace answers with your shop's name.
- Open the connection and press Import products, then Import orders, on the Import and sync tab.
Each offer arrives as a product with your SKU, price, barcode and quantity. Offers carry no pictures on Mirakl, because the product page belongs to the marketplace.
New orders are accepted automatically within a couple of minutes, so none is refused for running out of time. An order is imported once the buyer has paid, with the delivery address. Stock goes back as one partial update per run, which changes the quantity and nothing else about the offer.
OnBuy
What you need: the consumer key and the secret key from the OnBuy Seller Control Panel, under Listing & Products, Imports & Integrations, OnBuy API. The test keys work too, against OnBuy's test data.
- Channels › Connect a store, and choose OnBuy.
- Paste the consumer key and the secret key, and press Connect.
- Open the connection and press Import products, then Import orders, on the Import and sync tab.
Each listing arrives as a product with its SKU, price, barcode and stock. Stock goes back per SKU, and dispatching part of an order marks only those items dispatched.
ManoMano
What you need: an API key from the ManoMano Toolbox, under Settings and API keys, generated by a user with the Admin role. ManoMano shows it once. You also need the seller contract id for the market you are connecting, which is the number ManoMano gives that contract.
- Channels › Connect a store, and choose ManoMano.
- Enter the seller contract id, paste the API key, and press Connect.
- Open the connection and press Import products, then Import orders, on the Import and sync tab.
Each offer arrives as a product with your SKU, price and stock, and the offers ManoMano has taken offline arrive as archived. Offers carry no pictures, because the product page belongs to ManoMano. New orders are accepted automatically, so none is refused for going unanswered. Stock goes back per SKU without freezing it, so a feed you already run keeps working. Each parcel is declared with its courier, its tracking number and the products inside it.
BigCommerce
What you need: an API account from your own store, under Settings and API accounts, with Products, Orders and Information ticked. BigCommerce shows the token once. You also need the store hash, which is the code in the API path it shows beside the token, between /stores/ and /v3/.
- Channels › Connect a store, and choose BigCommerce.
- Enter the store hash — pasting the whole API path works too — paste the access token, and press Connect.
- Open the connection and press Import products, then Import orders, on the Import and sync tab.
Each product arrives with its variants, images and stock, and a product with no options arrives as the one variant it is. Stock goes back where BigCommerce keeps it, per variant or per product, whichever that product is set to. Dispatching part of an order records a shipment against its address and leaves the order Partially Shipped until the rest follows.
EKM
What you need: an EKM shop on the Advanced or Pro plan, which is where EKM includes the API. There is no key to copy: you approve Channekt on EKM itself.
- Channels › Connect a store, and choose EKM.
- Press Connect, sign in at EKM and approve what Channekt may reach. EKM sends you straight back.
- Open the connection and press Import products, then Import orders, on the Import and sync tab.
Each product arrives with its variants, pictures and stock, and the ones that are not live arrive as drafts. Stock goes back per product or per variant, whichever that product uses. Dispatch moves the order to your shop’s own dispatched status and emails the customer if you ask it to; EKM’s API cannot carry the tracking number, so that stays wherever you keep it.
Temu
What you need: a Temu local or semi-managed store, and an authorisation from Temu Seller Center under System management and Authorization management. Temu shows the access token when you authorise the app. You also need to know which region your store sells in — the United States, Europe, or the rest of the world.
- Channels › Connect a store, and choose Temu.
- Type the region — us, eu or global — paste the access token, and press Connect.
- Open the connection and press Import products, then Import orders, on the Import and sync tab.
Each product arrives with its SKUs, the specification that makes each one and the code you gave it. Orders arrive with their items, what the customer paid and the delivery address, where Temu allows it to be read. Stock goes back per SKU as the figure the store should show. A parcel is confirmed with its carrier and tracking number, so Temu needs both before a dispatch can be recorded.
WooCommerce
What you need: WooCommerce 3.5 or later on a store reachable over https, and a REST API key pair. The key is sent with every request, so an http address is refused.
- In WordPress, go to WooCommerce › Settings › Advanced › REST API and press Add key.
- Give it a description, choose a user with administrator rights, set permissions to Read/Write and press Generate API key.
-
Copy the consumer key (it starts
ck_) and the consumer secret (cs_). WooCommerce shows them once, together. -
Here, choose WooCommerce, type the full store address starting
with
https://, paste both halves and press Connect.
Connecting also adds two webhooks to the store, named Channekt order sync, so each new or changed order reaches Channekt as soon as WooCommerce sends it. You can see them under WooCommerce › Settings › Advanced › Webhooks.
Recommended on a quiet store: WooCommerce sends webhooks from its
background queue, which WordPress runs only when someone visits the site. On a
store with little traffic an order can wait there until the next visit. A real
server cron fixes this: add define('DISABLE_WP_CRON', true); to
wp-config.php and ask your host to call
https://your-store/wp-cron.php every minute. Most hosts offer this
in their control panel under Cron Jobs.
Magento
What you need: Magento 2 or Adobe Commerce, and an integration token. Magento 1 reached end of life in June 2020, has a completely different API and is not supported.
- On 2.4.4 and later, first: go to Stores › Configuration › Services › OAuth › Consumer Settings and set Allow OAuth Access Tokens to be used as standalone Bearer tokens to Yes, then save. Magento ships it set to No and refuses the token until it is changed. Magento 2.4.3 and earlier do not include this setting, so this step can be skipped.
- Go to System › Extensions › Integrations and press Add New Integration. Give it a name.
- On the API tab set Resource Access to Custom and tick the boxes below. All works too: it is the same access plus everything we never ask for.
- Save, then press Activate and Allow. Magento shows the Access Token once.
-
Here, choose Magento, type the store address starting with
https://, paste the token and press Connect.
The boxes to tick, and what each one is for:
| Resource | Why |
|---|---|
| Catalog | Tick the branch itself, not only what is under it. Products and categories are read from there and written to on publish, and a product's existing pictures are read through an endpoint Magento guards with the Catalog node rather than with Products. |
| Sales › Operations › Orders | Brings your orders in. |
| Sales › Operations › Orders › Actions › Ship | Marks an order shipped and sends the tracking number back. |
| Stores › Settings › All Stores | Reads the store's currency and its store views. |
| Stores › Attributes › Product | Reads attribute names, so a variant reads "Colour: Red" instead of a pair of numbers, and creates the one a product with variants needs when your store has none. |
| Stores › Attributes › Attribute Set | The box most easily missed. Magento keeps a value only for the attributes in a product's set and drops the rest without saying so, so without this a product with variants can be written without a differentiating attribute, and the resulting error refers to a product ID rather than this permission. |
| Stores › Settings › Configuration › Inventory Section | Lets a product carry its own stock figure on a store with no Multi Source Inventory. |
| Stores › Inventory › Sources | Reads and writes stock per source. On 2.4 also tick Stores › Inventory › Stocks › Source Item Assigning. If there is no Inventory branch, Multi Source Inventory is disabled and these permissions are not required. Stock is then written directly to the product according to the store configuration. |
The tree is worded slightly differently between Magento versions, and anything missed is not wasted work: the request that needs it fails with the resource named - "Magento_Catalog::products" - and you tick it then. Magento reports a missed box as "The consumer isn't authorized to access ...", sometimes with a status that reads like a rejected token; the name after "access" is the box, and the token is fine. After ticking anything, press Save, and refresh the invalidated cache types Magento offers at the top of its admin.
Connection settings
Open a connection from Channels. It has a tab for each thing you do to it.
| Tab | What is there |
|---|---|
| Overview | The account at the channel, when it was connected, when it was last checked and what it is allowed to do. Check now re-reads all of it immediately instead of waiting for the next sweep. |
| Import and sync | Import products, Import orders and Send stock, each of which starts a job you can watch. Beside them, Preview stock shows what would be sent without sending it, and Compare with the store asks the shop what it is advertising and lists where it disagrees. |
| Stock | The rules that decide how much of your stock this connection is told about. See Stock. |
| Listing settings | What the channel needs before a product can be listed on it, read live from your account there. eBay's four policies live here. |
| Settings | What an import from this store does with pictures. See below. |
| Notes | Anything the system does not record: which mailbox opened the account, who to ring, what the last ticket was about. Encrypted with the same key as the credentials. |
| Limits and permissions | What the channel granted, and what this connection cannot do. A connection can work perfectly and still be withholding something, and this is where that is said. |
Import behaviour
An import reads the channel and writes into your catalogue. Products are matched on SKU, so importing the same shop twice updates rather than duplicates.
The Settings tab decides what happens to pictures, and it applies to every import from that store including scheduled ones. For products that are new here:
- Link to the pictures where they are. This uses no local media storage. The links remain dependent on the original store.
- Copy the pictures here. They become yours and survive the store closing. Copying starts after the import finishes and runs as its own job.
- Do not bring pictures. Useful when the pictures here are already the better ones.
For products this catalogue already has:
- Leave their pictures alone. An import can add products and prices without touching a single picture.
- Keep this store's own pictures, separately. Your product keeps the pictures it has; this store's are kept against this connection only, and are what is sent back to it.
- Replace the pictures that came from this store. Only pictures this store gave us are removed. Anything uploaded here is your own and is never touched.
Pausing and disconnecting
Pause sending stops stock and dispatch updates going to a store. Orders still arrive, imports still run and the connection is still checked. It is what you want during a stocktake or a price rework, and it takes a reason you can note. Resume sending puts it back.
Disconnect ends the connection. Products and orders already imported remain in your account, while synchronisation is paused until the channel is connected again.
A connection that stops working says so on its own card, with what the channel said and what to do about it: reconnect, grant something in the store's own admin, wait for it to clear, or tell us. Reconnecting mints a new credential and re-grants what it needs.
Multiple accounts per channel
Connect as many as your plan includes: two eBay accounts, a shop and a marketplace, a second Shopify store for another country. Each is its own connection with its own listing settings, its own stock rules and its own import settings, and each counts once against the plan's connection limit.