GET /api/products
?display=[id,reference,price]
&output_format=JSON
200 OK
{
"id": 42,
"reference": "ABC-001"
}
Θέλεις μια εξωτερική εφαρμογή να διαβάζει προϊόντα από το PrestaShop χωρίς να της δώσεις database credentials;
Το native PrestaShop Webservice είναι το πρώτο εργαλείο που πρέπει να γνωρίζεις.
Σε αυτό το tutorial θα κάνουμε πραγματικό read-only request και θα πάρουμε Product ID, Reference/SKU και Price από το /api/products resource.
Τι θα φτιάξουμε
PRESTASHOP
↓
Webservice key
↓
/api/products
↓
HTTP GET
↓
Product data
↓
External application1. Δημιούργησε Webservice access
Από το PrestaShop Back Office ενεργοποίησε το Webservice και δημιούργησε access key.
Για το πρώτο test αρκεί read access στο products resource.
Back Office → Webservice configuration / access keys. Να μη φαίνεται πραγματικό production key.
Tip
Μην ενεργοποιείς όλα τα permissions. Ξεκίνα από το minimum access που χρειάζεται το integration.
2. Το API endpoint
https://shop.example/api/Για products:
https://shop.example/api/products3. Authentication
curl \
-u "YOUR_WEBSERVICE_KEY:" \
"https://shop.example/api/"Warning
Μην βάζεις production API keys σε documentation, repositories ή public screenshots.
4. Κάνε το πρώτο request
curl \
-u "YOUR_WEBSERVICE_KEY:" \
"https://shop.example/api/products"Postman request `GET https://shop.example/api/products` με επιτυχημένο response.
5. Ζήτησε μόνο τα fields που χρειάζεσαι
/api/products?display=[id,reference,price]curl \
-u "YOUR_WEBSERVICE_KEY:" \
"https://shop.example/api/products?display=[id,reference,price]"6. JSON output
/api/products?display=[id,reference,price]&output_format=JSONJSON response στο Postman με `id`, `reference` και `price`.
7. Filter by reference
/api/products?filter[reference]=[ABC-001]&display=[id,reference,price]EXTERNAL SKU
↓
Find PrestaShop product
↓
Get id_product
↓
Read / Update8. Pagination / limit
/api/products?display=[id,reference,price]&limit=0,100Επόμενο batch:
/api/products?display=[id,reference,price]&limit=100,1009. Products και stock δεν είναι το ίδιο resource
/api/stock_availablesPRODUCT
│
├── Product data
│
└── StockAvailable
↓
Stock10. Τι γίνεται με combinations;
/api/combinationsProducts
↓
Combinations
↓
Stock Available
↓
Unified dataset11. Πραγματικό integration scenario
| ID | SKU | Price | Stock |
|---|---|---|---|
| 21 | ABC-001 | 29.90 | 14 |
| 22 | ABC-002 | 18.50 | 0 |
PrestaShop
↓
Products API
↓
Stock Available API
↓
Transform / Join
↓
Google Apps Script
↓
Google Sheets12. Μην ξεκινήσεις από PUT
READ
↓
MAP
↓
VALIDATE
↓
TRANSFORM
↓
WRITE
↓
VERIFYTroubleshooting
401
Έλεγξε access key, Basic Auth, Webservice status και Authorization header forwarding.
403
Έλεγξε τα permissions του key.
Empty ή περιορισμένο response
Έλεγξε display, filter, limit και shop context.
Webservice key permissions με READ permission στο `products`.
Official references
- https://devdocs.prestashop-project.org/9/webservice/
- https://devdocs.prestashop-project.org/9/webservice/tutorials/testing-access/
- https://devdocs.prestashop-project.org/9/webservice/tutorials/testing-webservice-postman/
- https://devdocs.prestashop-project.org/9/webservice/tutorials/advanced-use/additional-list-parameters/
Τι να κάνεις μετά
Όταν το πρώτο request γίνει σταθερό, πρόσθεσε filters, sorting και pagination πριν μεγαλώσεις το extraction. Κράτησε τα writes ξεχωριστά μέχρι να έχεις ασφαλές workflow για product updates με read-before-write validation.