REST API Importation de données produit spécifiques au magasin
Utilisez cette ressource pour mettre à jour les données produit spécifiques à chaque magasin. Le format utilisé actuellement est JSON, à la fois en entrée et en sortie.
Seul un utilisateur Quant ayant le rôle Robot et pour lequel l'importation a été activée dans les paramètres peut accéder à cette importation (voir l'attribut Importation de données spécifiques au magasin sur l'image 1). Dans le cas contraire, 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 | /storeSpecificProductDataImport/json |
Debug | Ajoutez à l'URL ?debug=true 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, dans lequel chaque objet JSON représente les attributs d'un produit dans un magasin. |
- Attributs
Les paramètres d'importation sont également 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 de l'importation avec les produits existants dans Quant. | 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 texte pour VRAI | Texte interprété comme « Oui » pour les attributs oui/non, sans tenir compte de la casse. Tous les autres sont traduits en « Non ». | texte |
Format de date | Format de date, par ex. 31.12.19 | sélection |
Supprimer le préfixe zéro de l'ID magasin | Si activé, les zéros en début d'ID du magasin sont supprimés. L'ID « 00123 » saisi est converti en « 123 » et le magasin dans Quant est recherché sur cette base. | oui/non |
Attributs spécifiques au magasin à effacer | Liste des attributs spécifiques au magasin à supprimer de tous les produits pour tous les magasins avant l'importation. | sélection |
Déclencher la détection de changement de prix | Active la détection de changement de prix si l'importation a apporté des modifications. | oui/non |
- Mappage des attributs produit
- Attribut de correspondance
Attribut | Description | Type |
Attribut produit spécifique au magasin | Attribut produit mis à jour avec cette valeur. | sélection |
Clé | Les textes clés sont au format JSON. | texte |
Remplacement de valeur | Liste de correspondance permettant de remplacer les valeurs textuelles de l'entrée par une autre valeur avant leur conversion en un type d'attribut spécifique. | type complexe |
L'ID produit et l'ID magasin doivent être correctement mappés. Sinon, l'importation échoue et le message d'erreur suivant s'affiche :
HTTP 409 {"token":<TOKEN>,"status":"Check Execution Log in Quant for details"}
La valeur d'ID produit doit correspondre à la valeur de l'attribut de correspondance.
La valeur d'ID magasin doit correspondre à l'attribut ID externe du magasin.
- Réponse
Paramètre | Valeur |
Body | {"token":"<TOKEN>","status":"<STATUS>,"Total Lines":<LINE_COUNT>,"Ignored Products":<IGNORED>, "Unknown Store IDs":<UNKNOWN>","Errors":[ERRORS],"Warnings":[WARNINGS]"} |
Atribut | 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 |
ID magasin inconnus | Nombre de lignes contenant un ID magasin inconnu dans Quant. | 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/storeSpecificProductDataImport/json?debug=true -d
"[{\"productId\":\"500001\",\"Store_ID\":\"1\",\"Sales Price\":\"1.23\"},{\"productId\":\"500001\",\"Store_ID\":\"2\",\"Sales Price\":\"2.34\"}]"
Cet exemple montre la mise à jour du prix d'un produit dans deux magasins après obtention préalable du TOKEN via l'authentification.
- Response
{"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 une importation réussie avec un avertissement. Les détails et les statistiques peuvent être consultés dans Quant.