PrestaShop + AtoShip
Connect your PrestaShop store using the built-in WebService API — no plugin or extension required. Generate an API key in your admin panel, paste it into AtoShip, and orders start flowing immediately.
How it works
PrestaShop includes a built-in REST WebService API. AtoShip connects to it using a WebService key you create in your admin panel. No extra modules to install — everything works out of the box.
Customer places an order
New orders appear in your PrestaShop back office
Orders sync to AtoShip
Auto-imported with customer info, line items, and addresses
Buy label, tracking goes back
Tracking number written to the PrestaShop order
Setup (no plugin required)
Step 1 — Enable the WebService API
PrestaShop's WebService is disabled by default. Turn it on first:
- Go to Advanced Parameters → WebService
- Set Enable PrestaShop WebService to Yes
- Click Save
If you don't see the WebService menu, check that your PrestaShop installation is accessible over HTTPS. The WebService API is only fully functional over a secure connection.
Step 2 — Create a WebService key
Still in Advanced Parameters → WebService:
- Click Add new webservice key
- Click Generate to create a random API key
- Under Permissions, enable the following resources with at least GETaccess:
orders,customers,addresses,products,order_details - Also enable PUT access for
ordersandorder_histories(needed for tracking writeback) - Set Status to Enabled
- Click Save
- Copy the generated API key — you'll need it in the next step
Step 3 — Connect from AtoShip
In your AtoShip dashboard:
- Go to Channels → Add Channel → PrestaShop
- Enter your store URL (e.g.
https://your-store.com) - Paste the WebService API key from Step 2
- Click Connect Store
AtoShip will validate the credentials using GET /api/ and detect your store name automatically. Orders will begin syncing on the next scheduled cron cycle.
WebService permissions reference
Here's exactly what permissions AtoShip needs and why:
| Resource | GET | PUT | Why |
|---|---|---|---|
| orders | GET | PUT | Read orders, update tracking info |
| order_details | GET | — | Read line items and quantities |
| order_histories | GET | PUT | Update order status on shipment/delivery |
| customers | GET | — | Read customer name and email |
| addresses | GET | — | Read shipping and billing addresses |
| products | GET | — | Sync product catalog |
You can grant more permissions — AtoShip will only use the ones listed above.
What gets synced
PrestaShop → AtoShip
- Order number, date, total
- Shipping & billing addresses
- Line items with product name, quantity
- Customer name & email
- Order status
- Product catalog
AtoShip → PrestaShop
- Tracking number & carrier name
- Order status update (Shipped / Delivered)
- Order history comment with carrier details
Troubleshooting
Connection fails with "Invalid API key"
Verify the WebService is Enabled and the key status is Enabled in Advanced Parameters → WebService. Also confirm the key has at least GET access toorders.
WebService menu not visible in admin
Go to Advanced Parameters → Performance and check if caching is causing menu issues. Also, the WebService menu requires admin-level permissions — check your admin role.
Orders not syncing
AtoShip syncs on a scheduled cron cycle. Use Sync Now on the Channels page to trigger an immediate sync. If that fails, check the store URL — it must include the protocol (https://) and match the URL where PrestaShop is installed exactly.
Tracking not updating on PrestaShop orders
Make sure the WebService key has PUT access to orders and order_histories. You can also use the Resend Tracking button on the AtoShip order detail page to manually push tracking.
Requirements
- PrestaShop 1.7.x or 8.x
- WebService API enabled (Advanced Parameters → WebService)
- Store accessible via public HTTPS URL
- Admin account to create WebService keys