How to create a PrestaShop Webservice key for Zendesk
By Jake Marsh · Updated
To connect PrestaShop to Zendesk, open your back office at Advanced Parameters > Webservice, set Enable PrestaShop's webservice to Yes, click Add new webservice key, then Generate!. Tick View (GET) on the order resources, add POST or PUT only for actions you want, tick every shop under Shop association in a multistore, save, and paste the key into Caddywell's Webservice key setting in Zendesk.
Steps
- Turn the Webservice on. In the back office, go to Advanced Parameters > Webservice, set Enable PrestaShop's webservice to Yes and save.
- Add a key. Click Add new webservice key, then Generate!. Description: "Caddywell for Zendesk". Status: Yes.
- Tick the permissions in the table below. Leave out the actions you don't want agents to take.
- Multistore only: under Shop association, tick every shop. Caddywell reads every shop's orders with this one key.
- Save and copy the key.
- Paste it into Zendesk. In Admin Center > Apps and integrations > Zendesk Support apps > Caddywell, fill in Store domain (lowercase, like
shop.example.com, nohttps://, no path, no port), Base path only for a sub-folder install like/shop(never add/api), and Webservice key. - Test it. Open a ticket from someone who has ordered. Their orders appear in the sidebar.
Which permissions to tick
| What agents get | Resource | Permission |
|---|---|---|
| Customers and guest checkouts by email | customers | View (GET) |
| Orders, items and totals | orders, order_details | View (GET) |
| Status names and history | order_states, order_histories | View (GET) |
| Change an order status | order_histories | Add (POST) |
| Carriers and tracking links | carriers, order_carriers | View (GET) |
| Add or fix a tracking number | order_carriers | Modify (PUT) |
| Delivery address | addresses, countries | View (GET) |
| Payments | order_payments | View (GET) |
| Credit slips, lifetime value net of refunds | order_slip | View (GET) |
| Read order messages | customer_threads, customer_messages | View (GET) |
| Add order messages | customer_threads, customer_messages | Add (POST) |
| Currency and shop names | currencies, shops | View (GET) |
For a read-only sidebar, tick only the View (GET) rows. Without shops, currencies or countries, Caddywell still works and shows plainer labels.
Where the key is kept
Zendesk stores the key as a secure setting. It never reaches agents' browsers: Zendesk adds it to each request on its way to the store domain you entered, and only to that domain. Nothing is installed in PrestaShop.
Store requirements that trip people up
- HTTPS with a certificate browsers accept, reachable from the internet. A staging site behind a password or VPN won't work.
- URL rewriting for
/api/. The Webservice answers athttps://your-domain/api/(orhttps://your-domain/your-folder/api/). That needs PrestaShop's.htaccessrules on Apache or its rewrite rules on nginx. - Zendesk must be able to reach
/api/. Requests come from Zendesk's servers. If Cloudflare, a WAF or a hosting firewall blocks unknown servers, allow Zendesk's IP ranges for that path (see Zendesk's list of IP addresses).
Error messages and fixes
| The sidebar says | What to do |
|---|---|
| Did not accept the Webservice key | Check the key in Caddywell matches the one in Advanced Parameters > Webservice and that its status is Yes |
| The Webservice key may not do this | Tick the permission the message names |
| The Webservice is turned off | Set Enable PrestaShop's webservice to Yes |
| Not enabled for this shop | Tick every shop under the key's Shop association |
| The Webservice was not found | Check the domain and base path, and that /api is rewritten |
| A firewall or CDN blocked Zendesk, or answered with a web page | Allow Zendesk's IP ranges for /api/ |
What it costs
Caddywell for PrestaShop is billed monthly by Zendesk by the number of agents and admins in your account: Starter $32 a month (up to 3), Team $75 (up to 10), Business $175 (up to 25), or Scale at $7.50 per agent per month above 25. Every plan has a 14-day trial; Zendesk asks for a card at install. The Caddywell documentation lists every setting.
Caddywell for PrestaShop
PrestaShop orders from every shop on the ticket: status, tracking, messages. No module needed. From $32 a month per Zendesk account.
Questions
Where is the Webservice in PrestaShop 8 and 9?
The same place as in 1.7: Advanced Parameters > Webservice in the back office. Caddywell works with PrestaShop 1.7.6 and later, including 8 and 9.
Do I need one key per shop in a multistore?
No. One key with every shop ticked under Shop association covers them all. You need a separate key only for a separate PrestaShop installation, and Caddywell takes up to three.
Can I give agents read-only access first?
Yes. Tick only View (GET). You can add POST on order_histories or PUT on order_carriers later on the same key, and switch each action on in Caddywell's settings.
What should I do when I stop using the app?
Uninstall it in Zendesk Admin Center, which deletes the stored key, then delete the key in Advanced Parameters > Webservice.
More Caddywell for PrestaShop guides
- How to add a PrestaShop tracking number from a Zendesk ticket
- How to change a PrestaShop order status from Zendesk
More Zendesk guides
- How to cancel a Paddle subscription from a Zendesk ticket (Canoewell)
- How to refund a WooCommerce order from a Zendesk ticket (Basketwell for WooCommerce)
- How to change a HubSpot lifecycle stage from Zendesk (Clientwell)