Automatiser Création Fiches Prestashop
Voici un guide condensé des principales étapes et commandes cURL à enchaîner pour créer un produit via l’API PrestaShop, y associer une image, puis mettre à jour son stock.
Une fois que vous avez validé le fonctionnement, vous pouvez lancer l’automatisation avec n8n ou make.
Récapitulatif
- Créer fabricant, fournisseur, catégorie (obtenir leurs IDs).
- Créer le produit en indiquant les IDs précédents.
- Récupérer l’id_stock_available du produit.
- Mettre à jour la quantité via stock_availables.
- Ajouter une image via l’endpoint images/products/{id_product}.
Après ces étapes, votre produit sera créé, visible, avec stock défini et une image ajoutée.
Prérequis
- Avoir une clé API avec droits complets.
- Connaître l’URL de l’API (ex. https://monshop.com/api/).
- La langue par défaut (ici id= »1″).
- Un fabricant, un fournisseur et une catégorie
Étapes
1. Créer un fabricant (Manufacturer)
curl -X POST "https://monshop.com/api/manufacturers" \
-H "Authorization: Basic VOTRE_CLE_API_BASE64" \
-H "Content-Type: application/xml" \
-d '<?xml version="1.0" encoding="UTF-8"?>
<prestashop>
<manufacturer>
<name><![CDATA[ACMEManufacturer]]></name>
</manufacturer>
</prestashop>'
Notez l’id_manufacturer retourné (ex. 3).
2. Créer un fournisseur (Supplier)
curl -X POST "https://monshop.com/api/suppliers" \
-H "Authorization: Basic VOTRE_CLE_API_BASE64" \
-H "Content-Type: application/xml" \
-d '<?xml version="1.0" encoding="UTF-8"?>
<prestashop>
<supplier>
<name><![CDATA[ACMESupplier]]></name>
</supplier>
</prestashop>'
Notez l’id_supplier (ex. 3).
3. Créer une catégorie
curl -X POST "https://monshop.com/api/categories" \
-H "Authorization: Basic VOTRE_CLE_API_BASE64" \
-H "Content-Type: application/xml" \
-d '<?xml version="1.0" encoding="UTF-8"?>
<prestashop>
<category>
<name><language id="1">Category demo</language></name>
<link_rewrite><language id="1">category-demo</language></link_rewrite>
<description><language id="1">my awesome category description</language></description>
<active>1</active>
<id_parent>1</id_parent>
</category>
</prestashop>'
Notez l’id_category (ex. 10).
4. Créer le produit
curl -X POST "https://monshop.com/api/products" \
-H "Authorization: Basic VOTRE_CLE_API_BASE64" \
-H "Content-Type: application/xml" \
-d '<?xml version="1.0" encoding="UTF-8"?>
<prestashop>
<product>
<id_manufacturer>3</id_manufacturer>
<id_supplier>3</id_supplier>
<id_category_default>10</id_category_default>
<id_tax_rules_group>1</id_tax_rules_group>
<reference>123456</reference>
<supplier_reference>ABCDEF</supplier_reference>
<ean13>1231231231231</ean13>
<price>29.99</price>
<active>1</active>
<meta_title><language id="1">My Title for SEO</language></meta_title>
<link_rewrite><language id="1">my-awesome-product</language></link_rewrite>
<name><language id="1">My awesome Product</language></name>
<description><language id="1">Description of my product</language></description>
<description_short><language id="1">Short description</language></description_short>
<associations>
<categories>
<category><id>10</id></category>
</categories>
</associations>
</product>
</prestashop>'
Notez l’id_product retourné (ex. 23).
5. Récupérer l’ID du stock_available
curl --globoff -X GET "https://monshop.com/api/stock_availables?filter[id_product]=23&display=full" \
-H "Authorization: Basic VOTRE_CLE_API_BASE64"
Notez l’id_stock_available (ex. 62).
6. Mettre à jour le stock
curl -X PATCH "https://monshop.com/api/stock_availables/62" \
-H "Authorization: Basic VOTRE_CLE_API_BASE64" \
-H "Content-Type: application/xml" \
-d '<?xml version="1.0" encoding="UTF-8"?>
<prestashop>
<stock_available>
<id>62</id>
<quantity>12</quantity>
</stock_available>
</prestashop>'
7. Ajouter une image au produit
Placez img.jpeg dans le répertoire courant, puis :
curl -X POST "https://monshop.com/api/images/products/23" \
-H "Authorization: Basic VOTRE_CLE_API_BASE64" \
-F "[email protected]"
Références
Testé sur prestashop 1.8