REST API Importation des produits
Utilisez cette ressource pour mettre à jour la base de données des produits dans Quant. Le format d'entrée et de sortie est actuellement le JSON.
L'importation n'est accessible qu'à un utilisateur Quant ayant le rôle Robot et disposant de cette importation activée dans les paramètres. Sinon, l'importation ne sera pas effectuée et l'attribut status de la réponse contiendra un message d'erreur :
HTTP 401 {"token":<TOKEN>,"status":"User is not authorized for this Resource."}
- Requête
Paramètre | Valeur |
URL | /productDataImport/json |
Debug | Ajoutez ?debug à l'URL pour afficher aussi les avertissements. Sinon, seules les messages d'erreurs sont affichés. |
Header | Accept: application/json |
Header | Content-type: application/json |
Header | Authorization: Bearer <TOKEN> Le TOKEN s'obtient via /authenticate (voir la section Connexion). |
Méthode | POST |
Payload | [{id1:value1, id2:value2}, {id1:value3, id2:value4}] Un tableau d'objets JSON, chacun décrivant un produit dans Quant. |
- Attributs
Les paramètres d'importation sont aussi définis dans l'utilisateur (voir Figure 1).
Attribut | Description | Type |
Activé | Spécifie si la tâche automatique est active et peut recevoir des données. | oui/non |
Titre | Nom personnalisé de la tâche automatique. | texte |
Description | Description personnalisée du rôle de la tâche automatique. | texte formaté |
Remarques | Notes. | texte long |
Attribut de correspondance | Attribut produit dans Quant utilisé pour faire correspondre les éléments importés aux produits dans Quant. L'attribut sélectionné ici doit avoir une correspondance dans le Mappage des attributs produit, sinon l'importation échoue et renvoie une erreur : HTTP 200 {"token":"<TOKEN>","status":"FAILURE","Errors":["Mapping not found for required attribute: Primary Product ID]} | selection |
Créer de nouveaux produits | Si activé, crée de nouveaux produits pour les ID inexistants. Cette option est active uniquement si l'ID produit primaire est sélectionné dans l'attribut de correspondance. | oui/non |
Définir les nouveaux produits pour planogrammes | Si activé, les nouveaux produits sont utilisés pour créer des planogrammes. Cette option est active uniquement si l'option Créer de nouveaux produits est activée. | oui/non |
Ignorer les produits supprimés | Par défaut, lorsque l'importation ne trouve pas de produit actif pour un ID donné, la recherche s'effectue parmi les produits supprimés. Si un produit supprimé est trouvé, il est réactivé. L'activation de cette option permet d'ignorer les produits supprimés au lieu de les réactiver. | oui/non |
Mappage des attributs produit | Un mappage contenant une entrée pour chaque attribut à importer. Cet élément définit la manière dont les valeurs de l'entrée sont interprétées (voir illustration ci-dessous). Pour plus de détails, consultez Mappage des attributs. | type complexe |
Unité de mesure | Unité comme cm, mm, etc. | sélection |
Séparateur décimal | Caractère utilisé pour séparer les entiers des décimales. Si la virgule est sélectionnée, les valeurs numériques doivent également être placées entre guillemets, car la virgule sépare les attributs dans JSON. | symbole |
Valeur chaîne pour VRAI | Texte qui sera considéré (quelle que soit la casse) comme « Oui » pour les attributs oui/non. Toutes les autres valeurs sont traduites par « Non ». | texte |
Format de date | Format de date, par ex. 31.12.19 | sélection |
- Mappage des attributs produits
- Mappage des attributs
Attribut | Description | Type |
Attribut Produit | Attribut mis à jour avec cette valeur. | sélection |
Clé | Textes de clés au format JSON. | texte |
Nécessite approbation | Les modifications sont immédiatement appliquées aux produits ou uniquement enregistrées dans l'onglet « Modifications en attente d'approbation » dans la section Produits de Quant, où elles peuvent ensuite être approuvées ou rejetées. | oui/non |
Remplacement de valeur | Définit une liste de mappage dans laquelle la valeur textuelle de l'entrée est remplacée par une autre valeur avant la conversion vers un type d'attribut spécifique. | type complexe |
- Réponse
Paramètre | Valeur |
Corps | {"token":<TOKEN>,"status":"<STATUS>,"Total Lines":<LINE_COUNT>,"Ignored Products":<IGNORED>, "Duplicated Products":<DUPLICATED>,"Errors":[ERRORS], "Warnings":[WARNINGS]"} |
Attribut | Description | Type |
Token | Jeton d'authentification de l'utilisateur. | texte |
Status | SUCCES si tout a été importé correctement, PARTIAL_SUCCESS si l'importation a réussi, mais que certains enregistrements n'ont pas été importés, et FAILURE si une erreur inattendue a interrompu prématurément l'importation. | texte |
Total Lines | Nombre d'enregistrements d'entrée. | numéro |
Ignored Products | Nombre d'enregistrements non importés pour les raisons suivantes :
| numéro |
Duplicated Products | Nombre d'enregistrements contenant la valeur « Attribut correspondant » qui apparaissait précédemment dans les enregistrements. Ces enregistrements sont ignorés afin d'éviter que les modifications ne soient écrasées. | numéro |
Errors | Tableau d'objets JSON décrivant les erreurs. | Tableau JSON |
Warnings | Tableau d'objets JSON décrivant l'avertissement (uniquement si la requête contenait le paramètre debug = true). | Tableau JSON |
- Journal d'exécution
Dans Quant, en plus des paramètres d'importation sur le robot, vous pouvez consulter l'historique des importations individuelles, avec les statistiques, erreurs, avertissements et informations générales.
Si vous sélectionnez un enregistrement spécifique, vous pouvez afficher ses détails en cliquant sur le bouton Afficher les éléments. Après avoir marqué les éléments sélectionnés, cliquez sur Télécharger les fichiers. Ces fichiers contiennent les données d'entrée pour l'importation donnée.
- Requête
curl -H "accept: application/json" -H "content-type: application/json" -H "Authorization: Bearer i37YKbgCnJSXe2nvIrHA1fE8bLIE4RqROu4l1A- OTzHZXSmZ3CX"
https://[YOUR_COMPANY].iquant.eu/productDataImport/json?debug=true -d
"[{\"productId\":\"500001\",\"Store_ID\":\"1\",\"Sales Price\":\"1.23\"},{\"productId\":\"500001\",\"Store_ID\":\"2\",\"Sales Price\":\"2.34\"}]"
Cet exemple illustre la mise à jour du prix d'un produit dans deux magasins après avoir obtenu le TOKEN en se connectant.
- Réponse
{"token":"i37YKbgCnJSXe2nvIrHA1fE8bLIE4RqROu4l1AOTzHZXSmZ3CX","status":"SUCCESS","Total Lines":2,"Ignored Products":0, "Unknwon Store IDs":0,"Warnings":["There is a mapping with empty REST Element for attribute: Club Price"]}
Cette réponse indique que l'importation a été effectuée avec succès, avec un avertissement. Vous trouverez les détails et les statistiques dans Quant.