Linnworks Integration
How the POS connects to your Linnworks account, what permissions it needs, and what to do when something looks off.
The two ways the POS talks to Linnworks
-
Embedded iframe mode (when launched from Linnworks → Apps → Trade Order POS)
- Linnworks passes a session token on every iframe load; the POS authenticates it against the Linnworks API
- The authenticated session is cached for up to 25 minutes
- If the app is left open for longer without activity, the next action will show a "session expired" message — simply reload the app from inside Linnworks to get a fresh session
-
Install-token mode (when signed in via the standalone web app)
- You paste the long-lived install token once during onboarding
- The POS caches the session and refreshes it as needed
- This is what powers the in-app reorder and customer lookup
Both modes use the same User record and the same Linnworks data. If you signed up via the web and later open the iframe (or vice versa), it's all the same account.
Manifest URL (for Linnworks app config)
The Trade Order POS Linnworks app manifest points the iframe at:
https://trade-pos.mcp-g.com/embed?token=[{TOKEN}]
Linnworks substitutes [{TOKEN}] with the operator's session token on every iframe load. The Worker's /embed handler validates the token against the Linnworks API, mints a session cookie, and lands the operator on the POS — no separate sign-in required.
If you're a Linnworks reviewer auditing the app: the iframe URL only accepts the Linnworks-supplied token format (32-char hex). Any other input returns a friendly 400 error page directing the user to open the app from inside Linnworks.
Permissions / scopes
The Linnworks app requests three scopes:
| Resource | Access | Why |
|---|---|---|
| Orders | Read + Write | Create open orders, set customer info, refs, notes, shipping. Process the order if Auto-process is on. |
| Stock | Read | Product / inventory search and live retail prices |
| Processed Orders | Read | Customer lookup (we search the processed-orders index) and reorder-last-order |
We do not request a Customers scope — Linnworks's processed-orders index has the data we need and is universally available across plans.
What we never do
- We never write to your Stock catalogue
- We never delete or modify processed orders
- We never read your customer payment methods — the POS only records an order's payment status, never card data
- We never share or sell your data
See our Privacy Policy for the full rundown.
Re-installing / re-authorising
If you've changed app permissions in Linnworks and the POS starts erroring, the quickest fix is to reinstall the app:
- In Linnworks → Apps → Trade Order POS → ⋯ → Uninstall
- Re-install from the App Store
- Approve the permissions again
- Open the app from the sidebar — you're reconnected automatically
If that doesn't fix it, open a support ticket and include any error message you saw.