REST API Exportation des produits placés V1

Cette source est utilisée pour exporter les produits placés dans les planogrammes dans Quant. Le format d'entrée et de sortie est JSON.

Utilisez la section Tâches automatiques pour créer et configurer une exportation. Une fois créée, la liste des tâches comportera l'ID que vous devrez utiliser 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 des produits placés, sélectionnez les attributs à exporter et modifiez éventuellement 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

Mappage des attributs des produits placés

Mappage contenant une entrée pour chaque attribut du produit placé à exporter.
type complexe
Magasins
Filtre qui détermine les magasins inclus dans l'exportation.
type complexe

Niveau de cumulation

Sélection de cumulation par niveau Bloc / Étagère / Aménagement / Magasin / Statut.
sélection

Produits placés

Les produits placés dans les planogrammes seront inclus dans l'export.
oui/non
Produits non placés


L'exportation inclura les produits placés dans le modèle de planogramme, mais ne figurant pas dans le planogramme (barrés dans le modèle).
oui/non
Produits de réserve non placés
L'exportation inclura les produits non placés qui sont également paramétrés dans un bloc de stockage temporaire.
oui/non
Type d'espace
Sélectionnez les données spatiales souhaitées, telles que m, m2 ou m3.
sélection

Niveau de la catégorie normalisée

Niveau de hiérarchie des catégories à afficher dans l'export.
numéro
  • Requête

/v1/export/placed-products/{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 (optional)
Accept-Encoding: gzip, deflate, br
Header

Authorization: Bearer  <TOKEN>

Le TOKEN s'obtient via /authenticate (voir la section Connexion).

Method
POST

Le contenu de la requête est un objet JSON contenant les clés suivantes :

Clé
Valeur
PlanogramStates

Chaîne ou tableau de chaînes indiquant les états des planogrammes à exporter. Valeurs possibles : PRÉPARÉ / EN ATTENTE / MIS EN ŒUVRE

Exemples:

{ "PlanogramStates": "PREPARED" }
{ "PlanogramStates": [ "PREPARED", "WAITING" ] }
StoreIds
Champ optionnel spécifiant les ID des magasins qui seront traités par l'exportation. L'ID du magasin doit toujours être spécifié sous forme de chaîne, même  pour un seul magasin. Si vide, tous les magasins définis dans les paramètres de la tâche automatique seront exportés. Par exemple, si un magasin avec l'ID « 12 » n'est pas inclus dans les paramètres de la tâche automatique et qu'une requête est envoyée pour ce magasin, la valeur vide sera exportée.
Exemples:
{ "StoreIds":  [ "12" ] }
{ "StoreIds": [ "12", "135", "209" ] }
  • Réponse
Clé
Valeur
Status
Une chaîne indiquant l'état final de l'exportation.
  • SUCCESS = processus d'exportation sans erreur
  • PARTIAL_SUCCESS = exportation terminée mais un ou plusieurs avertissements ont été générés
  • FAILURE = une ou plusieurs erreurs se sont produites lors de l'exportation
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'exportation a généré au moins un avertissement.

Liste des chaînes d'avertissement.  

Errors
Facultatif - inclus uniquement si l'exportation a généré au moins une erreur.

Liste des chaînes d'avertissement.
Records

Optionnel - inclus si l'exportation ne s'est pas terminée avec le statut « FAILURE ».

Liste d'objets exportés avec la clé de correspondance définie dans les paramètres de la tâche.

  • Codes de statut
Statut
Valeur
200 OK
Exportation 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'exportation.

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 exportations individuelles, avec les statistiques, erreurs et avertissements.

Journal d'exécution

Si vous sélectionnez 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://localhost:4150/v1/export/placed-products/10?debug" \
    -H "Authorization: Bearer ywJqq25pXO6oaCPqgEAiTioBVwM8Ih2kOwzzd3eWK3R2oDSA5n" \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -H "Cache-Control: no-cache" \
    -d "{ \"PlanogramStates\": [\"PREPARED\", \"WAITING\"] , \"StoreIds\": [ \"12\" ] }"

  • Réponse

{
  "Status": "SUCCESS", "Records": [
  {"Planogram ID": "166882", "Primary Product ID": "100001", "Fixture ID": "1231"},
  {"Planogram ID": "166850", "Primary Product ID": "100005", "Fixture ID": "1232"},
  ... ]
}