What syncs
| Feature | Support |
|---|---|
| Orders | Automatic |
| Stock | Automatic |
| Listings publish | Not supported |
| Prices | Automatic |
| Logistics / AWB | Not supported |
| Chat | Not supported |
| Reviews & comments | Not supported |
| Auto-boost & relist | Not supported |
| Promotions & vouchers | Not supported |
| Live selling | Not supported |
| Fees / payout | Not supported |
Planned capabilities. The SHOPLINE connection is not open yet; this table shows what it is being built to do, taken from the same source as our product code.
Uses SHOPLINE's Open API. SHOPLINE turns on Open API access per merchant. Shipping and creating products stay in SHOPLINE Admin.
Before you start
The SHOPLINE connection is built and opens with MyEasyMarket's next release. Meanwhile you can try the flow with a demo SHOPLINE store (sample data) from the same Connect dialog.
- A SHOPLINE online store. Apply to SHOPLINE for Open API access first — the API Auth option appears in Staff Settings only after SHOPLINE approves it.
- An admin of the store who can create staff and API tokens.
- Each SHOPLINE store counts as 1 connected store on your MyEasyMarket plan. Demo stores do not count.
- Tip: give every product and variation a SKU that matches your MyEasyMarket SKU.
Step by step
- In SHOPLINE Admin, open Staff Settings and create a staff member just for MyEasyMarket (a separate email is safer).
- Under API Auth, select the order and product APIs, and generate the API token. Leave the expiry empty, or note the date.
- In MyEasyMarket, open MyEasyCommerce → Channels, select Connect store and choose SHOPLINE.
- Paste the API token and select Connect SHOPLINE. We check it with SHOPLINE straight away; it is stored encrypted and never shown again.
- We register our webhook with SHOPLINE for you, so new orders arrive instantly. There is nothing else to set up.
After you connect
- Initial import: we bring in your SHOPLINE products (one listing per variation) and the last 30 days of orders.
- Auto-match: listings link to your variants by SKU or barcode; the rest wait under To match on the store's page.
- Orders: new and changed orders arrive by webhook, and we also check every 5 minutes. Order, payment and delivery status decide the MyEasyMarket status — for example a paid or cash-on-delivery order is To ship, an order SHOPLINE marks shipped is Shipped.
- Stock push: once matched, a sale on any channel sets the SHOPLINE quantity within about a minute, following your warehouse rules and the allocation % for this store. Products with unlimited quantity in SHOPLINE are skipped.
- Prices: bulk price changes and approved campaign prices are sent to SHOPLINE; at the end of a campaign the previous price comes back.
Limits and good to know
- What we checked: SHOPLINE's Open API (version 1) with a staff API token, order search by update time, product and variation quantity and price updates, and webhook registration with SHOPLINE's verification step. Webhooks on staff tokens are not signed, so your store has its own secret webhook URL and we always read the order again from SHOPLINE.
- If you set an IP whitelist on the token, MyEasyMarket's calls come from Vercel's Singapore region; contact support for the current addresses before you turn the whitelist on.
- Not available yet: shipping and creating products. Keep doing these in SHOPLINE Admin.
Troubleshooting
| What you see | Why it happens | How to fix it |
|---|---|---|
| SHOPLINE refused the API tokenauth_failed | A typo, a deleted token, or Open API access not yet approved for your store. | Generate a new token under Staff Settings → API Auth and connect again. |
| The store shows Needs reconnecttoken_expired | The token expired (if you set an expiry) or was deleted. | Generate a new token, then Connect store → SHOPLINE with it. Your store is reactivated. |
| SHOPLINE says the token may not do thismissing_permission | The order or product APIs were not selected for the token, or the IP whitelist blocks us. | Edit the token's API Auth to include orders and products, and check the IP whitelist. |
| This SHOPLINE store is linked to another workspaceshop_already_linked | The same store is already connected in a different MyEasyMarket workspace. | Disconnect it in the other workspace first, then connect it here. |
| Orders do not arrive instantlyinvalid_signature | A webhook points at an old or wrong address. | Reconnect the store so we register the current webhook URL. Orders are still checked every 5 minutes. |
| Stock update rejected for a productinvalid_request | The product has unlimited quantity or is a bundle in SHOPLINE, so its quantity cannot be set. | Turn off unlimited quantity in SHOPLINE, or ignore that listing under To match. |
| An order line is not linked to a productunknown_sku | The SHOPLINE SKU matches none of your products, or several of them. | Fix the SKU, or match the listing by hand under To match. |
| Updates are delayedrate_limited | SHOPLINE asked us to slow down. | Nothing to do: MyEasyMarket retries on its own. |
Reconnect, disconnect and your data
- New token? Open Channels → Connect store → SHOPLINE and paste it; the same store is reactivated.
- To disconnect, open the store and select Disconnect. Syncing stops, the stored token is deleted and your data stays in MyEasyMarket. Delete the API token in SHOPLINE Admin too.
Frequently asked questions
Is SHOPLINE a marketplace?
No — SHOPLINE runs your own online store. MyEasyMarket treats it like your website: one stock pool shared with your marketplaces.
Do I need SHOPLINE's approval?
Yes. SHOPLINE enables Open API access per merchant. Apply in SHOPLINE before you create the token.
Will campaigns change my SHOPLINE prices?
Only after a person approves the campaign, and only for its time window. The previous price comes back at the end.
Ready when your channels are
Start a 30-day free trial, set up your catalogue now and connect each channel the day it opens.
Was this guide helpful?