REST API Importation des produits V1
Cette resource est utilisée pour l'importation de données produit dans Quant. Le format d'entrée et de sortie est JSON.
Utilisez la section Tâches automatiques pour créer et configurer une importation. Une fois créée, la tâche recevra un ID que vous utiliserez dans l'URL de la requête.
- Paramètres
Avant d'utiliser l'API, vous devez modifier les attributs suivants dans l'onglet Paramètres :
- Cochez l'attribut Activé pour autoriser la tâche.
- Dans Utilisateurs avec autorisation API, sélectionnez un ou plusieurs utilisateurs ayant le rôle Robot et pouvant exécuter la tâche.
- Dans Mappage des attributs de données produit, sélectionnez les attributs à importer et, si nécessaire, modifiez leurs clés JSON.
- Nous recommandons également de renseigner les E-mails pour les notifications, où vous pouvez saisir une ou plusieurs adresses e-mail auxquelles seront envoyés des e-mails relatifs aux statuts d’erreur.
- Attributs
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 |
Emails pour notifications | Une ou plusieurs adresses e-mail pour recevoir les erreurs éventuelles. | liste de chaînes |
Utilisateurs avec autorisation API | Utilisateurs avec le rôle Robot autorisés à exécuter la tâche. | liste des utilisateurs |
Unité de mesure | Unité comme cm, mm, etc. | sélection |
Format de date | Format de date, par ex. 31.12.19 | sélection |
Format date et heure | Format de date et heure, par ex. 19.12.31 23:59:59 | sélection |
Attribut de correspondance | Attribut produit utilisé pour faire correspondre les lignes avec Quant. | sélection |
Créer de nouveaux produits | Si activé, crée de nouveaux produits pour les ID inexistants. | 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 |
Ne pas écraser les dimensions non nulles | Si activé, les dimensions (par exemple, hauteur, largeur) ne sont importées que si la valeur de dimension existante est zéro. | oui/non |
Attributs produit à effacer | Liste des attributs à effacer de tous les produits avant l'importation. | liste des attributs |
Mappage des attributs des données produit | Mappage avec une entrée pour chaque attribut à importer. | type complexe |
- Requête
/v1/import/product-data/{task_id}
Paramètre | Valeur |
URL | 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 |
Le corps de la requête est un tableau d'objets JSON contenant les clés définies dans le paramètre Mappage des attributs des données produit.
II est important que la requête soit conforme aux standards du format JSON. Vous trouverez la définition complète de ces standards ici. Veuillez envoyer les valeurs des attributs numériques sans guillemets, voir l’exemple.
- Réponse
Clé | Valeur |
Status | Une chaîne indiquant l'état final de l'importation.
|
Warnings | Il est facultatif, c'est-à-dire qu'il n'est inclus que si le paramètre ?debug est présent dans l'URL et que l'importation a généré au moins un avertissement. Liste des chaînes d'avertissement. |
Errors | Facultatif - inclus uniquement si l'importation a généré au moins une erreur. Liste des chaînes d'avertissement. |
Total Lines | Facultatif - inclus uniquement si l'importation ne s'est pas terminée avec le statut FAILURE. Nombre d'enregistrements en entrée. |
Duplicated Products | Facultatif - inclus uniquement si l'importation ne s'est pas terminée avec le statut FAILURE. Nombre d'enregistrements ignorés car le produit existait déjà dans la même requête. |
Ignored Products | Facultatif - Inclus uniquement si l'importation ne s'est pas terminée avec le statut FAILURE. Nombre de produits d'entrée pour lesquels les données n'ont pas été importées. Les raisons possibles sont les suivantes :
|
- Codes de statut
Statut | Valeur |
200 OK | Importation réussie avec le statut « SUCCESS » ou « PARTIAL_SUCCESS ». La réponse peut contenir des avertissements ou des erreurs mineures. |
400 Bad Request | Paramètres de tâche ou requête incorrects. |
401 Unauthorized | Le jeton d'autorisation invalide ou l'utilisateur connecté avec ce jeton n'est pas autorisé à exécuter cette tâche. |
404 Not Found | Aucune tâche trouvée avec l'ID spécifié dans l'URL. |
500 Internal Server Error | Une erreur serveur critique s'est produite lors de l'importation. |
503 Service Unavailable | La tâche est déjà en cours d'exécution. Réessayez de lancer la tâche après un délai indiqué dans l'en-tête de réponse Retry-After. |
- Journal d'exécution
Dans Quant, en plus des paramètres des tâches, vous pouvez également consulter l'historique des importations individuelles, avec les statistiques, erreurs et avertissements.
Si vous sélectionnez un enregistrement spécifique, vous pouvez afficher ses détails en cliquant sur le bouton Afficher les éléments.
- Requête
curl -X POST --location "https://[YOUR_COMPANY].iquant.eu/v1/import/product-data/145?debug" \
-H "Authorization: Bearer ywJqq25pXO6oaCPqgEAiTioBVwM8Ih2kOwzzd3eWK3R2oDSA5n" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Cache-Control: no-cache" \
-d "[{ \"Primary Product ID\": \"100001\", \"Name\": \"Test Product\", \"EAN\": \"8762584623\", \"Width\": 120, \"Height\": 12, \"Depth\": 23}]"
- Réponse
{
"Status": "SUCCESS",
"Total Lines": 1,
"Duplicated Products": 0,
"Ignored Products": 0
}