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

  1. Turn the Webservice on. In the back office, go to Advanced Parameters > Webservice, set Enable PrestaShop's webservice to Yes and save.
  2. Add a key. Click Add new webservice key, then Generate!. Description: "Caddywell for Zendesk". Status: Yes.
  3. Tick the permissions in the table below. Leave out the actions you don't want agents to take.
  4. Multistore only: under Shop association, tick every shop. Caddywell reads every shop's orders with this one key.
  5. Save and copy the key.
  6. Paste it into Zendesk. In Admin Center > Apps and integrations > Zendesk Support apps > Caddywell, fill in Store domain (lowercase, like shop.example.com, no https://, no path, no port), Base path only for a sub-folder install like /shop (never add /api), and Webservice key.
  7. Test it. Open a ticket from someone who has ordered. Their orders appear in the sidebar.

Which permissions to tick

What agents getResourcePermission
Customers and guest checkouts by emailcustomersView (GET)
Orders, items and totalsorders, order_detailsView (GET)
Status names and historyorder_states, order_historiesView (GET)
Change an order statusorder_historiesAdd (POST)
Carriers and tracking linkscarriers, order_carriersView (GET)
Add or fix a tracking numberorder_carriersModify (PUT)
Delivery addressaddresses, countriesView (GET)
Paymentsorder_paymentsView (GET)
Credit slips, lifetime value net of refundsorder_slipView (GET)
Read order messagescustomer_threads, customer_messagesView (GET)
Add order messagescustomer_threads, customer_messagesAdd (POST)
Currency and shop namescurrencies, shopsView (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 at https://your-domain/api/ (or https://your-domain/your-folder/api/). That needs PrestaShop's .htaccess rules 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 saysWhat to do
Did not accept the Webservice keyCheck the key in Caddywell matches the one in Advanced Parameters > Webservice and that its status is Yes
The Webservice key may not do thisTick the permission the message names
The Webservice is turned offSet Enable PrestaShop's webservice to Yes
Not enabled for this shopTick every shop under the key's Shop association
The Webservice was not foundCheck the domain and base path, and that /api is rewritten
A firewall or CDN blocked Zendesk, or answered with a web pageAllow 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


More Zendesk guides