REST API Importation des données utilisateurs V1

Cette source est utilisée pour importer des utilisateurs 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 liste des tâches aura l'ID que vous devrez transmettre dans l'URL de la requête.

ID de la tâche
  • 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 utilisateurs, sélectionnez un ou plusieurs utilisateurs à importer et, si nécessaire, modifiez leurs clés JSON.
  • Pour créer de nouveaux utilisateurs ou modifier le rôle des utilisateurs existants, vous devez compléter le Mappage des rôles pour l'attribut Rôle. C'est ici que vous définissez la chaîne de caractères correspondant à la valeur de l'attribut Rôle dans JSON, ainsi que le rôle utilisateur dans Quant auquel elle est associée.
  • 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.


Paramètres
  • 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
Séparateur des éléments de liste

Caractère qui sépare les éléments d'une liste, par exemple pour les valeurs de l'attribut Magasins individuels.

sélection à partir d'éléments prédéfinis

Mappage des attributs des données utilisateurs

Mappage contenant une entrée pour le nom d'utilisateur, le rôle, l'adresse e-mail et d'autres attributs à importer.
type complexe


Mappage des rôles 
  • Requête

/v1/import/user-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 le manuel Introduction et connexion).

Method
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 données utilisateur. Chaque enregistrement JSON décrit un utilisateur unique.

II est important que la requête soit conforme aux standards du format JSON. Vous trouverez la définition complète de ces standards iciVeuillez 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.
  • SUCCESS = processus d'importation sans erreur
  • PARTIAL_SUCCESS = importation terminée mais un ou plusieurs avertissements ont été générés
  • FAILURE = une ou plusieurs erreurs se sont produites lors 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.

ID vides

Facultatif - inclus uniquement si l'importation ne s'est pas terminée avec le statut « FAILURE »

Nombre d'enregistrements avec un nom d'utilisateur vide.

Utilisateurs dupliqués

Facultatif - Inclus uniquement si l'importation ne s'est pas terminée avec le statut « FAILURE »

Nombre d'enregistrements avec un nom d'utilisateur qui figurait déjà dans les enregistrements.

Utilisateurs ignorés

Facultatif - inclus uniquement si l'importation ne s'est pas terminée avec le statut « FAILURE »

Nombre d'enregistrements ignorés pour les raisons suivantes :

  • le nom d'utilisateur contient des caractères interdits
  • le nom d'utilisateur est déjà utilisé par un autre client
  • l'utilisateur n'existe pas encore et le rôle n'est pas correctement renseigné
  • l'utilisateur n'existe pas encore et l'adresse e-mail est vide ou au format non valide


  • 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.

Journal d'exécution

En sélectionnant un enregistrement spécifique, vous pouvez afficher ses détails en cliquant sur le bouton Afficher les éléments.

Afficher les éléments


  • Requête

curl -X POST --location "http://[YOUR_COMPANY].iquant.eu/v1/import/user-data/206?debug" \
    -H "Authorization: Bearer ywJqq25pXO6oaCPqgEAiTioBVwM8Ih2kOwzzd3eWK3R2oDSA5n" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -H "Cache-Control: no-cache" \
-d "[\ 
  { \
    \"Username\": \"john.foo\", \
    \"Name\" : \"John Foo\", \
    \"Role\": \"catman\", \
    \"E-mail\": \"john@foo.com\", \
    \"All Stores\": true \
  }, \
  { \
    \"Username\": \"jack.woo\", \
    \"Name\" : \"Jack Woo\", \
    \"Role\": \"store manager\", \
    \"E-mail\": \"jack@woo.com\", \
    \"All Stores\": false \
    \"Individual Stores\": \"store1,store2,store3\"
  } \
]"

  • Réponse

{
  "Status": "SUCCESS", 
  "Total Lines": 2,
  "Empty IDs": 0,
  "Ignored Users": 0,
  "Duplicated Users": 0
}