- API
- De PrestaShop-webservice: REST over HTTPS op /api/ van je eigen shop. Antwoorden komen als XML of JSON, maar schrijven (POST, PUT, PATCH) gaat alleen in XML.
- Aanzetten
- De webservice staat standaard uit. De winkelier zet hem aan in de back office, en hij werkt alleen als URL-herschrijving aan staat. Staat hij uit, dan geeft elke aanroep HTTP 503.
- Authenticatie
- Eén sleutel van 32 tekens per koppeling, als gebruikersnaam in HTTP Basic met een leeg wachtwoord. PrestaShop raadt de Authorization-header aan; de sleutel in de URL noemt het zeer riskant.
- Rechten
- Per sleutel stel je per resource in welke methoden mogen: GET, POST, PUT, PATCH, DELETE en HEAD. Met multistore koppel je een sleutel ook aan bepaalde winkels.
- Webhooks
- PrestaShop heeft geen uitgaande webhooks. Voor een directe melding bouw ik een kleine module op hooks als actionValidateOrder, actionPaymentConfirmation, actionOrderStatusPostUpdate, actionOrderSlipAdd en actionAdminOrdersTrackingNumberUpdate. Sinds 9.0.1 zijn er ook hooks voor verzonden en bezorgd.
- Ophalen
- Zonder module haal ik wijzigingen op met een datumfilter (date=1 en filter[date_upd]), en altijd met limit: zonder limit komen alle rijen in één keer. Sinds 8.0 stuur je de vorige Content-Sha1 mee en krijg je 304 terug als er niets veranderd is.
- Limieten
- PrestaShop documenteert geen limiet op het aantal verzoeken; de grens is de hosting van je shop. Ik verdeel de verzoeken zo dat je winkel er zelf geen last van heeft.
- Orders aanmaken
- Een order ontstaat uit een winkelwagen: POST op orders voert de betaalmodule uit op een bestaande cart. Klant, adres en winkelwagen maak je dus eerst aan, en de orderregels zijn daarna alleen te lezen.
- Meerdere vervoerders
- Een winkelwagen met producten bij verschillende vervoerders wordt meerdere orders met dezelfde referentie. Een koppeling groepeert daarom op referentie, niet op ordernummer.
- Versies
- Shops draaien op 1.7, 8 of 9. Elk antwoord bevat de header PSWS-Version met de exacte versie. PATCH bestaat pas sinds 8.0; op 1.7 vraagt elke wijziging het hele document.
- Admin API
- PrestaShop 9 heeft daarnaast een nieuwe Admin API met OAuth2 (client credentials), JWT-tokens van standaard een uur en scopes per token. Hij staat standaard aan en vraagt HTTPS met TLS 1.2 of hoger.
- Admin API: dekking
- Ook in 9.2 heeft de Admin API geen endpoints voor orders, betalingen of voorraad. In maart 2026 telde PrestaShop 140 van de 473 geplande endpoints. Orders en voorraad lopen dus via de webservice, die geen einddatum heeft.
- Geplande taken
- De cronservice van PrestaShop is in december 2025 gestopt. Een geplande synchronisatie draait daarom op een eigen cron op de server.
- Beveiliging
- De sleutel is de enige toegang: geen wachtwoord, geen tweede factor, en PrestaShop zelf kent geen IP-beperking per sleutel. De sleutel staat leesbaar in de database van de shop.
- Testen
- PrestaShop publiceert officiële Docker-images per versie, met demoproducten. Ik test tegen dezelfde versie als je shop, zonder je live winkel te raken.