REST API Importation de propriétés personnalisées V1
Cette source est utilisée pour importer des propriétés personnalisées dans Quant. Le format d'entrée et de sortie est JSON.
Utilisez la section Tâches automatiques pour créer et configurer un import. Une fois créée, la liste de tâches contiendra l'ID que vous transmettrez 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 Actif pour activer la tâche.
- Dans la section Utilisateurs avec autorisation API, sélectionnez un ou plusieurs utilisateurs ayant le rôle Robot, qui auront l'autorisation d'exécuter la tâche.
- Sélectionnez l'entité pour laquelle la propriété optionnelle doit être créée dans l'attribut Propriété personnalisée à importer.
- Le Mappage des types de propriétés personnalisées permet de configurer le mappage des différents types de champs, tels que décimal, date ou texte sur une seule ligne.
- Dans le Mappage des attributs des propriétés personnalisées, sélectionnez les attributs à importer et modifiez si éventuellement leurs clés JSON.
- Nous recommandons également de renseigner le champ E-mails pour les notifications, dans lequel vous pouvez saisir une ou plusieurs adresses e-mail auxquelles les notifications d'erreur seront envoyées.
- Attributs
Attribut | Description | Type |
Actif | Indique si la tâche automatisée est active et si les données peuvent être envoyées via celle-ci. | oui/non |
Titre | Nom personnalisé de la tâche automatique. | texte |
Description | Description personnalisée de la fonction de la tâche automatique. | texte formaté |
Notes | Notes. | texte long |
E-mails pour les notifications | Une ou plusieurs adresses e-mail auxquelles seront envoyés les e-mails contenant des erreurs. | liste de chaînes de caractères |
Utilisateurs avec autorisations API | Utilisateurs ayant le rôle Robot et autorisés à exécuter la tâche. | liste d'utilisateurs |
Propriété personnalisée à importer | Définit l'entité pour laquelle la propriété personnalisée doit être créée. Il peut s'agir, par exemple, d'un produit. | sélection |
Mappage des types de propriétés personnalisées | Il s'agit d'un attribut du type de propriété personnalisée utilisé pour mapper différents types de propriétés personnalisées, tels qu'un nombre décimal, une date ou une ligne de texte. | type complexe |
Délai en secondes avant nouvelle tentative | Nombre de secondes que le client doit attendre avant de relancer l'importation en cas de longue file de requêtes vers le serveur. | nombre entier |
Mappage des attributs des propriétés personnalisées | Mappage contenant une entrée pour chaque attribut à importer. | type complexe |
Unité de mesure | Unités de mesure telles que cm, mm, etc. | sélection |
Format de date | Format de saisie de la date, par exemple 31.12.19 | sélection |
Format de la date et de l'heure | Format de saisie de la date et de l'heure, par exemple 19.12.31 23:59:59 | sélection |
Séparateur des éléments de liste | Séparateur utilisé pour les éléments d'une liste de valeurs. | caractère |
- Requête
Paramètre | Valeur |
URL | L'ajout de « ?debug » à l'URL permet également d'afficher les avertissements dans la réponse. Sans ce paramètre, seules les erreurs sont affichées. |
En-tête | Accept: application/json |
En-tête | Content-type: application/json |
En-tête | Authorization: Bearer <TOKEN> Le TOKEN est obtenu via /authenticate (voir Connexion). |
Méthode | POST |
Le contenu de la requête est un tableau d'objets JSON contenant les clés définies dans le paramètre Mappage des attributs de propriétés personnalisées.
Il est important que la requête respecte les standards JSON, définis par exemple ici. Veuillez envoyer les valeurs des attributs numériques sans guillemets, voir exemple.
- Réponse
Clé | Valeur |
Statut | Chaîne décrivant l'état final de l'importation.
|
Avertissements | Optionnel - inclus uniquement 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 messages d'avertissement. |
Erreurs | Optionnel - inclus uniquement si l'importation a généré au moins une erreur. Liste des messages d'erreur. |
Nombre total de lignes | Optionnel - inclus uniquement si l'importation ne s'est pas terminée avec le statut « ÉCHEC » Nombre d'enregistrements en entrée. |
Produits dupliqués | Optionnel - inclus uniquement si l'importation ne s'est pas terminée avec le statut « ÉCHEC » Nombre d'enregistrements ignorés parce que le produit avait déjà été importé dans la même requête. |
Produits ignorés | Par défaut, si l'importation ne trouve pas un produit actif avec l'ID spécifié, elle recherche ce produit dans la liste des produits supprimés. Si un produit supprimé est trouvé, il est restauré. L'activation de cette option signifie que les produits supprimés seront ignorés au lieu d'être restaurés. |
- 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 incorrects ou requête invalide. |
401 Unauthorized | Le jeton d'autorisation est invalide ou l'utilisateur connecté avec ce jeton n'est pas autorisé à exécuter cette tâche. |
404 Not Found | Aucune tâche correspondant à ID spécifié dans l'URL n'a été trouvée. |
500 Internal Server Error | Une erreur critique côté serveur s'est produite pendant 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 le nombre de secondes indiqué dans l'en-tête de réponse Retry-After. |
- Derniers journaux
Dans Quant, en plus des paramètres de la tâche, vous pouvez également consulter les journaux des différentes importations, y compris les statistiques, les erreurs et les avertissements.
Pour consulter les détails d'un enregistrement spécifique, il suffit de le sélectionner et de cliquer sur le bouton Télécharger les fichiers.
- Requête
curl -X POST --location "https://[YOUR_COMPANY].iquant.eu/v1/import/custom-properties/959977?debug" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "Cache-Control: no-cache" \
-d "[ {"id":"num1","name":"Number 1","type":"num", "store_specific":true, "group": "REST"},
{"id":"date1","name":"Date name 1","type":"Date", "store_specific":false, "group": "Date Group"},
{"id":"date2", "name": "Date name 2", "type":"Date"},
{"name":"Text name","type":"text", "store_specific":true, "group": "REST"}
]"
- Réponse
{
"Status": "SUCCESS",
"Total Lines": 4,
"Duplicated Products": 0,
"Ignored Products": 0